[FFmpeg-devel] Question about PAFF decoding

Loren Merritt lorenm
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
> height?

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
> statement).
> Can you give me some examples what especially are the problems there?

Reference lists.

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.

--Loren Merritt

More information about the ffmpeg-devel mailing list