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.

Attachment: mocomp.gz
Description: GNU Zip compressed data

Reply via email to