[MPlayer-dev-eng] New Codec Interface

Togni Roberto rtogni at bresciaonline.it
Tue Feb 26 23:27:11 CET 2002


Hi all.

I just looked at the document about libmpcodec structure, and it looks 
good.

The only thing I miss is a generic pointer in sh_video to let a demuxer 
pass some special info to a decoder. Some formats store values in movie 
header (as an example, QT mjpa uses fiel, mjht and mjqt to keep field 
ordering info and some optional tables), and it would provide a 
standard way to pass them to the decoder. Now we have a void *context 
pointer, but it's used by the decoders to store malloc'ed internal data 
(examples are fli or cinepack).

I have a question about direct rendering (see A'rpi mail in DECODING 
AHEAD thread): if a decoder uses method 2 (copy to video mem after each 
macroblock/stride) it has to take care of color conversion: will 
mplayer provide a library to do it, at least for most commonly used 
block sizes (4x4, 8x8, 16x16)? We have rgb2rgb, but it works on a 
linear buffer, not on blocks.
Also why do you suggest method 1 for write only partial update decoders 
(fli, ...). It seems to me that method 2 is best suited. Or am I 
missing the point completely? Obviously buffer type would be static w/o.

By the way,are you going to implement direct rendering at the same time 
as libmpcodec or it will be a future step?

Are we going to include some generic code to perform colorspace 
selection using codecs.conf values if a decoder doesn't have a reason 
to force it?

Ciao,
  Roberto



More information about the MPlayer-dev-eng mailing list