In the 8th draft of the XvMC spec, IQ level acceleration has been dropped. There is only mocomp and IDCT level acceleration. Previously the "IDCT" level included the IQ step. The IQ stage has been removed for the following reasons:
1) There is no time to ensure that the interface is reasonable before
4.2.0. Matthew Sottek and I have found that lots of issues come
up when you actually try to do the implementation, and then more
come up when you actually try to use it. We don't want to release
a broken interface as XvMC 1.0.
2) It's not clear what hardware outside of NVIDIA NV17 can support
acceleration at that level. IDCT hardware drivers would have to
emulate that step. I initially thought that wasn't going to be a
big deal until I looked into the details. IQ is done differently
between MPEG 1 and 2 meaning you'd have to add more options to
the interface or export separate context types for each. It's
not clear whether or not the client can make MPEG 1 work with
MPEG 2 mismatch control.
3) Microsoft's DXVA doesn't do it. They do mocomp, IDCT and VLD level
so anyone porting a driver from DXVA would have a bit more work to
do. I don't know all of the reasons why Microsoft didn't include
acceleration at this level, but we have our own reasons.
4) It was a significant portion of the API for that one step. Removing
it removes 6 function prototypes, simplifying the API.
Mark.
mocomp.gz
Description: GNU Zip compressed data
