mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-28 10:22:10 +00:00
mpeg12: fix frame_pred_frame_dct handling in field pictures
Fixes Ticket254 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
49ec0d8ed2
commit
6e8df250fd
@ -878,7 +878,8 @@ static int mpeg_decode_mb(MpegEncContext *s, DCTELEM block[12][64])
|
|||||||
|
|
||||||
s->mv_dir = MV_DIR_FORWARD;
|
s->mv_dir = MV_DIR_FORWARD;
|
||||||
if (s->picture_structure == PICT_FRAME) {
|
if (s->picture_structure == PICT_FRAME) {
|
||||||
if (!s->frame_pred_frame_dct)
|
if (s->picture_structure == PICT_FRAME
|
||||||
|
&& !s->frame_pred_frame_dct)
|
||||||
s->interlaced_dct = get_bits1(&s->gb);
|
s->interlaced_dct = get_bits1(&s->gb);
|
||||||
s->mv_type = MV_TYPE_16X16;
|
s->mv_type = MV_TYPE_16X16;
|
||||||
} else {
|
} else {
|
||||||
@ -900,7 +901,7 @@ static int mpeg_decode_mb(MpegEncContext *s, DCTELEM block[12][64])
|
|||||||
av_assert2(mb_type & MB_TYPE_L0L1);
|
av_assert2(mb_type & MB_TYPE_L0L1);
|
||||||
// FIXME decide if MBs in field pictures are MB_TYPE_INTERLACED
|
// FIXME decide if MBs in field pictures are MB_TYPE_INTERLACED
|
||||||
/* get additional motion vector type */
|
/* get additional motion vector type */
|
||||||
if (s->frame_pred_frame_dct)
|
if (s->picture_structure == PICT_FRAME && s->frame_pred_frame_dct)
|
||||||
motion_type = MT_FRAME;
|
motion_type = MT_FRAME;
|
||||||
else {
|
else {
|
||||||
motion_type = get_bits(&s->gb, 2);
|
motion_type = get_bits(&s->gb, 2);
|
||||||
|
Loading…
Reference in New Issue
Block a user