[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