[FFmpeg-devel] [PATCH 7/8] avformat/mpegtsenc: add registration descriptor for AC-3 and EAC3

Marton Balint cus at passwd.hu
Sat Aug 22 20:27:30 EEST 2020



On Sat, 22 Aug 2020, lance.lmwang at gmail.com wrote:

> On Wed, Jul 22, 2020 at 11:27:38PM +0800, lance.lmwang at gmail.com wrote:
>> From: Limin Wang <lance.lmwang at gmail.com>
>> 
>> copy the atsc ac3 audio in ts like below:
>> ./ffmpeg -i atsc_audio.ts -c:v copy -c:a copy out.ts
>> Stream #0:6[0x64](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
>> 
>> ./ffmpeg -i out.ts
>> Before:
>> Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
>> 
>> After applied patch:
>> Stream #0:1[0x101](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
>> 
>> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
>> ---
>>  libavformat/mpegtsenc.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
>> index a5b45fb..f060ea6 100644
>> --- a/libavformat/mpegtsenc.c
>> +++ b/libavformat/mpegtsenc.c
>> @@ -535,6 +535,11 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
>>                      *q++=1; // 1 byte, all flags sets to 0
>>                      *q++=0; // omit all fields...
>>                  }
>> +            } else {
>> +                if (codec_id == AV_CODEC_ID_AC3)
>> +                    put_registration_descriptor(&q, MKTAG('A', 'C', '-', '3'));
>> +                else if (codec_id == AV_CODEC_ID_EAC3)
>> +                    put_registration_descriptor(&q, MKTAG('E', 'A', 'C', '3'));
>>              }
>>              if (codec_id == AV_CODEC_ID_S302M)
>>                  put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D'));
>> -- 
>> 1.8.3.1
>> 
>
> ping the patch, as I'll submit patch to support atsc ac3 descriptor after that.

Why is this patch needed?

https://www.atsc.org/wp-content/uploads/2015/03/A52-2018-1.pdf

does not seem to require the use of MPEG2 registration descriptor for 
ATSC.

I am not saying this is patch is bad, but some valid reason should be 
found to justify it, and the fact that AC3 fourcc is reported is 
irrelevant, that is just fourcc, it can be anything.

Thanks,
Marton


More information about the ffmpeg-devel mailing list