[FFmpeg-cvslog] avidec: simplify convoluted flow in avi_load_index()

Mans Rullgard git at videolan.org
Mon Jul 4 00:53:45 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sun Jul  3 02:54:58 2011 +0100| [c9403419b25e36328cd25dc0855fd946c261a233] | committer: Mans Rullgard

avidec: simplify convoluted flow in avi_load_index()

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c9403419b25e36328cd25dc0855fd946c261a233
---

 libavformat/avidec.c |   18 +++++++-----------
 1 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 871da0b..a00b9ce 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -1241,20 +1241,16 @@ static int avi_load_index(AVFormatContext *s)
                 (tag >> 16) & 0xff,
                 (tag >> 24) & 0xff,
                 size);
-        switch(tag) {
-        case MKTAG('i', 'd', 'x', '1'):
-            if (avi_read_idx1(s, size) < 0)
-                goto skip;
+
+        if (tag == MKTAG('i', 'd', 'x', '1') &&
+            avi_read_idx1(s, size) >= 0) {
             ret = 0;
-                goto the_end;
-            break;
-        default:
-        skip:
-            size += (size & 1);
-            if (avio_skip(pb, size) < 0)
-                goto the_end; // something is wrong here
             break;
         }
+
+        size += (size & 1);
+        if (avio_skip(pb, size) < 0)
+            break; // something is wrong here
     }
  the_end:
     avio_seek(pb, pos, SEEK_SET);



More information about the ffmpeg-cvslog mailing list