[FFmpeg-devel] [PATCH] Only using st->parser->pos when doing repacking in the parser.

Michael Niedermayer michaelni at gmx.at
Mon Apr 25 22:56:08 CEST 2011


On Mon, Apr 25, 2011 at 12:34:12AM +0200, Reimar Döffinger wrote:
> On Sun, Apr 24, 2011 at 11:50:15PM +0200, Reimar Döffinger wrote:
> > On Sun, Apr 24, 2011 at 11:28:42PM +0200, Michael Niedermayer wrote:
> > > On Sun, Apr 24, 2011 at 06:17:14PM +0200, Reimar Döffinger wrote:
> > > > ---
> > > >  libavformat/utils.c |    6 +++++-
> > > >  1 files changed, 5 insertions(+), 1 deletions(-)
> > > > 
> > > > diff --git a/libavformat/utils.c b/libavformat/utils.c
> > > > index e7ce911..d2b8fc2 100644
> > > > --- a/libavformat/utils.c
> > > > +++ b/libavformat/utils.c
> > > > @@ -1069,7 +1069,11 @@ static int av_read_frame_internal(AVFormatContext *s, AVPacket *pkt)
> > > >                      pkt->stream_index = st->index;
> > > >                      pkt->pts = st->parser->pts;
> > > >                      pkt->dts = st->parser->dts;
> > > > -                    pkt->pos = st->parser->pos;
> > > > +                    // When not repacking, using parser pos can at best break
> > > > +                    // things since parsers are not designed to handle the
> > > > +                    // case where current packet pos + size < next packet pos
> > > > +                    if (st->needs_parsing == AVSTREAM_PARSE_FULL)
> > > > +                        pkt->pos = st->parser->pos;
> > > 
> > > i think this should also check for AVSTREAM_PARSE_TIMESTAMPS
> > 
> > Hm, I think it might make most sense to check for
> > st->parser->flags & PARSER_FLAG_COMPLETE_FRAMES
> 
> Doesn't work, causes the pos to be too far ahead for
> DNXHD.

why dont you use st->parser->pos / pkt->pos in the
av_add_index_entry() call ?

[...]
--
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110425/58dbde7d/attachment.asc>


More information about the ffmpeg-devel mailing list