summaryrefslogtreecommitdiff
path: root/src/libmpeg2/decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmpeg2/decode.c')
-rw-r--r--src/libmpeg2/decode.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c
index 0cbcff334..c08dc3ed2 100644
--- a/src/libmpeg2/decode.c
+++ b/src/libmpeg2/decode.c
@@ -196,7 +196,8 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ VO_PREDICTION_FLAG | VO_BOTH_FIELDS);
picture->forward_reference_frame->PTS = 0;
picture->forward_reference_frame->bFrameBad = 1;
picture->backward_reference_frame =
@@ -205,7 +206,8 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ VO_PREDICTION_FLAG | VO_BOTH_FIELDS);
picture->backward_reference_frame->PTS = 0;
picture->backward_reference_frame->bFrameBad = 1;
@@ -245,7 +247,8 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ picture->picture_structure);
else {
picture->current_frame =
mpeg2dec->output->get_frame (mpeg2dec->output,
@@ -253,7 +256,8 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ (VO_PREDICTION_FLAG | picture->picture_structure));
picture->forward_reference_frame->free (picture->forward_reference_frame);
picture->forward_reference_frame =
@@ -263,9 +267,6 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->current_frame->bFrameBad = 0;
picture->current_frame->PTS = mpeg2dec->pts;
mpeg2dec->pts = 0;
- picture->current_frame->field(picture->current_frame,
- picture->picture_structure);
-
}
}
@@ -413,7 +414,8 @@ void mpeg2_find_sequence_header (mpeg2dec_t * mpeg2dec,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ VO_PREDICTION_FLAG | VO_BOTH_FIELDS);
picture->forward_reference_frame->PTS = 0;
picture->forward_reference_frame->bFrameBad = 1;
picture->backward_reference_frame =
@@ -422,7 +424,8 @@ void mpeg2_find_sequence_header (mpeg2dec_t * mpeg2dec,
picture->coded_picture_height,
picture->aspect_ratio_information,
IMGFMT_YV12,
- picture->frame_duration);
+ picture->frame_duration,
+ VO_PREDICTION_FLAG | VO_BOTH_FIELDS);
picture->backward_reference_frame->PTS = 0;
picture->backward_reference_frame->bFrameBad = 1;