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