mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
Merge commit 'a097f0049b28dc3ed13625e4a42619292c92492f'
* commit 'a097f0049b28dc3ed13625e4a42619292c92492f': mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context Conflicts: libavcodec/mpeg12dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
db7580b4f6
@ -53,6 +53,7 @@ typedef struct Mpeg1Context {
|
|||||||
AVRational frame_rate_ext; ///< MPEG-2 specific framerate modificator
|
AVRational frame_rate_ext; ///< MPEG-2 specific framerate modificator
|
||||||
int sync; ///< Did we reach a sync point like a GOP/SEQ/KEYFrame?
|
int sync; ///< Did we reach a sync point like a GOP/SEQ/KEYFrame?
|
||||||
int tmpgexs;
|
int tmpgexs;
|
||||||
|
int first_slice;
|
||||||
int extradata_decoded;
|
int extradata_decoded;
|
||||||
} Mpeg1Context;
|
} Mpeg1Context;
|
||||||
|
|
||||||
@ -1955,7 +1956,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
|||||||
#endif /* FF_API_XVMC */
|
#endif /* FF_API_XVMC */
|
||||||
|
|
||||||
/* end of slice reached */
|
/* end of slice reached */
|
||||||
if (/*s->mb_y << field_pic == s->mb_height &&*/ !s->first_field && !s->first_slice) {
|
if (/*s->mb_y << field_pic == s->mb_height &&*/ !s->first_field && !s1->first_slice) {
|
||||||
/* end of image */
|
/* end of image */
|
||||||
|
|
||||||
ff_er_frame_end(&s->er);
|
ff_er_frame_end(&s->er);
|
||||||
@ -2352,7 +2353,7 @@ static int decode_chunks(AVCodecContext *avctx,
|
|||||||
/* we have a complete image: we try to decompress it */
|
/* we have a complete image: we try to decompress it */
|
||||||
if (mpeg1_decode_picture(avctx, buf_ptr, input_size) < 0)
|
if (mpeg1_decode_picture(avctx, buf_ptr, input_size) < 0)
|
||||||
s2->pict_type = 0;
|
s2->pict_type = 0;
|
||||||
s2->first_slice = 1;
|
s->first_slice = 1;
|
||||||
last_code = PICTURE_START_CODE;
|
last_code = PICTURE_START_CODE;
|
||||||
} else {
|
} else {
|
||||||
av_log(avctx, AV_LOG_ERROR, "ignoring pic after %X\n", last_code);
|
av_log(avctx, AV_LOG_ERROR, "ignoring pic after %X\n", last_code);
|
||||||
@ -2496,9 +2497,9 @@ static int decode_chunks(AVCodecContext *avctx,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s2->first_slice) {
|
if (s->first_slice) {
|
||||||
skip_frame = 0;
|
skip_frame = 0;
|
||||||
s2->first_slice = 0;
|
s->first_slice = 0;
|
||||||
if (mpeg_field_start(s2, buf, buf_size) < 0)
|
if (mpeg_field_start(s2, buf, buf_size) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -685,7 +685,6 @@ typedef struct MpegEncContext {
|
|||||||
int progressive_frame;
|
int progressive_frame;
|
||||||
int full_pel[2];
|
int full_pel[2];
|
||||||
int interlaced_dct;
|
int interlaced_dct;
|
||||||
int first_slice;
|
|
||||||
int first_field; ///< is 1 for the first field of a field picture 0 otherwise
|
int first_field; ///< is 1 for the first field of a field picture 0 otherwise
|
||||||
int drop_frame_timecode; ///< timecode is in drop frame format.
|
int drop_frame_timecode; ///< timecode is in drop frame format.
|
||||||
int scan_offset; ///< reserve space for SVCD scan offset user data.
|
int scan_offset; ///< reserve space for SVCD scan offset user data.
|
||||||
|
Loading…
Reference in New Issue
Block a user