summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg12dec.c
diff options
context:
space:
mode:
authorNekopanda <pianoyayaninth-at-yahoo.co.jp@ffmpeg.org>2018-02-10 18:36:32 +0900
committerMichael Niedermayer <michael@niedermayer.cc>2018-04-13 00:35:15 +0200
commit66881cf2b58b8021e9e7f4271e30deeba0c6cb7f (patch)
treee06161d149d61587643074e7ab97942dafa996ea /libavcodec/mpeg12dec.c
parent838d02fcff8d08dfe138db572eaff01193f388ab (diff)
downloadffmpeg-66881cf2b58b8021e9e7f4271e30deeba0c6cb7f.tar.gz
avcodec/mpeg2dec: Fix field selection for skipped macroblocks
For B field pictures, the spec says, > The prediction shall be made from the field of the same parity as the field being predicted. I did it. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 8b154cb3e90a3e599cadf477d815a9854b7bb4e1) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/mpeg12dec.c')
-rw-r--r--libavcodec/mpeg12dec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 186fbd27b6..3786dc61b3 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -1983,6 +1983,8 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
s->mv[0][0][1] = s->last_mv[0][0][1];
s->mv[1][0][0] = s->last_mv[1][0][0];
s->mv[1][0][1] = s->last_mv[1][0][1];
+ s->field_select[0][0] = (s->picture_structure - 1) & 1;
+ s->field_select[1][0] = (s->picture_structure - 1) & 1;
}
}
}