mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 11:19:55 +00:00
Fix mb_height for interlaced mpeg2.
This correctly fixes issue961, thanks to steven warren for spotting my mistake. Originally committed as revision 18381 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e90f5b5ab1
commit
0127b86108
@ -1160,7 +1160,7 @@ typedef struct Mpeg1Context {
|
||||
int slice_count;
|
||||
int swap_uv;//indicate VCR2
|
||||
int save_aspect_info;
|
||||
int save_width, save_height;
|
||||
int save_width, save_height, save_progressive_seq;
|
||||
AVRational frame_rate_ext; ///< MPEG-2 specific framerate modificator
|
||||
|
||||
} Mpeg1Context;
|
||||
@ -1238,6 +1238,7 @@ static int mpeg_decode_postinit(AVCodecContext *avctx){
|
||||
s1->save_width != s->width ||
|
||||
s1->save_height != s->height ||
|
||||
s1->save_aspect_info != s->aspect_ratio_info||
|
||||
s1->save_progressive_seq != s->progressive_sequence ||
|
||||
0)
|
||||
{
|
||||
|
||||
@ -1256,6 +1257,7 @@ static int mpeg_decode_postinit(AVCodecContext *avctx){
|
||||
s1->save_aspect_info = s->aspect_ratio_info;
|
||||
s1->save_width = s->width;
|
||||
s1->save_height = s->height;
|
||||
s1->save_progressive_seq = s->progressive_sequence;
|
||||
|
||||
/* low_delay may be forced, in this case we will have B-frames
|
||||
* that behave like P-frames. */
|
||||
|
@ -444,6 +444,9 @@ av_cold int MPV_common_init(MpegEncContext *s)
|
||||
{
|
||||
int y_size, c_size, yc_size, i, mb_array_size, mv_table_size, x, y, threads;
|
||||
|
||||
if(s->codec_id == CODEC_ID_MPEG2VIDEO && !s->progressive_sequence)
|
||||
s->mb_height = (s->height + 31) / 32 * 2;
|
||||
else
|
||||
s->mb_height = (s->height + 15) / 16;
|
||||
|
||||
if(s->avctx->pix_fmt == PIX_FMT_NONE){
|
||||
|
Loading…
Reference in New Issue
Block a user