[FFmpeg-devel] [PATCH 1 of 3] movenc: enable writing of interlace information back to the 'fiel' atom. (2nd Version)
nichot20 at yahoo.com
Fri Oct 26 14:52:41 CEST 2012
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.
> 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?
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
More information about the ffmpeg-devel