[FFmpeg-trac] #3038(undetermined:closed): FFMPEG crashes encoding AAC audio at 32k/1ch AAC, but not at 31k/1ch or 33k/1ch

FFmpeg trac at avcodec.org
Tue Oct 15 18:49:37 CEST 2013


#3038: FFMPEG crashes encoding AAC audio at 32k/1ch AAC, but not at 31k/1ch or
33k/1ch
-------------------------------------+-------------------------------------
             Reporter:  soulbabel    |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:
              Version:  unspecified  |  undetermined
             Keywords:               |               Resolution:
             Blocking:               |  worksforme
Analyzed by developer:  0            |               Blocked By:
                                     |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by Kamedo2):

 I tried the input.mp4 and it crashed on Win7 64bit, Core i7 870. I tried
 to use the foobar2000 decoded wav as an input, but it also fails. I tried
 many diverse wav files and quiet speech samples seem to cause the crash
 problem. I'm going to post another problematic sample that crash the vo-
 aacenc. I compressed the file into FLAC, but using the original wav
 doesn't help.
 {{{
 cores\ffmpeg57158.exe -v 9 -loglevel 99 -y -i input.mp4 -c:a libvo_aacenc
 -ac 1
 -b:a 32k -ar 44100 output.mp4
 ffmpeg version N-57158-g51df616 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Oct 16 2013 00:36:40 with gcc 4.8.1 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-
 libfdk
 -aac --enable-libfaac --enable-libmp3lame --enable-libvo-aacenc --extra-
 ldflags=
 -static --extra-cflags='-march=nocona -mfpmath=sse' --optflags=-O2
   libavutil      52. 46.101 / 52. 46.101
   libavcodec     55. 36.100 / 55. 36.100
   libavformat    55. 19.102 / 55. 19.102
   libavdevice    55.  4.100 / 55.  4.100
   libavfilter     3. 88.101 /  3. 88.101
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.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 '-y' ... matched as option 'y' (overwrite output files)
 with argu
 ment '1'.
 Reading option '-i' ... matched as input file with argument 'input.mp4'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'libv
 o_aacenc'.
 Reading option '-ac' ... matched as option 'ac' (set number of audio
 channels) w
 ith argument '1'.
 Reading option '-b:a' ... matched as option 'b' (video bitrate (please use
 -b:v)
 ) with argument '32k'.
 Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
 (in Hz)
 ) with argument '44100'.
 Reading option 'output.mp4' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option y (overwrite output files) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input file input.mp4.
 Successfully parsed a group of options.
 Opening an input file: input.mp4.
 [mov,mp4,m4a,3gp,3g2,mj2 @ 03375f40] Format mov,mp4,m4a,3gp,3g2,mj2 probed
 with
 size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 03375f40] ISO: File Type Major Brand: isom
 [mov,mp4,m4a,3gp,3g2,mj2 @ 03375f40] File position before
 avformat_find_stream_i
 nfo() is 4775256
 [mov,mp4,m4a,3gp,3g2,mj2 @ 03375f40] All info found
 [mov,mp4,m4a,3gp,3g2,mj2 @ 03375f40] File position after
 avformat_find_stream_in
 fo() is 392
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf55.19.100
   Duration: 00:05:00.84, start: 0.834830, bitrate: 126 kb/s
     Stream #0:0(eng), 1, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
 Hz, ster
 eo, fltp, 125 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Successfully opened the file.
 Parsing a group of options: output file output.mp4.
 Applying option c:a (codec name) with argument libvo_aacenc.
 Applying option ac (set number of audio channels) with argument 1.
 Applying option b:a (video bitrate (please use -b:v)) with argument 32k.
 Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
 Successfully parsed a group of options.
 Opening an output file: output.mp4.
 Successfully opened the file.
 detected 8 logical cores
 [graph 0 input from stream 0:0 @ 033e7040] Setting 'time_base' to value
 '1/44100
 '
 [graph 0 input from stream 0:0 @ 033e7040] Setting 'sample_rate' to value
 '44100
 '
 [graph 0 input from stream 0:0 @ 033e7040] Setting 'sample_fmt' to value
 'fltp'
 [graph 0 input from stream 0:0 @ 033e7040] Setting 'channel_layout' to
 value '0x
 3'
 [graph 0 input from stream 0:0 @ 033e7040] tb:1/44100 samplefmt:fltp
 samplerate:
 44100 chlayout:0x3
 [audio format for output stream 0:0 @ 03372780] Setting 'sample_fmts' to
 value '
 s16'
 [audio format for output stream 0:0 @ 03372780] Setting 'sample_rates' to
 value
 '44100'
 [audio format for output stream 0:0 @ 03372780] Setting 'channel_layouts'
 to val
 ue '0x4'
 [audio format for output stream 0:0 @ 03372780] auto-inserting filter
 'auto-inse
 rted resampler 0' between the filter 'Parsed_anull_0' and the filter
 'audio form
 at for output stream 0:0'
 [AVFilterGraph @ 0337df20] query_formats: 4 queried, 6 merged, 3 already
 done, 0
  delayed
 0.500000 0.500000
 [auto-inserted resampler 0 @ 03372b00] ch:2 chl:stereo fmt:fltp r:44100Hz
 -> ch:
 1 chl:mono fmt:s16 r:44100Hz
 Output #0, mp4, to 'output.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf55.19.102
     Stream #0:0(eng), 0, 1/44100: Audio: aac (libvo_aacenc) ([64][0][0][0]
 / 0x0
 040), 44100 Hz, mono, s16, 32 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Stream mapping:
   Stream #0:0 -> #0:0 (aac -> libvo_aacenc)
 Press [q] to stop, [?] for help
 size=     183kB time=00:00:47.05 bitrate=  31.8kbits/s
 }}}


 {{{
 cores\ffmpeg57158.exe -v 9 -loglevel 99 -y -i input.wav -c:a libvo_aacenc
 -ac 1 -b:a 32k -ar 44100 output.mp4
 ffmpeg version N-57158-g51df616 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Oct 16 2013 00:36:40 with gcc 4.8.1 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-
 libfdk
 -aac --enable-libfaac --enable-libmp3lame --enable-libvo-aacenc --extra-
 ldflags=
 -static --extra-cflags='-march=nocona -mfpmath=sse' --optflags=-O2
   libavutil      52. 46.101 / 52. 46.101
   libavcodec     55. 36.100 / 55. 36.100
   libavformat    55. 19.102 / 55. 19.102
   libavdevice    55.  4.100 / 55.  4.100
   libavfilter     3. 88.101 /  3. 88.101
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.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 '-y' ... matched as option 'y' (overwrite output files)
 with argu
 ment '1'.
 Reading option '-i' ... matched as input file with argument 'input.wav'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'libv
 o_aacenc'.
 Reading option '-ac' ... matched as option 'ac' (set number of audio
 channels) w
 ith argument '1'.
 Reading option '-b:a' ... matched as option 'b' (video bitrate (please use
 -b:v)
 ) with argument '32k'.
 Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
 (in Hz)
 ) with argument '44100'.
 Reading option 'output.mp4' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option y (overwrite output files) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input file input.wav.
 Successfully parsed a group of options.
 Opening an input file: input.wav.
 [wav @ 03355f40] Format wav probed with size=2048 and score=99
 [wav @ 03355f40] File position before avformat_find_stream_info() is 44
 [wav @ 03355f40] parser not found for codec pcm_s16le, packets or times
 may be i
 nvalid.
 [wav @ 03355f40] probing stream 0 pp:4
 [wav @ 03355f40] probing stream 0 pp:3
 [wav @ 03355f40] probing stream 0 pp:2
 [wav @ 03355f40] probing stream 0 pp:1
 [wav @ 03355f40] probed stream 0
 [wav @ 03355f40] parser not found for codec pcm_s16le, packets or times
 may be i
 nvalid.
 [wav @ 03355f40] max_analyze_duration 5000000 reached at 5015510
 microseconds
 [wav @ 03355f40] File position after avformat_find_stream_info() is 897068
 Guessed Channel Layout for  Input Stream #0.0 : stereo
 Input #0, wav, from 'input.wav':
   Duration: 00:05:00.84, bitrate: 1411 kb/s
     Stream #0:0, 218, 1/44100: Audio: pcm_s16le ([1][0][0][0] / 0x0001),
 44100 H
 z, stereo, s16, 1411 kb/s
 Successfully opened the file.
 Parsing a group of options: output file output.mp4.
 Applying option c:a (codec name) with argument libvo_aacenc.
 Applying option ac (set number of audio channels) with argument 1.
 Applying option b:a (video bitrate (please use -b:v)) with argument 32k.
 Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
 Successfully parsed a group of options.
 Opening an output file: output.mp4.
 Successfully opened the file.
 detected 8 logical cores
 [graph 0 input from stream 0:0 @ 038b9de0] Setting 'time_base' to value
 '1/44100
 '
 [graph 0 input from stream 0:0 @ 038b9de0] Setting 'sample_rate' to value
 '44100
 '
 [graph 0 input from stream 0:0 @ 038b9de0] Setting 'sample_fmt' to value
 's16'
 [graph 0 input from stream 0:0 @ 038b9de0] Setting 'channel_layout' to
 value '0x
 3'
 [graph 0 input from stream 0:0 @ 038b9de0] tb:1/44100 samplefmt:s16
 samplerate:4
 4100 chlayout:0x3
 [audio format for output stream 0:0 @ 03442a20] Setting 'sample_fmts' to
 value '
 s16'
 [audio format for output stream 0:0 @ 03442a20] Setting 'sample_rates' to
 value
 '44100'
 [audio format for output stream 0:0 @ 03442a20] Setting 'channel_layouts'
 to val
 ue '0x4'
 [audio format for output stream 0:0 @ 03442a20] auto-inserting filter
 'auto-inse
 rted resampler 0' between the filter 'Parsed_anull_0' and the filter
 'audio form
 at for output stream 0:0'
 [AVFilterGraph @ 0335da40] query_formats: 4 queried, 7 merged, 3 already
 done, 0
  delayed
 0.500000 0.500000
 [auto-inserted resampler 0 @ 03442f00] ch:2 chl:stereo fmt:s16 r:44100Hz
 -> ch:1
  chl:mono fmt:s16 r:44100Hz
 Output #0, mp4, to 'output.mp4':
   Metadata:
     encoder         : Lavf55.19.102
     Stream #0:0, 0, 1/44100: Audio: aac (libvo_aacenc) ([64][0][0][0] /
 0x0040),
  44100 Hz, mono, s16, 32 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_s16le -> libvo_aacenc)
 Press [q] to stop, [?] for help
 size=     195kB time=00:00:50.23 bitrate=  31.8kbits/s
 }}}

 {{{
 cores\ffmpeg57158.exe -v 9 -loglevel 99 -y -i voaacenc_freeze_30-39.flac
 -c:a
 libvo_aacenc -ac 1 -b:a 32k -ar 44100 output.mp4
 ffmpeg version N-57158-g51df616 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Oct 16 2013 00:36:40 with gcc 4.8.1 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-
 libfdk
 -aac --enable-libfaac --enable-libmp3lame --enable-libvo-aacenc --extra-
 ldflags=
 -static --extra-cflags='-march=nocona -mfpmath=sse' --optflags=-O2
   libavutil      52. 46.101 / 52. 46.101
   libavcodec     55. 36.100 / 55. 36.100
   libavformat    55. 19.102 / 55. 19.102
   libavdevice    55.  4.100 / 55.  4.100
   libavfilter     3. 88.101 /  3. 88.101
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.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 '-y' ... matched as option 'y' (overwrite output files)
 with argu
 ment '1'.
 Reading option '-i' ... matched as input file with argument
 'voaacenc_freeze_30-
 39.flac'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'libv
 o_aacenc'.
 Reading option '-ac' ... matched as option 'ac' (set number of audio
 channels) w
 ith argument '1'.
 Reading option '-b:a' ... matched as option 'b' (video bitrate (please use
 -b:v)
 ) with argument '32k'.
 Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
 (in Hz)
 ) with argument '44100'.
 Reading option 'output.mp4' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option y (overwrite output files) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input file voaacenc_freeze_30-39.flac.
 Successfully parsed a group of options.
 Opening an input file: voaacenc_freeze_30-39.flac.
 [flac @ 0033ef60] Format flac probed with size=2048 and score=50
 [flac @ 0033ef60] File position before avformat_find_stream_info() is 8282
 [flac @ 0033f940] sample/frame number mismatch in adjacent frames
     Last message repeated 126 times
 [flac @ 0033ef60] max_analyze_duration 5000000 reached at 5015510
 microseconds
 [flac @ 0033ef60] File position after avformat_find_stream_info() is
 364544
 Input #0, flac, from 'voaacenc_freeze_30-39.flac':
   Duration: 00:00:09.00, bitrate: 504 kb/s
     Stream #0:0, 56, 1/44100: Audio: flac, 44100 Hz, stereo, s16
 Successfully opened the file.
 Parsing a group of options: output file output.mp4.
 Applying option c:a (codec name) with argument libvo_aacenc.
 Applying option ac (set number of audio channels) with argument 1.
 Applying option b:a (video bitrate (please use -b:v)) with argument 32k.
 Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
 Successfully parsed a group of options.
 Opening an output file: output.mp4.
 Successfully opened the file.
 detected 8 logical cores
 [graph 0 input from stream 0:0 @ 03656a20] Setting 'time_base' to value
 '1/44100
 '
 [graph 0 input from stream 0:0 @ 03656a20] Setting 'sample_rate' to value
 '44100
 '
 [graph 0 input from stream 0:0 @ 03656a20] Setting 'sample_fmt' to value
 's16'
 [graph 0 input from stream 0:0 @ 03656a20] Setting 'channel_layout' to
 value '0x
 3'
 [graph 0 input from stream 0:0 @ 03656a20] tb:1/44100 samplefmt:s16
 samplerate:4
 4100 chlayout:0x3
 [audio format for output stream 0:0 @ 035909c0] Setting 'sample_fmts' to
 value '
 s16'
 [audio format for output stream 0:0 @ 035909c0] Setting 'sample_rates' to
 value
 '44100'
 [audio format for output stream 0:0 @ 035909c0] Setting 'channel_layouts'
 to val
 ue '0x4'
 [audio format for output stream 0:0 @ 035909c0] auto-inserting filter
 'auto-inse
 rted resampler 0' between the filter 'Parsed_anull_0' and the filter
 'audio form
 at for output stream 0:0'
 [AVFilterGraph @ 0359dde0] query_formats: 4 queried, 7 merged, 3 already
 done, 0
  delayed
 0.500000 0.500000
 [auto-inserted resampler 0 @ 03591660] ch:2 chl:stereo fmt:s16 r:44100Hz
 -> ch:1
  chl:mono fmt:s16 r:44100Hz
 Output #0, mp4, to 'output.mp4':
   Metadata:
     encoder         : Lavf55.19.102
     Stream #0:0, 0, 1/44100: Audio: aac (libvo_aacenc) ([64][0][0][0] /
 0x0040),
  44100 Hz, mono, s16, 32 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (flac -> libvo_aacenc)
 Press [q] to stop, [?] for help
 [flac @ 0033f940] sample/frame number mismatch in adjacent frames
     Last message repeated 21 times
 }}}
 All of these 3 examples crash.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/3038#comment:9>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list