[FFmpeg-devel] VQA v3
The Deep Explorer
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
Thanks , this is very helpful. I will get back to work and focus only
on the v3 decoder.
More information about the ffmpeg-devel