Commit 23439cf9 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '5d9d8461'

* commit '5d9d8461':
  vc1dec: Don't apply the loop filter on fields

Conflicts:
	tests/ref/fate/vc1_sa10143
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents cb22692f 5d9d8461
...@@ -5043,7 +5043,8 @@ static void vc1_decode_p_blocks(VC1Context *v) ...@@ -5043,7 +5043,8 @@ static void vc1_decode_p_blocks(VC1Context *v)
break; break;
} }
apply_loop_filter = s->loop_filter && !(s->avctx->skip_loop_filter >= AVDISCARD_NONKEY); apply_loop_filter = s->loop_filter && !(s->avctx->skip_loop_filter >= AVDISCARD_NONKEY) &&
v->fcm == PROGRESSIVE;
s->first_slice_line = 1; s->first_slice_line = 1;
memset(v->cbp_base, 0, sizeof(v->cbp_base[0])*2*s->mb_stride); memset(v->cbp_base, 0, sizeof(v->cbp_base[0])*2*s->mb_stride);
for (s->mb_y = s->start_mb_y; s->mb_y < s->end_mb_y; s->mb_y++) { for (s->mb_y = s->start_mb_y; s->mb_y < s->end_mb_y; s->mb_y++) {
...@@ -5057,7 +5058,7 @@ static void vc1_decode_p_blocks(VC1Context *v) ...@@ -5057,7 +5058,7 @@ static void vc1_decode_p_blocks(VC1Context *v)
else if (v->fcm == ILACE_FRAME) else if (v->fcm == ILACE_FRAME)
vc1_decode_p_mb_intfr(v); vc1_decode_p_mb_intfr(v);
else vc1_decode_p_mb(v); else vc1_decode_p_mb(v);
if (s->mb_y != s->start_mb_y && apply_loop_filter && v->fcm == PROGRESSIVE) if (s->mb_y != s->start_mb_y && apply_loop_filter)
vc1_apply_p_loop_filter(v); vc1_apply_p_loop_filter(v);
if (get_bits_count(&s->gb) > v->bits || get_bits_count(&s->gb) < 0) { if (get_bits_count(&s->gb) > v->bits || get_bits_count(&s->gb) < 0) {
// TODO: may need modification to handle slice coding // TODO: may need modification to handle slice coding
...@@ -5074,7 +5075,7 @@ static void vc1_decode_p_blocks(VC1Context *v) ...@@ -5074,7 +5075,7 @@ static void vc1_decode_p_blocks(VC1Context *v)
if (s->mb_y != s->start_mb_y) ff_mpeg_draw_horiz_band(s, (s->mb_y - 1) * 16, 16); if (s->mb_y != s->start_mb_y) ff_mpeg_draw_horiz_band(s, (s->mb_y - 1) * 16, 16);
s->first_slice_line = 0; s->first_slice_line = 0;
} }
if (apply_loop_filter && v->fcm == PROGRESSIVE) { if (apply_loop_filter) {
s->mb_x = 0; s->mb_x = 0;
init_block_index(v); init_block_index(v);
for (; s->mb_x < s->mb_width; s->mb_x++) { for (; s->mb_x < s->mb_width; s->mb_x++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment