[FFmpeg-cvslog] xan: remove a trivially true if().

Anton Khirnov git at videolan.org
Mon Dec 24 16:24:21 CET 2012


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Nov 16 06:40:14 2012 +0100| [51648da4dc7ab9f3d04960c13a4db5c1975e5fc6] | committer: Anton Khirnov

xan: remove a trivially true if().

This function used to be shared with the xxan decoder, but that is not
true anymore.

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

 libavcodec/xan.c |   99 +++++++++++++++++++++++++++---------------------------
 1 file changed, 49 insertions(+), 50 deletions(-)

diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index f036d78..8c90bb6 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -499,62 +499,61 @@ static int xan_decode_frame(AVCodecContext *avctx,
     const uint8_t *buf = avpkt->data;
     int ret, buf_size = avpkt->size;
     XanContext *s = avctx->priv_data;
-
-    if (avctx->codec->id == AV_CODEC_ID_XAN_WC3) {
-        const uint8_t *buf_end = buf + buf_size;
-        int tag = 0;
-        while (buf_end - buf > 8 && tag != VGA__TAG) {
-            unsigned *tmpptr;
-            uint32_t new_pal;
-            int size;
-            int i;
-            tag  = bytestream_get_le32(&buf);
-            size = bytestream_get_be32(&buf);
-            size = FFMIN(size, buf_end - buf);
-            switch (tag) {
-            case PALT_TAG:
-                if (size < PALETTE_SIZE)
-                    return AVERROR_INVALIDDATA;
-                if (s->palettes_count >= PALETTES_MAX)
-                    return AVERROR_INVALIDDATA;
-                tmpptr = av_realloc(s->palettes,
-                                    (s->palettes_count + 1) * AVPALETTE_SIZE);
-                if (!tmpptr)
-                    return AVERROR(ENOMEM);
-                s->palettes = tmpptr;
-                tmpptr += s->palettes_count * AVPALETTE_COUNT;
-                for (i = 0; i < PALETTE_COUNT; i++) {
+    const uint8_t *buf_end = buf + buf_size;
+    int tag = 0;
+
+    while (buf_end - buf > 8 && tag != VGA__TAG) {
+        unsigned *tmpptr;
+        uint32_t new_pal;
+        int size;
+        int i;
+        tag  = bytestream_get_le32(&buf);
+        size = bytestream_get_be32(&buf);
+        size = FFMIN(size, buf_end - buf);
+        switch (tag) {
+        case PALT_TAG:
+            if (size < PALETTE_SIZE)
+                return AVERROR_INVALIDDATA;
+            if (s->palettes_count >= PALETTES_MAX)
+                return AVERROR_INVALIDDATA;
+            tmpptr = av_realloc(s->palettes,
+                                (s->palettes_count + 1) * AVPALETTE_SIZE);
+            if (!tmpptr)
+                return AVERROR(ENOMEM);
+            s->palettes = tmpptr;
+            tmpptr += s->palettes_count * AVPALETTE_COUNT;
+            for (i = 0; i < PALETTE_COUNT; i++) {
 #if RUNTIME_GAMMA
-                    int r = gamma_corr(*buf++);
-                    int g = gamma_corr(*buf++);
-                    int b = gamma_corr(*buf++);
+                int r = gamma_corr(*buf++);
+                int g = gamma_corr(*buf++);
+                int b = gamma_corr(*buf++);
 #else
-                    int r = gamma_lookup[*buf++];
-                    int g = gamma_lookup[*buf++];
-                    int b = gamma_lookup[*buf++];
+                int r = gamma_lookup[*buf++];
+                int g = gamma_lookup[*buf++];
+                int b = gamma_lookup[*buf++];
 #endif
-                    *tmpptr++ = (r << 16) | (g << 8) | b;
-                }
-                s->palettes_count++;
-                break;
-            case SHOT_TAG:
-                if (size < 4)
-                    return AVERROR_INVALIDDATA;
-                new_pal = bytestream_get_le32(&buf);
-                if (new_pal < s->palettes_count) {
-                    s->cur_palette = new_pal;
-                } else
-                    av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n");
-                break;
-            case VGA__TAG:
-                break;
-            default:
-                buf += size;
-                break;
+                *tmpptr++ = (r << 16) | (g << 8) | b;
             }
+            s->palettes_count++;
+            break;
+        case SHOT_TAG:
+            if (size < 4)
+                return AVERROR_INVALIDDATA;
+            new_pal = bytestream_get_le32(&buf);
+            if (new_pal < s->palettes_count) {
+                s->cur_palette = new_pal;
+            } else
+                av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n");
+            break;
+        case VGA__TAG:
+            break;
+        default:
+            buf += size;
+            break;
         }
-        buf_size = buf_end - buf;
     }
+    buf_size = buf_end - buf;
+
     if (s->palettes_count <= 0) {
         av_log(s->avctx, AV_LOG_ERROR, "No palette found\n");
         return AVERROR_INVALIDDATA;



More information about the ffmpeg-cvslog mailing list