Merge commit 'd25afb579facc83fd3a839f21411124d0b09f0ba'

* commit 'd25afb579facc83fd3a839f21411124d0b09f0ba':
  vc1: Set the is_intra bitfield to all 1 when needed

Conflicts:
	libavcodec/vc1_block.c

See: 04152a31cb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/100/head
Michael Niedermayer 10 years ago
commit 79f77ce31c
  1. 18
      libavcodec/vc1_block.c

@ -1635,9 +1635,9 @@ static int vc1_decode_p_mb_intfr(VC1Context *v)
s->current_picture.motion_val[1][s->block_index[i]][0] = 0; s->current_picture.motion_val[1][s->block_index[i]][0] = 0;
s->current_picture.motion_val[1][s->block_index[i]][1] = 0; s->current_picture.motion_val[1][s->block_index[i]][1] = 0;
} }
s->current_picture.mb_type[mb_pos] = MB_TYPE_INTRA; v->is_intra[s->mb_x] = 0x3f; // Set the bitfield to all 1.
s->mb_intra = 1; s->mb_intra = 1;
v->is_intra[s->mb_x] = 0x3F; s->current_picture.mb_type[mb_pos] = MB_TYPE_INTRA;
fieldtx = v->fieldtx_plane[mb_pos] = get_bits1(gb); fieldtx = v->fieldtx_plane[mb_pos] = get_bits1(gb);
mb_has_coeffs = get_bits1(gb); mb_has_coeffs = get_bits1(gb);
if (mb_has_coeffs) if (mb_has_coeffs)
@ -1804,8 +1804,8 @@ static int vc1_decode_p_mb_intfi(VC1Context *v)
idx_mbmode = get_vlc2(gb, v->mbmode_vlc->table, VC1_IF_MBMODE_VLC_BITS, 2); idx_mbmode = get_vlc2(gb, v->mbmode_vlc->table, VC1_IF_MBMODE_VLC_BITS, 2);
if (idx_mbmode <= 1) { // intra MB if (idx_mbmode <= 1) { // intra MB
s->mb_intra = 1; v->is_intra[s->mb_x] = 0x3f; // Set the bitfield to all 1.
v->is_intra[s->mb_x] = 0x3F; s->mb_intra = 1;
s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = 0; s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = 0;
s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0; s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0;
s->current_picture.mb_type[mb_pos + v->mb_off] = MB_TYPE_INTRA; s->current_picture.mb_type[mb_pos + v->mb_off] = MB_TYPE_INTRA;
@ -2082,8 +2082,8 @@ static void vc1_decode_b_mb_intfi(VC1Context *v)
idx_mbmode = get_vlc2(gb, v->mbmode_vlc->table, VC1_IF_MBMODE_VLC_BITS, 2); idx_mbmode = get_vlc2(gb, v->mbmode_vlc->table, VC1_IF_MBMODE_VLC_BITS, 2);
if (idx_mbmode <= 1) { // intra MB if (idx_mbmode <= 1) { // intra MB
s->mb_intra = 1; v->is_intra[s->mb_x] = 0x3f; // Set the bitfield to all 1.
v->is_intra[s->mb_x] = 0x3F; s->mb_intra = 1;
s->current_picture.motion_val[1][s->block_index[0]][0] = 0; s->current_picture.motion_val[1][s->block_index[0]][0] = 0;
s->current_picture.motion_val[1][s->block_index[0]][1] = 0; s->current_picture.motion_val[1][s->block_index[0]][1] = 0;
s->current_picture.mb_type[mb_pos + v->mb_off] = MB_TYPE_INTRA; s->current_picture.mb_type[mb_pos + v->mb_off] = MB_TYPE_INTRA;
@ -2308,9 +2308,9 @@ static int vc1_decode_b_mb_intfr(VC1Context *v)
s->mv[1][i][0] = s->current_picture.motion_val[1][s->block_index[i]][0] = 0; s->mv[1][i][0] = s->current_picture.motion_val[1][s->block_index[i]][0] = 0;
s->mv[1][i][1] = s->current_picture.motion_val[1][s->block_index[i]][1] = 0; s->mv[1][i][1] = s->current_picture.motion_val[1][s->block_index[i]][1] = 0;
} }
v->is_intra[s->mb_x] = 0x3f; // Set the bitfield to all 1.
s->mb_intra = 1;
s->current_picture.mb_type[mb_pos] = MB_TYPE_INTRA; s->current_picture.mb_type[mb_pos] = MB_TYPE_INTRA;
s->mb_intra = 1;
v->is_intra[s->mb_x] = 0x3F;
fieldtx = v->fieldtx_plane[mb_pos] = get_bits1(gb); fieldtx = v->fieldtx_plane[mb_pos] = get_bits1(gb);
mb_has_coeffs = get_bits1(gb); mb_has_coeffs = get_bits1(gb);
if (mb_has_coeffs) if (mb_has_coeffs)

Loading…
Cancel
Save