[FFmpeg-devel] RV30/40 decoder seek reset

Uoti Urpala uoti.urpala
Fri Feb 6 22:39:10 CET 2009


On Fri, 2009-02-06 at 23:46 +0200, Kostya wrote:
> On Fri, Feb 06, 2009 at 05:05:55PM +0200, Uoti Urpala wrote:
> > On Fri, 2009-02-06 at 09:45 +0200, Kostya wrote:
> > > On Fri, Feb 06, 2009 at 05:20:08AM +0200, Uoti Urpala wrote:
> > > > Currently the decoders do not have a .flush() function and produce
> > > > incorrect output after a seek. Is this just an oversight or would there
> > > > be something nontrivial to implement?
> > >  
> > > Why should they need flush() ? They operate on whole frames and the problem
> > > is in demuxer (and RM format itself).
> > 
> > I'm not sure which "the problem" you're talking about. You mean getting
> > completely correct RV30/40 frames after a seek is nontrivial?
> 
> For lavf demuxer it may be so.
> 
> > Now the
> > RV40 decoder seems to show a complete frame from before the seek. At
> > least that should be avoidable - there's no reason it would have to
> > produce frames with zero actual content from after the seek.
> 
> Any error messages?

No. After a seek there just always seems to be one more buffered frame
from the previous position before the picture shows anything from the
new location.

> > When testing the rmvb samples from mplayerhq the lavf demuxer also
> > showed a timestamp problem. Video looked visibly jerky, timestamps
> > sometimes jumped over some tenths of a second or went backwards.
> 
> Video decoder does not set them, demuxer does.

Yes this is a separate problem in the lavf demuxer; I didn't mean the
decoder would cause it.






More information about the ffmpeg-devel mailing list