diff mbox

[FFmpeg-devel,4/4] lavf/mov: Add support for edit list parsing.

Message ID CAGD_KHdCu_Y7DiRVP1=rY2x78VppR=UpaMghUHZNAYgknQCf+A@mail.gmail.com
State Superseded
Headers show

Commit Message

Sasi Inguva Aug. 25, 2016, 1:42 a.m. UTC
hmm. strange. I just rebased my branch on top of head, and reran the test,
and it succeeds along with all other fate tests. I am attaching the 4
patches again here.

On Wed, Aug 24, 2016 at 4:01 PM, Michael Niedermayer <michael@niedermayer.cc
> wrote:

> On Mon, Aug 15, 2016 at 07:04:57PM -0700, Sasi Inguva wrote:
> > Signed-off-by: Sasi Inguva <isasi@google.com>
> > ---
> >  libavformat/mov.c                              |  334 +++++++-
> >  tests/Makefile                                 |    1 +
> >  tests/fate/mov.mak                             |   28 +
> >  tests/ref/fate/filter-fps-cfr                  |    1 -
> >  tests/ref/fate/gaplessenc-itunes-to-ipod-aac   |   12 +-
> >  tests/ref/fate/gaplessenc-pcm-to-mov-aac       |   12 +-
> >  tests/ref/fate/gsm-toast                       | 1000
> ++++++++++++------------
> >  tests/ref/fate/h264-invalid-ref-mod            |   20 +-
> >  tests/ref/fate/mov-1elist-1ctts                |   57 ++
> >  tests/ref/fate/mov-1elist-ends-last-bframe     |   56 ++
> >  tests/ref/fate/mov-1elist-noctts               |   57 ++
> >  tests/ref/fate/mov-2elist-elist1-ends-bframe   |   51 ++
> >  tests/ref/fate/mov-3elist                      |   57 ++
> >  tests/ref/fate/mov-3elist-1ctts                |   57 ++
> >  tests/ref/fate/mov-elist-starts-ctts-2ndsample |   57 ++
> >  tests/ref/fate/pcm_s16be-stereo                |    2 +-
> >  tests/ref/fate/quickdraw                       |   12 +-
> >  tests/ref/fate/tscc2-mov                       |   20 +-
> >  tests/ref/lavf-fate/mov_qtrle_mace6            |    2 +-
> >  19 files changed, 1287 insertions(+), 549 deletions(-)
> >  create mode 100644 tests/fate/mov.mak
> >  create mode 100644 tests/ref/fate/mov-1elist-1ctts
> >  create mode 100644 tests/ref/fate/mov-1elist-ends-last-bframe
> >  create mode 100644 tests/ref/fate/mov-1elist-noctts
> >  create mode 100644 tests/ref/fate/mov-2elist-elist1-ends-bframe
> >  create mode 100644 tests/ref/fate/mov-3elist
> >  create mode 100644 tests/ref/fate/mov-3elist-1ctts
> >  create mode 100644 tests/ref/fate/mov-elist-starts-ctts-2ndsample
>
> it seems one fate test fails with this patchset
> make: *** [fate-mov-2elist-elist1-ends-bframe] Error 134
> Assertion !index || ie[-1].timestamp <= timestamp failed at
> libavformat/mov.c:2850
> Aborted
>
> I think this didnt happen when i tested a previous revission
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Those who are too smart to engage in politics are punished by being
> governed by those who are dumber. -- Plato
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>

Comments

Michael Niedermayer Aug. 25, 2016, 2:37 a.m. UTC | #1
On Wed, Aug 24, 2016 at 06:42:16PM -0700, Sasi Inguva wrote:
> hmm. strange. I just rebased my branch on top of head, and reran the test,
> and it succeeds along with all other fate tests. I am attaching the 4
> patches again here.

you need to build with
--assert-level=2
to see the failure

[...]
diff mbox

Patch

From 4f91db6f34070f0e02ce224badaffa8c4d69d900 Mon Sep 17 00:00:00 2001
From: Sasi Inguva <isasi@google.com>
Date: Wed, 24 Aug 2016 18:30:01 -0700
Subject: [PATCH 2/4] avformat/avframe.h: Add a flag in AVIndexEntry to discard
 frame after decoding.

Signed-off-by: Sasi Inguva <isasi@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 3ee7051..d943ae1 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.
+                                          */
     int flags:2;
     int size:30; //Yeah, trying to keep the size of this small to reduce memory requirements (it is 24 vs. 32 bytes due to possible 8-byte alignment).
     int min_distance;         /**< Minimum distance between this and the previous keyframe, used to avoid unneeded searching. */
diff --git a/libavformat/version.h b/libavformat/version.h
index 88fd4cc..34226ca 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -32,7 +32,7 @@ 
 // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
 // Also please add any ticket numbers that you believe might be affected here
 #define LIBAVFORMAT_VERSION_MAJOR  57
-#define LIBAVFORMAT_VERSION_MINOR  48
+#define LIBAVFORMAT_VERSION_MINOR  49
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
-- 
2.8.0.rc3.226.g39d4020