[MPlayer-dev-eng] Preferred Output Format?

Arpi arpi at thot.banki.hu
Mon Dec 3 21:44:35 CET 2001


Hi,

> 	Just for my reference, in case I decide to go off and implement
> more open source video decoders, what output formats are best to aim for?
> If at all possible, should I go for planar YUV, such as YV12? Then packed
> YUV, if planar isn't possible (though it should be possible to rearrange
> packed to planar without too much effort)? How about YUV9? Should that be
> broken down into YV12 before being handed off to vo(2), or will vo(2) take
> care of that if needed?

It depends on teh codec's internal format.
libvo1 was designed to support at least yv12, rgb15 and rgb24. it usually
supports rgb 16 and rgb 32 too, and yuv drivers support yuy2/uyvy.

for rgb codecs (like cvid, fli) rgb24/32 and rgb15/16 should be supported.
for yuv 4:2:0 codecs yv12 and iyuv==i420 should be supported.
for yuv 4:2:2 codecs yuy2 and uyvy.

libvo2 will have *->* conversion, but it's always better to avoid
conversion, and decompress directly to the hardware format.

i see no sense of rgb<->yuv stuff inside the codecs.


> 	The rule I've gathered regarding RGB is that if the source video
> data isn't in YUV format, only then should the decoder output to an RGB
> format, correct? And if that's the case, the decoder should make a
> concerted effort to support RGB in 8-, 15-, 16-, 24-, and 32-bit formats?
if i understand you well :), then yes.
rgb codecs should soppurt 15/16/24/32 bpp, yuv codecs should support various
yuv formats. note, that _all_ libvo drivers accept yv12, and most of them
also rgb15 and rgb24. other formats are optional and not supporetd by all.

btw, i would see fli and cram decoders fixed before adding more broken
decoders to cvs...


A'rpi / Astral & ESP-team

--
mailto:arpi at thot.banki.hu
http://esp-team.scene.hu



More information about the MPlayer-dev-eng mailing list