1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

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@martin.st>
This commit is contained in:
Michael Niedermayer 2013-04-24 15:33:11 +02:00 committed by Martin Storsjö
parent 37f2ac36a9
commit 6ce2c3106d

View File

@ -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;