mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
vc1: simplify *_use_ic initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
ed5bed4152
commit
64b98df389
@ -596,24 +596,20 @@ static void rotate_luts(VC1Context *v)
|
|||||||
C = A; \
|
C = A; \
|
||||||
} else { \
|
} else { \
|
||||||
DEF; \
|
DEF; \
|
||||||
memcpy(&tmp, &L , sizeof(tmp)); \
|
memcpy(&tmp, L , sizeof(tmp)); \
|
||||||
memcpy(&L , &N , sizeof(tmp)); \
|
memcpy(L , N , sizeof(tmp)); \
|
||||||
memcpy(&N , &tmp, sizeof(tmp)); \
|
memcpy(N , &tmp, sizeof(tmp)); \
|
||||||
C = N; \
|
C = N; \
|
||||||
} \
|
} \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
ROTATE(int tmp, v->last_use_ic, v->next_use_ic, v->curr_use_ic, v->aux_use_ic);
|
ROTATE(int *tmp, &v->last_use_ic, &v->next_use_ic, v->curr_use_ic, &v->aux_use_ic);
|
||||||
ROTATE(uint8_t tmp[2][256], v->last_luty, v->next_luty, v->curr_luty, v->aux_luty);
|
ROTATE(uint8_t tmp[2][256], v->last_luty, v->next_luty, v->curr_luty, v->aux_luty);
|
||||||
ROTATE(uint8_t tmp[2][256], v->last_lutuv, v->next_lutuv, v->curr_lutuv, v->aux_lutuv);
|
ROTATE(uint8_t tmp[2][256], v->last_lutuv, v->next_lutuv, v->curr_lutuv, v->aux_lutuv);
|
||||||
|
|
||||||
INIT_LUT(32, 0, v->curr_luty[0], v->curr_lutuv[0], 0);
|
INIT_LUT(32, 0, v->curr_luty[0], v->curr_lutuv[0], 0);
|
||||||
INIT_LUT(32, 0, v->curr_luty[1], v->curr_lutuv[1], 0);
|
INIT_LUT(32, 0, v->curr_luty[1], v->curr_lutuv[1], 0);
|
||||||
v->curr_use_ic = 0;
|
*v->curr_use_ic = 0;
|
||||||
if (v->curr_luty == v->next_luty) {
|
|
||||||
// If we just initialized next_lut, clear next_use_ic to match.
|
|
||||||
v->next_use_ic = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
|
int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
|
||||||
@ -1108,7 +1104,7 @@ int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
|
|||||||
INIT_LUT(v->lumscale2, v->lumshift2, v->curr_luty[v->cur_field_type^1], v->curr_lutuv[v->cur_field_type^1], 0);
|
INIT_LUT(v->lumscale2, v->lumshift2, v->curr_luty[v->cur_field_type^1], v->curr_lutuv[v->cur_field_type^1], 0);
|
||||||
INIT_LUT(v->lumscale , v->lumshift , v->last_luty[v->cur_field_type ], v->last_lutuv[v->cur_field_type ], 1);
|
INIT_LUT(v->lumscale , v->lumshift , v->last_luty[v->cur_field_type ], v->last_lutuv[v->cur_field_type ], 1);
|
||||||
}
|
}
|
||||||
v->next_use_ic = v->curr_use_ic = 1;
|
v->next_use_ic = *v->curr_use_ic = 1;
|
||||||
} else {
|
} else {
|
||||||
INIT_LUT(v->lumscale , v->lumshift , v->last_luty[0], v->last_lutuv[0], 1);
|
INIT_LUT(v->lumscale , v->lumshift , v->last_luty[0], v->last_lutuv[0], 1);
|
||||||
INIT_LUT(v->lumscale2, v->lumshift2, v->last_luty[1], v->last_lutuv[1], 1);
|
INIT_LUT(v->lumscale2, v->lumshift2, v->last_luty[1], v->last_lutuv[1], 1);
|
||||||
|
@ -315,7 +315,7 @@ typedef struct VC1Context{
|
|||||||
uint8_t aux_luty[2][256], aux_lutuv[2][256]; ///< lookup tables used for intensity compensation
|
uint8_t aux_luty[2][256], aux_lutuv[2][256]; ///< lookup tables used for intensity compensation
|
||||||
uint8_t next_luty[2][256], next_lutuv[2][256]; ///< lookup tables used for intensity compensation
|
uint8_t next_luty[2][256], next_lutuv[2][256]; ///< lookup tables used for intensity compensation
|
||||||
uint8_t (*curr_luty)[256] ,(*curr_lutuv)[256];
|
uint8_t (*curr_luty)[256] ,(*curr_lutuv)[256];
|
||||||
int last_use_ic, curr_use_ic, next_use_ic, aux_use_ic;
|
int last_use_ic, *curr_use_ic, next_use_ic, aux_use_ic;
|
||||||
int rnd; ///< rounding control
|
int rnd; ///< rounding control
|
||||||
|
|
||||||
/** Frame decoding info for S/M profiles only */
|
/** Frame decoding info for S/M profiles only */
|
||||||
|
@ -377,7 +377,7 @@ static void vc1_mc_1mv(VC1Context *v, int dir)
|
|||||||
srcV = s->current_picture.f.data[2];
|
srcV = s->current_picture.f.data[2];
|
||||||
luty = v->curr_luty;
|
luty = v->curr_luty;
|
||||||
lutuv = v->curr_lutuv;
|
lutuv = v->curr_lutuv;
|
||||||
use_ic = v->curr_use_ic;
|
use_ic = *v->curr_use_ic;
|
||||||
} else {
|
} else {
|
||||||
srcY = s->last_picture.f.data[0];
|
srcY = s->last_picture.f.data[0];
|
||||||
srcU = s->last_picture.f.data[1];
|
srcU = s->last_picture.f.data[1];
|
||||||
@ -571,7 +571,7 @@ static void vc1_mc_4mv_luma(VC1Context *v, int n, int dir, int avg)
|
|||||||
if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) {
|
if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) {
|
||||||
srcY = s->current_picture.f.data[0];
|
srcY = s->current_picture.f.data[0];
|
||||||
luty = v->curr_luty;
|
luty = v->curr_luty;
|
||||||
use_ic = v->curr_use_ic;
|
use_ic = *v->curr_use_ic;
|
||||||
} else {
|
} else {
|
||||||
srcY = s->last_picture.f.data[0];
|
srcY = s->last_picture.f.data[0];
|
||||||
luty = v->last_luty;
|
luty = v->last_luty;
|
||||||
@ -873,7 +873,7 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir)
|
|||||||
srcU = s->current_picture.f.data[1];
|
srcU = s->current_picture.f.data[1];
|
||||||
srcV = s->current_picture.f.data[2];
|
srcV = s->current_picture.f.data[2];
|
||||||
lutuv = v->curr_lutuv;
|
lutuv = v->curr_lutuv;
|
||||||
use_ic = v->curr_use_ic;
|
use_ic = *v->curr_use_ic;
|
||||||
} else {
|
} else {
|
||||||
srcU = s->last_picture.f.data[1];
|
srcU = s->last_picture.f.data[1];
|
||||||
srcV = s->last_picture.f.data[2];
|
srcV = s->last_picture.f.data[2];
|
||||||
|
Loading…
Reference in New Issue
Block a user