[FFmpeg-cvslog] vc1: Make INIT_LUT() self contained

Michael Niedermayer git at videolan.org
Wed May 15 20:21:24 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Apr 24 15:33:11 2013 +0200| [6ce2c3106d78994d2b5d23ea5d23a393f8296657] | committer: Martin Storsjö

vc1: Make INIT_LUT() self contained

Move the local variables it uses into the macro, enclosing them
in a do {} while (0) scope.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 libavcodec/vc1.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index b490165..df8f30a 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -571,7 +571,8 @@ int ff_vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContex
 }
 
 /* fill lookup tables for intensity compensation */
-#define INIT_LUT(lumscale, lumshift, luty, lutuv)   \
+#define INIT_LUT(lumscale, lumshift, luty, lutuv) do { \
+    int scale, shift, i;                            \
     if (!lumscale) {                                \
         scale = -64;                                \
         shift = (255 - lumshift * 2) << 6;          \
@@ -587,7 +588,8 @@ int ff_vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContex
     for (i = 0; i < 256; i++) {                     \
         luty[i]  = av_clip_uint8((scale * i + shift + 32) >> 6);           \
         lutuv[i] = av_clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);  \
-    }
+    }                                               \
+    } while(0)
 
 int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
 {
@@ -687,7 +689,6 @@ int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
         lowquant = (v->pq > 12) ? 0 : 1;
         v->mv_mode = ff_vc1_mv_pmode_table[lowquant][get_unary(gb, 1, 4)];
         if (v->mv_mode == MV_PMODE_INTENSITY_COMP) {
-            int scale, shift, i;
             v->mv_mode2 = ff_vc1_mv_pmode_table2[lowquant][get_unary(gb, 1, 3)];
             v->lumscale = get_bits(gb, 6);
             v->lumshift = get_bits(gb, 6);
@@ -809,7 +810,6 @@ int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
     int pqindex, lowquant;
     int status;
     int mbmodetab, imvtab, icbptab, twomvbptab, fourmvbptab; /* useful only for debugging */
-    int scale, shift, i; /* for initializing LUT for intensity compensation */
     int field_mode, fcm;
 
     v->p_frame_skipped = 0;



More information about the ffmpeg-cvslog mailing list