[FFmpeg-devel] Question about PAFF decoding
Thu May 31 19:57:30 CEST 2007
On Thu, 31 May 2007, Thorsten Jordan wrote:
> with PAFF material a frame seems to be coded in two seperate fields,
> each with his own NAL start code (00 00 00 01 09 xx). I have seen two
> consecutive fields of one frame, first with xx=10, second xx=30, so
> first field has only I slices, the second P-slices. Other streams have
> 2x the 10 code. Bizarre...
> Would PAFF decoding work like decoding two consecutive frames with half
Yes. And like two consecutive frames, the 2nd can be inter predicted from
the first. But that prediction doesn't work very well since it's
interpolating between aliased samples, so some encoders don't bother and
make both fields intra.
> Michael said several times that PAFF is hard to implement and that he
> feels sorry for the person who would try to implement it (or similar
> Can you give me some examples what especially are the problems there?
Buffer management. The spec spends a bunch of space discussing
"complementary field pairs", which I never read because I'm not
implementing PAFF, but I assume it would take a while to decipher what
you're actually supposed to do with them and more time to implement it.
Motion vector scaling for B-direct. The scaling part itself is the same as
for MBAFF (which isn't finished either), but if you treat two PAFF fields
as separate frames then you've changed the macroblock numbering so the
MBAFF code won't work.
More information about the ffmpeg-devel