[FFmpeg-devel] [PATCH] avformat/mpegenc - reject unsupported audio streams

Gyan ffmpeg at gyani.pro
Fri Jul 19 13:44:40 EEST 2019



On 17-07-2019 02:23 PM, Carl Eugen Hoyos wrote:
>
>
>> Am 08.07.2019 um 14:05 schrieb Gyan <ffmpeg at gyani.pro>:
>>
>>
>>
>>> On 25-04-2019 01:48 PM, Gyan wrote:
>>>
>>>
>>>> On 25-04-2019 01:23 PM, Ali KIZIL wrote:
>>>>
>>>> There are also Dolby Codecs (ac3 & eac3). Will it also throw error for
>>>> these codecs ?
>>> AC3   is      supported before and after this patch.
>>> EAC3 is unsupported before and after this patch.
>>>
>>> But it's sent to the same decoder, so support could be added. I'll check.
>> Attached patch allows muxing EAC3 in MPEG-PS.  Stock ffmpeg can demux and decode such streams fine.
> Which descriptor is used for eac3?
> Please do not commit just because decoding works with FFmpeg, at least try to find some specification.

The PS muxer appears to use System A and this is what the ATSC A/52 
(2012) standard says,

"For System A, this section extends the use ofthe AC-3 Registration 
Descriptor defined in Section A3 in combination with the E-AC-3 
stream_type value defined below."

and

"E-AC-3 bit streams shall be identified with a stream_typevalue of 0x87 
when transmitted as PES streams conforming to ATSC-published standards."

Note that the stream_type value of AC-3 is 0x81 yet our id sequence 
starts from 0x80.  This patch uses the same descriptor series as AC-3, 
however if I switch to 0x87, only one such stream may be muxed as 0x88 
was assigned (by you) to DTS. Also, our demuxer sets the codec_id to DTS 
for 0x88 to 0x8f.

Both stock ffmpeg and VlC 4.0 nightly play files using the current 
patch. Mediainfo also identifies the codec correctly.

Comments?

Gyan


More information about the ffmpeg-devel mailing list