On 2/7/2020 7:43 PM, James Almer wrote: > On 1/14/2020 8:42 PM, Nicolas Gaullier wrote: >> This fixes mpeg2video stream copies to mpeg muxer like this: >> ffmpeg -i xdcamhd.mxf -c:v copy output.mpg >> --- >> libavcodec/mpeg12dec.c | 7 +++++++ >> tests/ref/fate/mxf-probe-d10 | 3 +++ >> tests/ref/fate/ts-demux | 2 +- >> 3 files changed, 11 insertions(+), 1 deletion(-) >> >> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c >> index 17f9495a1d..48ac14fafa 100644 >> --- a/libavcodec/mpeg12dec.c >> +++ b/libavcodec/mpeg12dec.c >> @@ -1398,6 +1398,7 @@ static void >> mpeg_decode_sequence_extension(Mpeg1Context *s1) >> MpegEncContext *s = &s1->mpeg_enc_ctx; >> int horiz_size_ext, vert_size_ext; >> int bit_rate_ext; >> + AVCPBProperties *cpb_props; >> >> skip_bits(&s->gb, 1); /* profile and level esc*/ >> s->avctx->profile = get_bits(&s->gb, 3); >> @@ -1429,6 +1430,12 @@ static void >> mpeg_decode_sequence_extension(Mpeg1Context *s1) >> ff_dlog(s->avctx, "sequence extension\n"); >> s->codec_id = s->avctx->codec_id = AV_CODEC_ID_MPEG2VIDEO; >> >> + if (cpb_props = ff_add_cpb_side_data(s->avctx)) { >> + cpb_props->buffer_size = FFMAX(cpb_props->buffer_size, >> s->avctx->rc_buffer_size); > > cpb_props->buffer_size is initialized as zero, and rc_buffer_size is not > meant to be used for decoding, so i imagine is also zero.
Ok, so i see this decoder is setting rc_buffer_size despite the doxy stating it shouldn't, so nevermind that part. I think this should be done using an internal field in Mpeg1Context instead, or the API changed and it reflected in the doxy. I'm more inclined for the former option, since you'll be exporting the value using AVCPBProperties after all. > >> + if (s->bit_rate != 0x3FFFF*400) >> + cpb_props->max_bitrate = FFMAX(cpb_props->max_bitrate, >> s->bit_rate); >> + } >> + >> if (s->avctx->debug & FF_DEBUG_PICT_INFO) >> av_log(s->avctx, AV_LOG_DEBUG, >> "profile: %d, level: %d ps: %d cf:%d vbv buffer: %d, >> bitrate:%"PRId64"\n", >> diff --git a/tests/ref/fate/mxf-probe-d10 b/tests/ref/fate/mxf-probe-d10 >> index ab564467b5..317d4ae4c5 100644 >> --- a/tests/ref/fate/mxf-probe-d10 >> +++ b/tests/ref/fate/mxf-probe-d10 >> @@ -50,6 +50,9 @@ DISPOSITION:clean_effects=0 >> DISPOSITION:attached_pic=0 >> DISPOSITION:timed_thumbnails=0 >> >> TAG:file_package_umid=0x060A2B340101010501010D1313000000AE86B200913105800000080046A54011 >> +[SIDE_DATA] >> +side_data_type=CPB properties >> +[/SIDE_DATA] >> [/STREAM] >> [STREAM] >> index=1 >> diff --git a/tests/ref/fate/ts-demux b/tests/ref/fate/ts-demux >> index eb13ecc684..cdf34d6af0 100644 >> --- a/tests/ref/fate/ts-demux >> +++ b/tests/ref/fate/ts-demux >> @@ -15,7 +15,7 @@ >> 1, 5760, 5760, 2880, 1536, 0xbab5129c >> 1, 8640, 8640, 2880, 1536, 0x602f034b, S=1, 1, >> 0x00bd00bd >> 1, 11520, 11520, 2880, 906, 0x69cdcbcd >> -0, 32037, 36541, 1501, 114336, 0x37a215a8, S=1, 1, >> 0x00e000e0 >> +0, 32037, 36541, 1501, 114336, 0x37a215a8, S=2, 1, >> 0x00e000e0, 24, 0x663d0b52 >> 0, 33538, 33538, 1501, 12560, 0xb559a3d4, F=0x0, S=1, >> 1, 0x00e000e0 >> 0, 35040, 35040, 1501, 12704, 0x2614adf4, F=0x0, S=1, >> 1, 0x00e000e0 >> 0, 36541, 41046, 1501, 51976, 0x9ff1dbfe, F=0x0, S=1, >> 1, 0x00e000e0 >> > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".