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".

Reply via email to