Opened 5 years ago

Closed 5 years ago

Last modified 3 years ago

#1918 closed defect (fixed)

AAC decoding regression

Reported by: fltmesoftly Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: aac mov regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
FFMPEG produces errors on the provided - partial - sample file and dies at the very end of the - full - file. If needed I can provide the full file.

Sample uploaded to FTP as:
aark15sd_9A62E2FA_partial.mp4

How to reproduce:

FFMPEG log provided as attachment

Attachments (1)

ffmpeg-20121114-104707.log (1.9 MB) - added by fltmesoftly 5 years ago.
FFMPEG convert log

Download all attachments as: .zip

Change History (9)

Changed 5 years ago by fltmesoftly

FFMPEG convert log

comment:1 in reply to: ↑ description Changed 5 years ago by cehoyos

  • Component changed from FFmpeg to undetermined

Replying to fltmesoftly:

FFMPEG produces errors on the provided - partial - sample file and dies at the very end of the - full - file. If needed I can provide the full file.

Is the problem - that FFmpeg "dies at they very end of the - full - file" - also reproducible with the file you uploaded? If not, please upload a file that allows to reproduce the problem.
(There is no filesize limit for incoming, for files <100MB, you can also use http://www.datafilehost.com/.)

comment:2 Changed 5 years ago by cehoyos

Is the problem you see only reproducible with version 1.0 or also with current git head?

comment:3 Changed 5 years ago by fltmesoftly

I've tried with the latest static build, same error:
http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2012-11-14.tar.gz

Nah, the partial only throws some errors. So, here is the full file:
http://itigia.hu/aark15sd_9A62E2FA.mp4

comment:4 follow-up: Changed 5 years ago by cehoyos

  • Keywords aac mov added
  • Reproduced by developer set
  • Status changed from new to open
  • Version changed from 1.0 to git-master

The sample triggers different problems afaict, at least some of them indicate bugs in the aac decoder, possibly related to ticket #1694.

The first decoding problem occurs after 30 seconds, output changes to right-channel-ony, this cannot be undone with seeking, but if seeking is used to skip the position at ~30:00, output stays stereo. This is reproducible with both ffmpeg and ffplay (and MPlayer).

$ ffmpeg -ss 20 -i aark15sd_9A62E2FA.mp4 -t 20 out.wav
ffmpeg version N-46747-ga1b5c96 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 14 2012 13:20:14 with gcc 4.7 (SUSE Linux)
  configuration: --enable-libx264 --enable-libvo-aacenc --enable-libfdk-aac --enable-libfaac --disable-indev=jack --enable-gpl --enable-version3 --enable-nonfree
  libavutil      52.  6.100 / 52.  6.100
  libavcodec     54. 71.100 / 54. 71.100
  libavformat    54. 36.100 / 54. 36.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.100 /  3. 23.100
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2d01240] wrong sample count
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'aark15sd_9A62E2FA.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2010-09-11 01:41:42
  Duration: 00:23:34.85, start: 0.021333, bitrate: 948 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 800 kb/s, 23.97 fps, 23.97 tbr, 23970 tbn, 47.94 tbc
    Metadata:
      creation_time   : 2010-09-11 01:41:42
      handler_name    : Imported with GPAC 0.4.6-DEV (internal rev. 5)
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16
    Metadata:
      creation_time   : 2010-09-11 01:41:44
      handler_name    : GPAC ISO Audio Handler
Output #0, wav, to 'out.wav':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    ISFT            : Lavf54.36.100
    Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      creation_time   : 2010-09-11 01:41:44
      handler_name    : GPAC ISO Audio Handler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> pcm_s16le)
Press [q] to stop, [?] for help
[aac @ 0x2d09160] Input buffer exhausted before END element found
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x2d09160] Reserved bit set.
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 0x2d09160] Reserved bit set.
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 0x2d09160] Reserved bit set.
Error while decoding stream #0:1: Invalid data found when processing input
size=    3768kB time=00:00:20.00 bitrate=1543.4kbits/s
video:0kB audio:3768kB subtitle:0 global headers:0kB muxing overhead 0.002073%

out.wav starts as a stereo file, switches to right-channel-only after ten seconds.
The following command line produces a stereo file:

$ ffmpeg -ss 35 -i aark15sd_9A62E2FA.mp4 -t 20 out.wav

A not necessarily related problem is that when transcoding fails while writing a isom/mov file, the resulting file is unplayable because no moov atom is written on exit. This is not a regression afaik, and I don't know if / how this behaviour can be changed.

$ ffmpeg -ss 710 -i aark15sd_9A62E2FA.mp4 -vn -acodec mp2 out.mov

Audio decoding is impossible from ~12:00 on, encoding fails and out.mov is not a valid mov file.

comment:5 in reply to: ↑ 4 Changed 5 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords regression added
  • Priority changed from normal to important

Replying to cehoyos:

The first decoding problem occurs after 30 seconds, output changes to right-channel-ony, this cannot be undone with seeking, but if seeking is used to skip the position at ~30:00, output stays stereo.

This is a regression since a6f650 - related to ticket #513.

comment:6 Changed 5 years ago by cehoyos

  • Summary changed from Encoding errors with mp4 file to AAC decoding regression

comment:7 Changed 5 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed

comment:8 Changed 3 years ago by cehoyos

(As discussed on irc)
The issue that the AAC decoder could not recover after the decoding error around 0:30 was fixed before 1.2 was released (so no 1.2 release was ever affected), the regression was also fixed in the 1.1.4 and 1.0.5 release (neither 1.1.15 nor 1.0.10 allow to reproduce the issue).

The sample shows other problems that are still reproducible with current FFmpeg git head.

Note: See TracTickets for help on using tickets.