Opened 9 years ago

Closed 9 years ago

Last modified 7 years ago

#1918 closed defect (fixed)

AAC decoding regression

Reported by: Molly 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 Molly 9 years ago.
FFMPEG convert log

Download all attachments as: .zip

Change History (9)

by Molly, 9 years ago

Attachment: ffmpeg-20121114-104707.log added

FFMPEG convert log

in reply to:  description comment:1 by Carl Eugen Hoyos, 9 years ago

Component: FFmpegundetermined

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 by Carl Eugen Hoyos, 9 years ago

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

comment:3 by Molly, 9 years ago

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 by Carl Eugen Hoyos, 9 years ago

Keywords: aac mov added
Reproduced by developer: set
Status: newopen
Version: 1.0git-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.

in reply to:  4 comment:5 by Carl Eugen Hoyos, 9 years ago

Component: undeterminedavcodec
Keywords: regression added
Priority: normalimportant

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 by Carl Eugen Hoyos, 9 years ago

Summary: Encoding errors with mp4 fileAAC decoding regression

comment:7 by Michael Niedermayer, 9 years ago

Resolution: fixed
Status: openclosed

comment:8 by Carl Eugen Hoyos, 7 years ago

(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.