[FFmpeg-devel] VQA v3 GSoC questions, need help

The Deep Explorer thedeepexplorer
Mon Mar 30 08:56:13 CEST 2009

Thanks Mike a bunch for all the inputs.

Please bear with me for I have some more questions :

Regarding the frequency of the codebooks being replaced.
The HC-VQA.TXT states the following :
"There's a major difference between the old (8 bit, 256 color) and the new,
 HiColor VQAs. Lookup tables are no longer split up into several CBP?
 chunks, instead they come in one piece (a CBFZ chunk). Two lookup tables
 can now be many frames apart, not just 8 (as usual). This is indicated
 by the CBParts entry of the header (see VQA_INFO.TXT), which is set to 0.
 Subsequent frames use the last lookup table loaded, of course."

So it means keep using the same codebook for all frames till another
CBFZ block comes
and then we create a new codebook which will be used by subsequent frames ?

> A VPTR chunk has a table of codebook indicies. A VPRZ chunk contains the
> same data as a VPTR chunk, only it's compressed. You will not see 'VPTR'
> inside the data after decompressing a VPRZ chunk. You will just see a
> vector map.

So a VPRZ chunk should be decompressed like the following :

decode_format80(&s->buf[vprz_chunk], chunk_size,
        s->decode_buffer, s->decode_buffer_size, 1);

and that the decoded buffer should be good to be used for rendering ?

Also, specifically for version 3, what is the rendering algorithm or
the vector index mechanism
specifically for v3 vqas. I did not find it , in the docs. Please give
me some pointers.

I am just trying to learn, pardon me if these are too naive a question.
Look forward to all the replies.


More information about the ffmpeg-devel mailing list