[FFmpeg-devel] [PATCH v3 3/3] avcodec/aacdec: Translate PCE to avutil channel layouts

pkv.stream pkv.stream at gmail.com
Thu Oct 25 20:47:22 EEST 2018


Le 25/10/2018 à 12:16 AM, Alex Converse a écrit :
> On Wed, Oct 24, 2018 at 1:03 PM pkv.stream <pkv.stream at gmail.com> wrote:
>> Patch updated ; passes all FATE tests.
>>
>> Comments from Alex Converse review incorporated (much thanks to him).
>>
> Hey,
>
> I'm a bit concerned with the outputs this generates for low channel
> count streams.
>
> al17_44.mp4 has two front SCEs.
>
> "ISO/IEC 13818-7:2005(E), 8.5.3.2 Explicit channel mapping using a
> program_config_element" says:
>
> Included in the PCE are “list of front channels”, using the rule
> center outwards, left before right. In this list, a center channel
> SCE, if any, must come first, and any other SCE’s must appear in
> pairs, constituting an LR pair. If only two SCE’s are specified, this
> signifies one LR stereophonic pair.
>
> Before the patch we were getting L+R. With the patch we are getting
> (FC+TFC) (0x2004).
>
> I know of at least one commercial encoder that supports unpaired dual mono.
>
> Do you know which spec the contains the eratta for top channels? There
> doesn't seem to be much of value in Amd.6. Do you have any real
> examples of a multichannel stream with a top center speaker or any
> supporting documentation you could point me at?

Hi Alex

I'm only aware of 22.2 (chan_config = 13).

So given that top channels are not common, I 'm thinking of these 
options in sniff_channel_order function :

- for chan_config == 0, keep only the decoding table and remove my 
custom layout code;

- OR modify the custom layout code for chan_config == 0 , along lines 
like that :

switch (num_front_channels_SCE + num_front_channels_CPE) {
         case 1:
             layout |= AV_CH_FRONT_CENTER;
             break;
         case 2:
             layout |= AV_CH_FRONT_LEFT | AV_CH_FRONT_RIGHT ; // will 
set the vector al17_44.mp4 back to FL+FR
             break;
etc adding FLC, FRC, then TFC, and all the top channels
         }

- OR keep the custom layout code so that SCE +SCE can be a dual mono as 
FC + TFC.

Any option suits me; I'm agnostic on the matter.

As you wrote in your blog 
<http://spectralhole.blogspot.com/2010/08/aac-bistream-flaws-part-1-channel-model.html>, 
the channel spec is a big mess. ;-)

Best regards

pkv

> Thanks,
> Alex
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel




More information about the ffmpeg-devel mailing list