[FFmpeg-devel] [PATCH 2/4] avformat/avframe.h: Add a flag in AVIndexEntry to discard frame after decoding.

Sasi Inguva isasi at google.com
Wed Aug 10 19:49:11 EEST 2016


Mov demuxer first builds the index, containing all the samples and their
timestamps, in its read_header function. It then simply searches this index
for the required sample on every read_packet call, and constructs an
AVPacket out of that sample. Implementation wise the edit list code
basically parses all these edit lists once to mark the index samples which
are/are not in the edit lists, when we read the header. If I have to avoid
this I would have to move the quite complicated logic of deciding if the
current packet is  in any of the  edit lists or not and  the logic of
rewriting the timestamps, inside the read_packet function.

On Wed, Aug 10, 2016 at 5:08 AM, Hendrik Leppkes <h.leppkes at gmail.com>
wrote:

> On Wed, Aug 10, 2016 at 3:48 AM, Sasi Inguva
> <isasi-at-google.com at ffmpeg.org> wrote:
> > Signed-off-by: Sasi Inguva <isasi at google.com>
> > ---
> >  libavformat/avformat.h | 3 +++
> >  libavformat/version.h  | 2 +-
> >  2 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> > index d8a6cf3..8cf1401 100644
> > --- a/libavformat/avformat.h
> > +++ b/libavformat/avformat.h
> > @@ -814,6 +814,9 @@ typedef struct AVIndexEntry {
> >                                 * is known
> >                                 */
> >  #define AVINDEX_KEYFRAME 0x0001
> > +#define AVINDEX_DISCARD_FRAME  0x0002    /**
> > +                                          * Flag is used to indicate
> which frame should be discarded after decoding.
> > +                                          */
>
> Having this flag on the index seems ... odd. If I would expect to get
> it from anywhere, it would be the AVPacket the demuxer outputs (which
> you add later), but not having to cross-check the index for this.
> What purpose does it really server to have it here, and not only on
> AVPacket?
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list