[MPlayer-dev-eng] [PATCH] New filter: vf_phase.c

D Richard Felker III dalias at aerifal.cx
Sun Mar 28 22:05:25 CEST 2004


On Sun, Mar 28, 2004 at 10:05:06PM +0300, Ville Saari wrote:
> On Sat, Mar 27, 2004 at 10:51:13PM -0500, D Richard Felker III wrote:
> 
> > Like I said, both-unknown isn't needed or useful. The capture
> > field-order is always known (the mpeg decoded exports it).
> 
> I'm trying to make the filter to make use of the field flags, but
> I'm somewhat confused about the meaning of the bits in mpi->fields.
> Could someone enlighten me please?
> 
> DVDs I tested set MP_IMGFIELD_TOP_FIRST, but there's no
> corresponding flag for bottom-first, so I assume that it is
> indicated by MP_IMGFIELD_TOP_FIRST being unset. But how is
> the bottom-first case then differentiated from unknown field
> order or progressive?
> 
> The mpeg decoder also sets MP_IMGFIELD_ORDERED and it gets cleared
> if the filter examining the flag is not the first filter. This leads
> to the assumption that top-first can be tested by:
> 
>   mpi->fields&(MP_IMGFIELD_ORDERED|MP_IMGFIELD_TOP_FIRST)==MP_IMGFIELD_ORDERED|MP_IMGFIELD_TOP_FIRST
> 
> and the bottom-first by:
> 
>   mpi->fields&(MP_IMGFIELD_ORDERED|MP_IMGFIELD_TOP_FIRST)==MP_IMGFIELD_ORDERED
> 
> But then many progressive AVI files get recognized as bottom-first and
> DV-AVI, that really is bottom-first, gets recognized as neither, so
> obviously I'm not on the right track.

If MP_IMGFIELD_ORDERED is set, then MP_IMGFIELD_TOP_FIRST indicates
TFF and otherwise it's BFF. If MP_IMGFIELD_ORDERED isn't set, then the
field order of the source isn't known. In general TFF should be
assumed if not known, and the additional decoders that use BFF should
set the flags approprietaly (think DV).

Rich




More information about the MPlayer-dev-eng mailing list