Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Samples that crash fdk-aac encoder (Read 7540 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Samples that crash fdk-aac encoder

To reproduce crash:

./ffmpeg  -i intensity.flac -acodec libfdk_aac -ab 128k out3.mp4
./ffmpeg -i tns.flac -acodec libfdk_aac -profile:a aac_he_v2 -ab 32k out2.mp4
./ffmpeg -i quan_error.flac -acodec libfdk_aac -profile:a aac_he_v2 -ab 32k out.mp4

Samples that crash fdk-aac encoder

Reply #1
Crashes confirmed caused by untested fixed-point implementation code!

Despite the bad vibe I was getting, I was willing to tolerate issues I've found in the cutoff logic (bad/buggy assignment for high CBR, no checks for valid ranges).

But what I see here is really dangerous. One should not rely on this code for anything serious.

I hope Google didn't pay much for this!

Samples that crash fdk-aac encoder

Reply #2
Crashes confirmed caused by untested fixed-point implementation code!

Despite the bad vibe I was getting, I was willing to tolerate issues I've found in the cutoff logic (bad/buggy assignment for high CBR, no checks for valid ranges).

But what I see here is really dangerous. One should not rely on this code for anything serious.

I hope Google didn't pay much for this!


This sucks, quality on difficult samples is much better than libaacplus and faac. I was hoping that we are finally getting good free encoder with quality comparable to best commercial ones.
What do you mean by bad cutoff for high CBR? Too low?

 

Samples that crash fdk-aac encoder

Reply #3
Crashes confirmed caused by untested fixed-point implementation code!

Despite the bad vibe I was getting, I was willing to tolerate issues I've found in the cutoff logic (bad/buggy assignment for high CBR, no checks for valid ranges).

But what I see here is really dangerous. One should not rely on this code for anything serious.

I hope Google didn't pay much for this!


What do you mean by bad cutoff for high CBR? Too low?


Well, not too low. But it will never go above 17kHz for bitrates from 192kbps all the way up to 512kbps (stereo). So you need to pass '-cutoff 20k' (or whatever value you desire) manually.

And btw, It used to crash if you forgot the 'k'. And It used to silently use 20k if you passed higher values without even a warning. That's what I meant by "no checks for valid ranges". This does not happen anymore in ffmpeg/avconv because a small patch was applied to check for this (in libav/FFmpeg).

This is just an example I came across.

It's obvious now that other (more relevant) parts of the code lack important checks and unit tests. It's possible the whole implementation was never properly tested!

Samples that crash fdk-aac encoder

Reply #4
some weird errors with tns sample, the other two passed (latest git).

Code: [Select]
ffmpeg -i tns.flac -acodec libfdk_aac -profile:a aac_he_v2 -ab 32k out2.mp4
ffmpeg version git-2012-08-13-03e8944 Copyright © 2000-2012 the FFmpeg developers
  built on Aug 13 2012 12:55:15 with gcc 4.7 (Debian 4.7.1-2)
  configuration: --enable-gpl --enable-libx264 --enable-libfdk-aac --enable-nonfree --enable-version3
  libavutil      51. 69.100 / 51. 69.100
  libavcodec    54. 52.100 / 54. 52.100
  libavformat    54. 23.100 / 54. 23.100
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter    3.  8.100 /  3.  8.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample  0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, flac, from 'tns.flac':
  Metadata:
    WMFSDKVERSION  : 10.00.00.4007
    WMFSDKNEEDED    : 0.0.0.0000
    ISVBR          : 1
    ENCODER        : Lavf54.22.100
  Duration: 00:00:00.73, bitrate: 522 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Output #0, mp4, to 'out2.mp4':
  Metadata:
    WMFSDKVERSION  : 10.00.00.4007
    WMFSDKNEEDED    : 0.0.0.0000
    ISVBR          : 1
    encoder        : Lavf54.23.100
    Stream #0:0: Audio: aac (HE-AACv2) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 32 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (flac -> libfdk_aac)
Press [q] to stop, [?] for help
Multiple frames in a packet from stream 0
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 4703 < 34912 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 6751 < 34913 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 8799 < 34914 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 10847 < 34915 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 12895 < 34916 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 14943 < 34917 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 16991 < 34918 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 19039 < 34919 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 21087 < 34920 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 23135 < 34921 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 25183 < 34922 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 27231 < 34923 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 29279 < 34924 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 31327 < 34925 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 33375 < 34926 invalid, cliping
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 9311 < 39520 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 11359 < 39521 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 13407 < 39522 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 15455 < 39523 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 17503 < 39524 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 19551 < 39525 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 21599 < 39526 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 23647 < 39527 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 25695 < 39528 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 27743 < 39529 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 29791 < 39530 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 31839 < 39531 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 33887 < 39532 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 35935 < 39533 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 37983 < 39534 invalid, cliping
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 13919 < 44128 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 15967 < 44129 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 18015 < 44130 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 20063 < 44131 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 22111 < 44132 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 24159 < 44133 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 26207 < 44134 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 28255 < 44135 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 30303 < 44136 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 32351 < 44137 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 34399 < 44138 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 36447 < 44139 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 38495 < 44140 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 40543 < 44141 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 42591 < 44142 invalid, cliping
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 18527 < 48736 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 20575 < 48737 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 22623 < 48738 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 24671 < 48739 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 26719 < 48740 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 28767 < 48741 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 30815 < 48742 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 32863 < 48743 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 34911 < 48744 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 36959 < 48745 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 39007 < 48746 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 41055 < 48747 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 43103 < 48748 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 45151 < 48749 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 47199 < 48750 invalid, cliping
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 23135 < 53344 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 25183 < 53345 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 27231 < 53346 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 29279 < 53347 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 31327 < 53348 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 33375 < 53349 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 35423 < 53350 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 37471 < 53351 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 39519 < 53352 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 41567 < 53353 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 43615 < 53354 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 45663 < 53355 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 47711 < 53356 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 49759 < 53357 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 51807 < 53358 invalid, cliping
[libfdk_aac @ 0x2ad9a20] Que input is backward in time
[mp4 @ 0x2ae0fc0] Audio timestamp 27743 < 57952 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 29791 < 57953 invalid, cliping
[mp4 @ 0x2ae0fc0] Audio timestamp 31839 < 57954 invalid, cliping
size=      22kB time=00:00:01.36 bitrate= 133.0kbits/s   
video:0kB audio:21kB subtitle:0 global headers:0kB muxing overhead 6.258222%
PANIC: CPU 1: Cache Error (unrecoverable - dcache data) Eframe = 0x90000000208cf3b8
NOTICE - cpu 0 didn't dump TLB, may be hung