[FFmpeg-devel] Adding AMD OpenVideo Decode acceleration

Leith Bade leith
Fri Jan 7 14:26:24 CET 2011


I am new to FFmpeg.

I would like to use FFmpeg to drive AMD's new OpenVideo Decode API (which
interops with OpenCL and OpenGL) with H264.

I have been learning the API, but the documentation is very poor (lots of
typos, mistakes, vague or missing descriptions).

As far as I can tell the API's structures are very similar to DXVA, but
simplified a bit. (I have used DXVA docs to fill in the gaps in the OVD

I tried decoding only I-frames by using h264bistream library, but I am not
very familiar with H264 and the spec is incredibly complex and hard to

I have not managed to get anything out of OVD except zero filled NV12
buffers :-( (despite the API returning success code for the decode call).

I read that FFmpeg has DXVA support now, and the H264 parser works

How much effort would it be to add a custom hardware acceleration module for
H264? I want it to interop with my OpenCL context, and output to a OpenCL
memory buffer rather than a CPU memory buffer (like the default API does).

What files should I look at?

I hope to be one of the first people to get OVD working, and I would be
happy to contribute the module back to FFmpeg.

Just imagine what VLC could do with native OpenCL/OpenGL filters and
effects! (One application would be to port those extreme CPU intensive
deinterlacing algos VLC has to OpenCL to lessen CPU load...)

Leith Bade
leith at leithalweapon.geek.nz

More information about the ffmpeg-devel mailing list