[MPlayer-dev-eng] Re: More on inverse telecine!

Billy Biggs vektor at dumbterm.net
Mon Apr 14 18:27:21 CEST 2003


D Richard Felker III (dalias at aerifal.cx):

> On Mon, Apr 14, 2003 at 06:04:35AM -0500, Billy Biggs wrote:
> > You may think that all is lost, but no.  There are two approaches.
> > The first is to have the MPEG2 decoding layer expand all content on
> > the DVD to 59.94 interlaced fields per second, and pass it to a
> > heuristics engine like vf_detc.  You may say: why do that, when the
> > flags tell you exactly what to do!  However, remember that if you do
> > this, copied fields will be byte-for-byte identical, and they'll be
> > easy to test for, and secondly this will get around some problem
> > cases.
> 
> This would work, but seems unnecessarily complicated. I suppose it
> might be useful to have for output to interlaced devices anyway,
> though.

  I don't think it's complicated, it makes your pulldown detection much
easier, since the input to your pulldown detector is always strictly
59.94 field per second video.

> > The other method is to enable pulldown detection whenever you see
> > interlaced frames, and remember where you were in the pulldown
> > sequence based on what sequence the flags were telling you.  I do
> > this in my DVD player app 'movietime'
> > (www.sf.net/projects/movietime).  Whenever I see interlaced content,
> > I fill my diff_factor history with the ideal based on what I was
> > decoding, and assume the interlaced content is pulldown and go at
> > it.  It works ok.
> 
> IMO, a much better way would be to have PTS be part of the mp_image
> structure. Then you can see right off which frames are coming at 24fps
> and which are coming at 30. Or rather than PTS (since it's ugly and
> problematic and sometimes non-monotone) you could have a 'frame
> duration' passed along with the frame instead or in addition.

  You also need to know which field is first to be shown, top or bottom.
Why not just send the flags right off the DVD?  top_field_first and
repeat_first_field.  Seems logical and makes sense.

  -Billy



More information about the MPlayer-dev-eng mailing list