diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index f56f074a53..a3b6031752 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -380,7 +380,7 @@ static void vc1_mc_1mv(VC1Context *v, int dir) uvmy = uvmy + ((uvmy < 0) ? (uvmy & 1) : -(uvmy & 1)); } if (!dir) { - if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->cur_field_type) { + if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) { srcY = s->current_picture.f.data[0]; srcU = s->current_picture.f.data[1]; srcV = s->current_picture.f.data[2]; @@ -554,7 +554,7 @@ static void vc1_mc_4mv_luma(VC1Context *v, int n, int dir) my = s->mv[dir][n][1]; if (!dir) { - if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->cur_field_type) { + if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) { srcY = s->current_picture.f.data[0]; } else srcY = s->last_picture.f.data[0]; @@ -829,7 +829,7 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir) } if (!dir) { - if (v->field_mode && (v->cur_field_type != chroma_ref_type) && v->cur_field_type) { + if (v->field_mode && (v->cur_field_type != chroma_ref_type) && v->second_field) { srcU = s->current_picture.f.data[1]; srcV = s->current_picture.f.data[2]; } else {