[MPlayer-G2-dev] bypassing PTS in video filter layer

Arpi arpi at thot.banki.hu
Fri Aug 1 20:53:23 CEST 2003


> > any better ideas?
> IMO it should be much simpler than this. If the frames are being
> dropped at the codec/demuxer end (because of 0-byte skipped frames in
> .avi container and such, or nonrecoverable decoding errors or
> whatever) then the codec/demuxer layer or the wrapper between codec
> and vf layer should just adjust the relative_pts of the next frame it
> sends out to account for any dropped frames in between.

> On the other hand, if the frames are being dropped by a filter, it
> seems to me that the filter should be responsible for pts accounting.
> This is already the case for filters like inverse telecine that don't
> actually 'drop' frames, but which have a non-1-to-1 correspondence
> between input and output frames, so it seems like it'd be ok for other
> filters (dint, decimate, etc.) which drop frames to do the same.

you're right, as usual :)
i'll go for this.
(did you notice that in last release relative_pts is also in the struct?:))

> BTW, I was thinking that (non-hard) framedrop for slow cpu and for
> output to fixed-fps container (for encoding) or vo should be an actual
> filter, rather than just part of the player/encoder loop. Then the
> user could insert it at an arbitrary position in the chain --
> certainly after inverse telecine or temporal noise filters, but before
> expensive swscaler, etc.

fixed-fps output is clean to be implemented as a filter.
(maybe autoinserted for fixed-fps formats encoding)
(btw we could develop filter which can interpolate images at fps upsampling,
maybe by reusing some MC info exported by codec... :))

but for slow-cpu (and also slow-vga) type framedrop i think it's
more than a filter. actually it's a drop signal to the codec to do decoding
as fast as possible (ie. skip B frames, postprocessing etc) and skip all teh
filtering and display. The special case of temporal filters is already
hdnaled in the vf_process_image(), ie. drop 'signal' is not delivered above
the last filter needing all frames.

A'rpi / Astral & ESP-team

Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu

More information about the MPlayer-G2-dev mailing list