vc1: Simplify code by using INIT_LUT()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Apr 2013 10:51:28 +0000 (12:51 +0200)
committerMartin Storsjö <martin@martin.st>
Wed, 15 May 2013 09:13:53 +0000 (12:13 +0300)
Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/vc1.c

index f94d52a..b490165 100644 (file)
@@ -693,22 +693,7 @@ int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
             v->lumshift = get_bits(gb, 6);
             v->use_ic   = 1;
             /* fill lookup tables for intensity compensation */
-            if (!v->lumscale) {
-                scale = -64;
-                shift = (255 - v->lumshift * 2) << 6;
-                if (v->lumshift > 31)
-                    shift += 128 << 6;
-            } else {
-                scale = v->lumscale + 32;
-                if (v->lumshift > 31)
-                    shift = (v->lumshift - 64) << 6;
-                else
-                    shift = v->lumshift << 6;
-            }
-            for (i = 0; i < 256; i++) {
-                v->luty[i]  = av_clip_uint8((scale * i + shift + 32) >> 6);
-                v->lutuv[i] = av_clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
-            }
+            INIT_LUT(v->lumscale, v->lumshift, v->luty, v->lutuv);
         }
         v->qs_last = v->s.quarter_sample;
         if (v->mv_mode == MV_PMODE_1MV_HPEL || v->mv_mode == MV_PMODE_1MV_HPEL_BILIN)