Hello,

the video decoders deliver the decoded pictures mostly in YUV 4:2:0
planar format as we all know. Depending on the interlaced state of the
picture the UV data must be associated differently to the Y-lines:

progressive:
Y0 UV0
Y1 UV0
Y2 UV1
Y3 UV1

interlaced:
Y0 UV0
Y1 UV1
Y2 UV0
Y3 UV1

But how is this when giving data to the encoder, especially for h264?
If the data is interlaced, we need to tell the encoder, is it sufficient
to set the flags CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME
and to set AVFrame.interlaced_frame to 1?

What about h264, that choses MBAFF on its own, which format must the YUV
data have for that codec, always progressive or always interlaced? What
happens on MBAFF/PAFF?
Can some of the h264 experts give me a hint here please? thanks

libx264.c doesn't use the INTERLACED flags mentioned above, so i can't
tell the encoder what to use...

This is also important for the upcoming libavfilter, it needs to handle
the two different ways of storing UV and/or it needs a converter.

Any comments regarding this matter?

-- 
Regards, Thorsten
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to