[FFmpeg-trac] #1614(avcodec:open): AAC stream with SBR fails with "channel element 0.1 is not allocated"

FFmpeg trac at avcodec.org
Tue Mar 15 20:52:13 EET 2022


#1614: AAC stream with SBR fails with "channel element 0.1 is not allocated"
------------------------------------+-----------------------------------
             Reporter:  iceman12c   |                    Owner:  (none)
                 Type:  defect      |                   Status:  open
             Priority:  normal      |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  AAC SBR     |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+-----------------------------------
Comment (by Cosmin Stejerean):

 Recently encountered the same issue, on latest ffmpeg 5.0. I took a look
 at the attached file to this ticket and it exhibits the same problem as
 the streams I'm seeing errors on. This "stereo" audio is actually coded as
 single channel elements instead of 1 channel pair element. From the header
 we see that it's a typical AAC-LC stereo

 {{{
 5E291            AudioSpecificConfig (2 bytes)
 5E291             audioObjectType - 2 (0x2) - AAC - LC (0 bytes)
 5E291              audioObjectType:           2 (0x02) - (5 bits)
 5E291             samplingFrequencyIndex:     3 (0x3) - (4 bits) - 48000
 (0xBB80)
 5E292             channelConfiguration:       2 (0x2) - (4 bits) - Front:
 L R
 }}}


 but the AAC data contains two individual SCEs

 {{{
 0002C  1 (379 bytes)
 0002C   raw_data_block (379 bytes)
 0002C    SCE - single_channel_element (184 bytes)
 0002C     id_syn_ele:                         0 (0x0) - (3 bits) - SCE -
 single_channel_element
 0002E    SCE - single_channel_element (376 bytes)
 000E4     id_syn_ele:                         0 (0x0) - (3 bits) - SCE -
 single_channel_element
 00032    END - End (372 bytes)
 001A6     id_syn_ele:                         7 (0x7) - (3 bits) - END -
 End
 001A6    byte_alignment:                      0 (0x0) - (3 bits)
 }}}

 whereas a typica AAC stereo channel pair element would look like this

 {{{
 00913  1 (441 bytes)
 00913   raw_data_block (441 bytes)
 00913    CPE - channel_pair_element (439 bytes)
 00913     id_syn_ele:                         1 (0x1) - (3 bits) - CPE -
 channel_pair_element
 00915    FIL - fill_element (438 bytes)
 00ACA     id_syn_ele:                         6 (0x6) - (3 bits) - FIL -
 fill_element
 00916    END - End (438 bytes)
 00ACB     id_syn_ele:                         7 (0x7) - (3 bits) - END -
 End
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/1614#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list