[FFmpeg-trac] #11303(undetermined:new): AAC files are always reported as constant bitrate

FFmpeg trac at avcodec.org
Sat Nov 16 12:50:42 EET 2024


#11303: AAC files are always reported as constant bitrate
-------------------------------------+-------------------------------------
             Reporter:  Me           |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:  aac          |               Blocked By:
  variable bitrate                   |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 **Issue:**

 The meta data of an aac audio file (.m4a) always reports the file to be
 constant bitrate. This is true for variable bitrate aac audio files that
 are created with ffmpeg (libfdk_aac) and aac files that are just copied
 with ffmpeg.

 **Commandline for creation of an m4a file:**



 {{{
 ffmpeg -i test_input.flac -c:a libfdk_aac -vbr 5 out_file.m4a
 }}}

 Check bitrate:

 {{{
 mediainfo out_file.m4a
 }}}



 {{{
 General
 Complete name                            : out_file.m4a
 Format                                   : MPEG-4
 Format profile                           : Apple audio with iTunes info
 Codec ID                                 : M4A  (M4A /isom/iso2)
 File size                                : 7.33 MiB
 Duration                                 : 4 min 51 s
 Overall bit rate mode                    : Constant
 Overall bit rate                         : 211 kb/s
 Album                                    : test album
 Album/Performer                          : test album artist
 Track name                               : test title
 Track name/Position                      : 1
 Performer                                : test artist
 Genre                                    : test genre
 Recorded date                            : 2000
 Writing application                      : Lavf61.1.100
 Comment                                  : test comment

 Audio
 ID                                       : 1
 Format                                   : AAC LC
 Format/Info                              : Advanced Audio Codec Low
 Complexity
 Codec ID                                 : mp4a-40-2
 Duration                                 : 4 min 51 s
 Source duration                          : 4 min 51 s
 Source_Duration_LastFrame                : -16 ms
 Bit rate mode                            : Constant
 Bit rate                                 : 210 kb/s
 Channel(s)                               : 2 channels
 Channel layout                           : L R
 Sampling rate                            : 44.1 kHz
 Frame rate                               : 43.066 FPS (1024 SPF)
 Compression mode                         : Lossy
 Stream size                              : 7.28 MiB (99%)
 Source stream size                       : 7.28 MiB (99%)
 Default                                  : Yes
 Alternate group                          : 1
 }}}




 **Commandline for copying a vbr aac audio source:**


 Create a vbr m4a-file:

 {{{
 ffmpeg -i test_input.flac -f caf - | fdkaac -m 5 -o fdkaac.m4a -
 }}}


 Confirm vbr:

 {{{
 mediainfo fdkaac.m4a
 }}}


 {{{
 General
 Complete name                            : fdkaac.m4a
 Format                                   : MPEG-4
 Format profile                           : Apple audio with iTunes info
 Codec ID                                 : M4A  (M4A /mp42/isom)
 File size                                : 7.33 MiB
 Duration                                 : 4 min 51 s
 Overall bit rate mode                    : Variable
 Overall bit rate                         : 211 kb/s
 Album                                    : test album
 Album/Performer                          : test album artist
 Track name                               : test title
 Track name/Position                      : 1
 Performer                                : test artist
 Genre                                    : test genre
 Recorded date                            : 2000
 Encoded date                             : UTC 2024-11-16 10:21:08
 Tagged date                              : UTC 2024-11-16 10:21:08
 Writing application                      : fdkaac 1.0.0, libfdk-aac 4.0.1,
 VBR mode 5
 Comment                                  : test comment

 Audio
 ID                                       : 1
 Format                                   : AAC LC
 Format/Info                              : Advanced Audio Codec Low
 Complexity
 Codec ID                                 : mp4a-40-2
 Duration                                 : 4 min 51 s
 Bit rate mode                            : Variable
 Bit rate                                 : 210 kb/s
 Channel(s)                               : 2 channels
 Channel layout                           : L R
 Sampling rate                            : 44.1 kHz
 Frame rate                               : 43.066 FPS (1024 SPF)
 Compression mode                         : Lossy
 Stream size                              : 7.28 MiB (99%)
 Encoded date                             : UTC 2024-11-16 10:21:08
 Tagged date                              : UTC 2024-11-16 10:21:08
 }}}


 Copy the file with ffmpeg:

 {{{
 myffmpeg -i fdkaac.m4a -c:a copy copy_ffmpeg.m4a
 }}}


 Confirm metadata:

 {{{
 mediainfo copy_ffmpeg.m4a
 }}}


 {{{
 General
 Complete name                            : copy_ffmpeg.m4a
 Format                                   : MPEG-4
 Format profile                           : Apple audio with iTunes info
 Codec ID                                 : M4A  (M4A /isom/iso2)
 File size                                : 7.33 MiB
 Duration                                 : 4 min 51 s
 Overall bit rate mode                    : Constant
 Overall bit rate                         : 211 kb/s
 Album                                    : test album
 Album/Performer                          : test album artist
 Track name                               : test title
 Track name/Position                      : 1
 Performer                                : test artist
 Genre                                    : test genre
 Recorded date                            : 2000
 Writing application                      : Lavf61.1.100
 Comment                                  : test comment

 Audio
 ID                                       : 1
 Format                                   : AAC LC
 Format/Info                              : Advanced Audio Codec Low
 Complexity
 Codec ID                                 : mp4a-40-2
 Duration                                 : 4 min 51 s
 Source duration                          : 4 min 51 s
 Bit rate mode                            : Constant
 Bit rate                                 : 210 kb/s
 Channel(s)                               : 2 channels
 Channel layout                           : L R
 Sampling rate                            : 44.1 kHz
 Frame rate                               : 43.066 FPS (1024 SPF)
 Compression mode                         : Lossy
 Stream size                              : 7.28 MiB (99%)
 Source stream size                       : 7.28 MiB (99%)
 Default                                  : Yes
 Alternate group                          : 1

 }}}

 Without changing the actual audio stream the metadata is set to constant
 bitrate even though the input is a variable bitrate.

 **
 The issue was observed/reproduced with:**

 ffmpeg version 7.0.2
 ffmpeg version N-71064-gd5e603ddc0-static
 ffmpeg version 4.4.2-0ubuntu0.22.04.1

 **Log file (shortend):**

 {{{
 ffmpeg version 7.0.2 Copyright (c) 2000-2024 the FFmpeg developers
   built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
   configuration: --prefix=/home/test/ffmpeg-static/target --pkg-config-
 flags=--static --extra-cflags=-I/home/test/ffmpeg-static/target/include
 --extra-ldflags=-L/home/test/ffmpeg-static/target/lib --extra-
 ldexeflags=-static --extra-libs='-lpthread -lm -lz' --bindir=/home/test
 /ffmpeg-static/bin --enable-gpl --enable-nonfree --enable-libfdk-aac
 --enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libopus
 --enable-libvorbis --enable-libxvid --enable-libtheora --enable-libvpx
 --enable-libwebp --enable-libsvtav1 --enable-libdav1d --enable-libaom
 --enable-libfreetype --enable-libass
   libavutil      59.  8.100 / 59.  8.100
   libavcodec     61.  3.100 / 61.  3.100
   libavformat    61.  1.100 / 61.  1.100
   libavdevice    61.  1.100 / 61.  1.100
   libavfilter    10.  1.100 / 10.  1.100
   libswscale      8.  1.100 /  8.  1.100
   libswresample   5.  1.100 /  5.  1.100
   libpostproc    58.  1.100 / 58.  1.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-i' ... matched as input url with argument 'fdkaac.m4a'.
 Reading option '-c:a' ... matched as option 'c' (select encoder/decoder
 ('copy' to copy stream without reencoding)) with argument 'copy'.
 Reading option 'copy_ffmpeg.m4a' ... matched as output url.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Successfully parsed a group of options.
 Parsing a group of options: input url fdkaac.m4a.
 Successfully parsed a group of options.
 Opening an input file: fdkaac.m4a.
 [AVFormatContext @ 0x1ba33e40] Opening 'fdkaac.m4a' for reading
 [file @ 0x1ba34440] Setting default whitelist 'file,crypto,data'
 Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] Format mov,mp4,m4a,3gp,3g2,mj2
 probed with size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'ftyp' parent:'root' sz: 32 8
 7689874
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] ISO: File Type Major Brand: M4A
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'free' parent:'root' sz: 8 40
 7689874
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'mdat' parent:'root' sz:
 7636157 48 7689874
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'moov' parent:'root' sz: 53677
 7636205 7689874
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'mvhd' parent:'moov' sz: 108 8
 53669
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] time scale = 44100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'trak' parent:'moov' sz: 52972
 116 53669
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'tkhd' parent:'trak' sz: 92 8
 52964
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'mdia' parent:'trak' sz: 52872
 100 52964
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'mdhd' parent:'mdia' sz: 32 8
 52864
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'hdlr' parent:'mdia' sz: 33 40
 52864
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] ctype=[0][0][0][0]
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stype=soun
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'minf' parent:'mdia' sz: 52799
 73 52864
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'smhd' parent:'minf' sz: 16 8
 52791
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'dinf' parent:'minf' sz: 36 24
 52791
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'dref' parent:'dinf' sz: 28 8
 28
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] Unknown dref type 0x206c7275 size
 12
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stbl' parent:'minf' sz: 52739
 60 52791
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stsd' parent:'stbl' sz: 103 8
 52731
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] size=87 4CC=mp4a codec_type=1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] audio channels 2
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] version =0, isom =1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'esds' parent:'stsd' sz: 51 8
 51
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] MPEG-4 description: tag=0x03 len=34
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] MPEG-4 description: tag=0x04 len=20
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] esds object type id 0x40
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] MPEG-4 description: tag=0x05 len=2
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] Specific MPEG-4 header len=2
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] mp4a config channels 2 obj 2 ext
 obj 0 sample rate 44100 ext sample rate 0
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stts' parent:'stbl' sz: 24
 111 52731
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] track[0].stts.entries = 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] sample_count=12535,
 sample_duration=1024
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stsc' parent:'stbl' sz: 40
 135 52731
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] track[0].stsc.entries = 2
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stsz' parent:'stbl' sz: 50160
 175 52731
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] sample_size = 0 sample_count =
 12535
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'stco' parent:'stbl' sz: 2404
 50335 52731
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 0, offset
 30, dts 0, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 1, offset
 38, dts 1024, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 2, offset
 40, dts 2048, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 3, offset
 48, dts 3072, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 4, offset
 50, dts 4096, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 5, offset
 58, dts 5120, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 6, offset
 60, dts 6144, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 7, offset
 68, dts 7168, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 8, offset
 70, dts 8192, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 9, offset
 78, dts 9216, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 10, offset
 80, dts 10240, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 11, offset
 88, dts 11264, size 8, distance 0, keyframe 1

 .....
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 12530,
 offset 7484bd, dts 12830720, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 12531,
 offset 7484c5, dts 12831744, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 12532,
 offset 7484cd, dts 12832768, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 12533,
 offset 7484d5, dts 12833792, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] AVIndex stream 0, sample 12534,
 offset 7484dd, dts 12834816, size 8, distance 0, keyframe 1
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'udta' parent:'moov' sz: 589
 53088 53669
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'meta' parent:'udta' sz: 581 8
 581
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'hdlr' parent:'meta' sz: 33 8
 569
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] ctype=[0][0][0][0]
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stype=mdir
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'ilst' parent:'meta' sz: 536
 41 569
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]nam' parent:'ilst' sz:
 34 8 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]ART' parent:'ilst' sz:
 35 42 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'aART' parent:'ilst' sz: 41 77
 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]alb' parent:'ilst' sz:
 34 118 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]day' parent:'ilst' sz:
 28 152 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]gen' parent:'ilst' sz:
 34 180 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]cmt' parent:'ilst' sz:
 36 214 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'trkn' parent:'ilst' sz: 32
 250 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'[169]too' parent:'ilst' sz:
 66 282 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] type:'----' parent:'ilst' sz: 188
 348 528
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] on_parse_exit_offset=7689874
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] Before avformat_find_stream_info()
 pos: 7689874 bytes read:86445 seeks:1 nb_streams:1
 For transform of length 64, inverse, mdct_float, flags: [aligned,
 out_of_place], found 3 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     3: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 32, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 2 matches:
     1: fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 512
     2: fft32_asm_float_avx - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 480
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any],
 flags: [aligned, out_of_place, inv_only]
         fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 64, inverse, mdct_float, flags: [aligned,
 out_of_place], found 3 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     3: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 32, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 2 matches:
     1: fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 512
     2: fft32_asm_float_avx - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 480
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 64, factors[2]: [2, any],
 flags: [aligned, out_of_place, inv_only]
         fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 120, inverse, mdct_float, flags: [aligned,
 out_of_place], found 6 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_pfa_15xM_inv_float_c - type: mdct_float, len: [30, ∞],
 factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only], prio:
 304
     3: mdct_pfa_5xM_inv_float_c - type: mdct_float, len: [10, ∞],
 factors[2]: [5, any], flags: [unaligned, out_of_place, inv_only], prio:
 144
     4: mdct_pfa_3xM_inv_float_c - type: mdct_float, len: [6, ∞],
 factors[2]: [3, any], flags: [unaligned, out_of_place, inv_only], prio:
 112
     5: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     6: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 60, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 1 matches:
     1: fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: [60, ∞],
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call], prio: 655
 For transform of length 4, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 1 matches:
     1: fft4_fwd_asm_float_sse2 - type: fft_float, len: 4, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call], prio: 352
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 120, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 60,
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call]
             fft4_fwd_asm_float_sse2 - type: fft_float, len: 4, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 128, inverse, mdct_float, flags: [aligned,
 out_of_place], found 3 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     3: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 64, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 3 matches:
     1: fft_sr_asm_float_fma3 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 448
     2: fft_sr_asm_float_avx2 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 447
     3: fft_sr_asm_float_avx - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call], prio: 416
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 128, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_sr_asm_float_fma3 - type: fft_float, len: 64, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 480, inverse, mdct_float, flags: [aligned,
 out_of_place], found 6 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_pfa_15xM_inv_float_c - type: mdct_float, len: [30, ∞],
 factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only], prio:
 304
     3: mdct_pfa_5xM_inv_float_c - type: mdct_float, len: [10, ∞],
 factors[2]: [5, any], flags: [unaligned, out_of_place, inv_only], prio:
 144
     4: mdct_pfa_3xM_inv_float_c - type: mdct_float, len: [6, ∞],
 factors[2]: [3, any], flags: [unaligned, out_of_place, inv_only], prio:
 112
     5: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     6: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 240, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 1 matches:
     1: fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: [60, ∞],
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call], prio: 655
 For transform of length 16, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 2 matches:
     1: fft16_asm_float_fma3 - type: fft_float, len: 16, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 512
     2: fft16_asm_float_avx - type: fft_float, len: 16, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 480
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 480, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 240,
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call]
             fft16_asm_float_fma3 - type: fft_float, len: 16, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 512, inverse, mdct_float, flags: [aligned,
 out_of_place], found 3 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     3: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 256, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 3 matches:
     1: fft_sr_asm_float_fma3 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 448
     2: fft_sr_asm_float_avx2 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 447
     3: fft_sr_asm_float_avx - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call], prio: 416
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 512, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_sr_asm_float_fma3 - type: fft_float, len: 256, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 960, inverse, mdct_float, flags: [aligned,
 out_of_place], found 6 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_pfa_15xM_inv_float_c - type: mdct_float, len: [30, ∞],
 factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only], prio:
 304
     3: mdct_pfa_5xM_inv_float_c - type: mdct_float, len: [10, ∞],
 factors[2]: [5, any], flags: [unaligned, out_of_place, inv_only], prio:
 144
     4: mdct_pfa_3xM_inv_float_c - type: mdct_float, len: [6, ∞],
 factors[2]: [3, any], flags: [unaligned, out_of_place, inv_only], prio:
 112
     5: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     6: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 480, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 1 matches:
     1: fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: [60, ∞],
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call], prio: 655
 For transform of length 32, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 2 matches:
     1: fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 512
     2: fft32_asm_float_avx - type: fft_float, len: 32, factor: 2, flags:
 [aligned, inplace, out_of_place, preshuf, asm_call], prio: 480
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 960, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_pfa_15xM_asm_float_avx2 - type: fft_float, len: 480,
 factors[2]: [15, 2], flags: [aligned, inplace, out_of_place, preshuf,
 asm_call]
             fft32_asm_float_fma3 - type: fft_float, len: 32, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 1024, inverse, mdct_float, flags: [aligned,
 out_of_place], found 3 matches:
     1: mdct_inv_float_avx2 - type: mdct_float, len: [16, ∞], factors[2]:
 [2, any], flags: [aligned, out_of_place, inv_only], prio: 511
     2: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, inv_only], prio: 96
     3: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
 For transform of length 512, inverse, fft_float, flags: [aligned, inplace,
 preshuf, asm_call], found 3 matches:
     1: fft_sr_asm_float_fma3 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 448
     2: fft_sr_asm_float_avx2 - type: fft_float, len: [64, 2097152],
 factor: 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call],
 prio: 447
     3: fft_sr_asm_float_avx - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf, asm_call], prio: 416
 Transform tree:
     mdct_inv_float_avx2 - type: mdct_float, len: 1024, factors[2]: [2,
 any], flags: [aligned, out_of_place, inv_only]
         fft_sr_asm_float_fma3 - type: fft_float, len: 512, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf, asm_call]
 For transform of length 1024, forward, mdct_float, flags: [aligned,
 out_of_place], found 2 matches:
     1: mdct_fwd_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2,
 any], flags: [unaligned, out_of_place, fwd_only], prio: 96
     2: mdct_naive_fwd_float_c - type: mdct_float, len: [2, ∞], factors[2]:
 [2, any], flags: [unaligned, out_of_place, fwd_only], prio: -130976
 For transform of length 512, forward, fft_float, flags: [aligned, inplace,
 preshuf], found 5 matches:
     1: fft_sr_ns_float_fma3 - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 448
     2: fft_sr_ns_float_avx2 - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 447
     3: fft_sr_ns_float_avx - type: fft_float, len: [64, 2097152], factor:
 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 416
     4: fft_pfa_ns_float_c - type: fft_float, len: [6, ∞], factors[2]: [7,
 5, 3, 2, any], flags: [unaligned, inplace, out_of_place, preshuf], prio:
 112
     5: fft512_ns_float_c - type: fft_float, len: 512, factor: 2, flags:
 [unaligned, inplace, out_of_place, preshuf], prio: 96
 Transform tree:
     mdct_fwd_float_c - type: mdct_float, len: 1024, factors[2]: [2, any],
 flags: [unaligned, out_of_place, fwd_only]
         fft_sr_ns_float_fma3 - type: fft_float, len: 512, factor: 2,
 flags: [aligned, inplace, out_of_place, preshuf]
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 0, dts 0
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] demuxer injecting skip 2048 /
 discard 0
 [aac @ 0x1ba34e40] skip 2048 / discard 0 samples due to side data
 [aac @ 0x1ba34e40] skip whole frame, skip left: 1024
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] All info found
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0: start_time: 0.0464399
 duration: 291.062132
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] format: start_time: 0.04644
 duration: 291.062132 (estimate from stream) bitrate=211 kb/s
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] After avformat_find_stream_info()
 pos: 56 bytes read:119213 seeks:2 frames:1
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fdkaac.m4a':
   Metadata:
     major_brand     : M4A
     minor_version   : 0
     compatible_brands: M4A mp42isom
     creation_time   : 2024-11-16T10:21:08.000000Z
     title           : test title
     artist          : test artist
     album_artist    : test album artist
     album           : test album
     date            : 2000
     genre           : test genre
     comment         : test comment
     track           : 1
     encoder         : fdkaac 1.0.0, libfdk-aac 4.0.1, VBR mode 5
     iTunSMPB        :  00000000 00000800 000002B4 0000000000C3D14C
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
   Duration: 00:04:51.06, start: 0.046440, bitrate: 211 kb/s
   Stream #0:0[0x1](und), 1, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D),
 44100 Hz, stereo, fltp, 209 kb/s (default)
       Metadata:
         creation_time   : 2024-11-16T10:21:08.000000Z
         vendor_id       : [0][0][0][0]
 Successfully opened the file.
 Parsing a group of options: output url copy_ffmpeg.m4a.
 Applying option c:a (select encoder/decoder ('copy' to copy stream without
 reencoding)) with argument copy.
 Successfully parsed a group of options.
 Opening an output file: copy_ffmpeg.m4a.
 [out#0/ipod @ 0x1ba3be40] No explicit maps, mapping streams
 automatically...
 [aost#0:0/copy @ 0x1ba37700] Created audio stream from input stream 0:0
 [file @ 0x1ba37b00] Setting default whitelist 'file,crypto,data'
 Successfully opened the file.
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
 Output #0, ipod, to 'copy_ffmpeg.m4a':
   Metadata:
     major_brand     : M4A
     minor_version   : 0
     compatible_brands: M4A mp42isom
     iTunSMPB        :  00000000 00000800 000002B4 0000000000C3D14C
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
     title           : test title
     artist          : test artist
     album_artist    : test album artist
     album           : test album
     date            : 2000
     genre           : test genre
     comment         : test comment
     track           : 1
     encoder         : Lavf61.1.100
   Stream #0:0(und), 0, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100
 Hz, stereo, fltp, 209 kb/s (default)
       Metadata:
         creation_time   : 2024-11-16T10:21:08.000000Z
         vendor_id       : [0][0][0][0]
 [out#0/ipod @ 0x1ba3be40] Starting thread...
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80] Starting thread...
 Press [q] to stop, [?] for help
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 1, dts 23220
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 2, dts 46440
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 3, dts 69660
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 4, dts 92880
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 5, dts 116100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 6, dts 139320
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 7, dts 162540
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 8, dts 185760
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 9, dts 208980
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 10, dts 232200
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 11, dts 255420
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12, dts 278639
 ...
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12530, dts
 290946032
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12531, dts
 290969252
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12532, dts
 290992472
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12533, dts
 291015692
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33e40] stream 0, sample 12534, dts
 291038912
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80] EOF while reading input
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80] Terminating thread with return
 code 0 (success)
 [out#0/ipod @ 0x1ba3be40] All streams finished
 [out#0/ipod @ 0x1ba3be40] Terminating thread with return code 0 (success)
 [AVIOContext @ 0x1ba37bc0] Statistics: 7687474 bytes written, 2 seeks, 33
 writeouts
 [out#0/ipod @ 0x1ba3be40] Output file #0 (copy_ffmpeg.m4a):
 [out#0/ipod @ 0x1ba3be40]   Output stream #0:0 (audio): 12535 packets
 muxed (7636149 bytes);
 [out#0/ipod @ 0x1ba3be40]   Total: 12535 packets (7636149 bytes) muxed
 [out#0/ipod @ 0x1ba3be40] video:0KiB audio:7457KiB subtitle:0KiB other
 streams:0KiB global headers:0KiB muxing overhead: 0.672080%
 size=    7507KiB time=00:04:51.01 bitrate= 211.3kbits/s speed=2.7e+03x
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80] Input file #0 (fdkaac.m4a):
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80]   Input stream #0:0 (audio):
 12535 packets read (7636149 bytes);
 [in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ba33b80]   Total: 12535 packets
 (7636149 bytes) demuxed
 [AVIOContext @ 0x1ba3c600] Statistics: 7754157 bytes read, 2 seeks
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11303>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list