[FFmpeg-devel] [PATCH 1 of 3] movenc: enable writing of interlace information back to the 'fiel' atom. (2nd Version)

Tomas Härdin tomas.hardin at codemill.se
Fri Oct 26 16:29:47 CEST 2012

On Fri, 2012-10-26 at 13:52 +0100, Tim Nicholson wrote:
> On 26/10/12 12:34, Tomas Härdin wrote:
> >> +    /* If field_order has set by the coder to indicate interlace coding
> >> +     * update value to reflect current coded top_field_first status */
> >> +    if ((track->enc->coded_frame) && (track->enc->field_order > AV_FIELD_PROGRESSIVE))
> > 
> > Useless parentheses
> Oops, forgot to clean them out when I changed the test.
> > 
> >> +            track->enc->field_order = track->enc->coded_frame->top_field_first ? AV_FIELD_TB:AV_FIELD_BT;
> > 
> > Shouldn't those be AV_FIELD_TT and AV_FIELD_BB? TB/BT are for when the
> > fields need to be displayed in reverse order to how they are encoded.
> > 
> You would think so wouldn't you from a reading of qtff. However I have
> run a shed load of different transcodes through QTPro changing things
> like tff/bff with different codecs including DV and the only two that
> ever pop up are TB and BT.

Oh joy.

> > This highlights two issues I have with field_order in AVCodecContext: it
> > belongs in AVStream. AVCodecContext's field_order should only say what
> > field order the essence has.
> ...and the other issue?

Never mind, sentence structuring fail. Those are the two issues (one
with AVCodecContext, one with AVStream).

> I tend to agree with you since the only use of AVCodecContext's
> field_order is related to the 'fiel' atom. The other issue I have with
> the whole interlace flagging situation is that we do not differentiate
> between progressive, and unknown.
> However I am trying to work within the current structure and improve the
> synchronizing between AVCodecContext's field_order and the final coded
> essence, so that output files are as close as possible to any defined
> standard.

I tend to agree here as well. Don't have time to elaborate too much at
the moment though. Maybe on Monday.


More information about the ffmpeg-devel mailing list