bitstream (no accel)
IQ (no accel)
IDCT (no accel)
MC (no accel)
deblock (no accel)
colour space conversion (accel)
I'm probably waaaay off. :P
Bingo. Sorry I didn't make that clear -- everything from the entry point down is accelerated.
You pretty much have to do it that way -- accelerating part of the stack, then doing some in CPU, then accelerating some more is usually slower than doing everything in CPU to a certain point then doing the rest on the GPU, since pulling partially processed frames back to system memory is slow and having the CPU work in video memory is slow too.
Hooray for fanless average performance video cards! I've got a 2600 XT fanless and it's great. I can play almost anything released before 2008 with max details, which is fine cause I can never keep up with the current-year game releases anyway.
I'd really like to see a comparison benchmark between this and the 2600 XT but I'll take what you have :)
Yeah, Xv is pretty widely supported so most decoders will use it for output -- and that gets you acceleration for the final steps in the playback stack.
The upper parts of the stack handle "decoding" - going from a compressed bitstream to an uncompressed YCbCr image in whatever resolution the video was recorded, and the lower parts of the stack handle "rendering" -- getting that YCbCR image on the screen in RGB and the size you want to view it.
The bitstream format is different for every video format, but they all decompress to YCbCR and that's what gets passed to Xv (so yeah, Xv works for H.264, MPEG4 part 2, VC-1 etc..). The Xv acceleration handles conversion from YCrCb to RGB and scaling from "video" resolution to "window" resolution, plus some filtering.
I think some decoders perform de-interlacing further up the stack but others let Xv do it, still learning that part.
Thanks a lot for all you sharp and fast answers Bridgman.