[FFmpeg-devel] VQA v3

The Deep Explorer thedeepexplorer
Wed Mar 25 18:42:27 CET 2009

> What you figured out of the FFmpeg internals is correct. But note that we
> select "FFmpeg Small Tasks" that a student can accomplish without having to
> know every corner of FFmpeg source.

My fault , I try to get the details as much as possible , gives me a handle.

Since libavcodec is very modular, you
> can improve (or write from the scratch) a decoder without knowing much about
> ffmpeg internals.


What is important for you to know:
> 1- the wsvqa demuxer split VQA video frames out of the vqa file
> 2- demuxers can pass data that is not frame-specific (flags in the header,
> palette, etc usually stuff read from the header) to the decoder through the
> extradata pointer
> 3- each one of the frames are passed by ffmpeg to the VQA Video decoder by
> calling the decode_frame() method of the decoder.
> 4- ffmpeg calls decode_init() before sending any frames to the decoder
> 5- all ffmpeg needs from decode_frame() is that it fills the "void *data"
> field with the decoded frame and data_size with its size in bytes (that
> decoded frame will be by ffmpeg to the mpeg encoder, for example).
> So all you really need to know that vqa_decode_frame() is called for every
> frame with the encoded frame in *buf and it fills *data with the decoded
> frame.
> -Vitor

Thanks , this is very helpful. I will get back to work and focus only
on the v3 decoder.


More information about the ffmpeg-devel mailing list