[FFmpeg-devel] hardware aided video decoding

Attila Kinali attila
Sun Jul 8 12:40:31 CEST 2007

On Fri, 6 Jul 2007 16:00:58 +0200
Michael Niedermayer <michaelni at gmx.at> wrote:

> you can do MC on the card and let the cpu do the idct, note there are 2
> cases here
> 1. intra (fits in 8bit)      (simply overwrite whats in the buffer)
> 2. inter (needs signed 16bit)(add to current data and clip)

Do you mean here the vectors? Then i'm not too much worried
about the amount of data. Even with 4x4 blocks it will be still
only 1/6th of the video data assuming 16bit vectors and 1/12th
assuming 8bit vectors. Ofcourse, this is not neglectable in
terms of needed bandwidth, but as this is just a transfere
into one direction after which the image will be shown on the
sceen and does not have to be read back to the host memory.
> this would double the amount of data you have to transfer to the card
> though 99.9% of the inter blocks of a normal video should fit in signed 8bit
> so its likely worth to let the cpu check for that and pack the data to 8bit
> if it fits

Yes, this sounds like a good idea, but the card has to support even
the 0.1% case where it needs 16bit. What might be an idea though
is to use an VLC and implement a special "VLC-DMA" in hardware
that automaticaly expands all values to 16bit (uniform data is
a lot easier to handle in hardware). But i have to first see
how all this data is stored in the bitstream, before i can
say anything.

> > > yes, put a CPU and DSP on the card that should do too :)
> > > and dont forget adding special instructions for CABAC and MC
> > 
> > Yes, it should do but 1) it's very expensive and 2) uses a lot
> > of power.
> it also could be used for other things -> would simlify the hw
> and expensive, cant you implement a CPU on the FPGA :)

We can. But an FPGA is very inefficient as a CPU. Though
we will have a few structures that are or will resamble
simple (but specialized) CPUs.

The goal of this thread is for me to find out how the most
efficient (in terms of real estate, money and power consumption)
solution would look like.

			Attila Kinali

Linux ist... wenn man einfache Dinge auch mit einer kryptischen
post-fix Sprache loesen kann
                        -- Daniel Hottinger

More information about the ffmpeg-devel mailing list