Opened 5 years ago

Last modified 4 hours ago

#1407 new enhancement

aac: 960/120 MDCT window is not implemented

Reported by: cehoyos Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: aac
Cc: rafael@riseup.net, Maurits Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/145562
An aac sample with 960/120 MDCT was uploaded by a user, mdct_error.flv is now in samples/A-codecs/AAC

$ ffmpeg -i mdct_error.flv
ffmpeg version N-41284-ge00b2d2 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jun  4 2012 08:52:52 with gcc 4.3.2
  configuration: --cc=/usr/local/gcc-4.3.2/bin/gcc --enable-gpl --enable-libopenjpeg --enable-libvorbis --enable-libspeex --enable-libmp3lame --enable-libtheora --extra-ldflags=-lm --enable-libvpx --enable-libxavs
  libavutil      51. 56.100 / 51. 56.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.101 / 54.  6.101
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 78.100 /  2. 78.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[aac @ 0x9018c00] 960/120 MDCT window is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9018c00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, flv, from 'mdct_error.flv':
  Metadata:
    fps             : 25
    SAR             : 64:45
  Duration: 00:00:31.04, start: 0.000000, bitrate: 1675 kb/s
    Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo
At least one output file must be specified

Change History (16)

comment:1 Changed 3 years ago by Maurits

Some additional information.

While the 960 frame length is rare in standalone files, it is common in streams such as those used in DAB+ digital radio.

In case anyone needs more examples or test samples, this is a status overview of a typical German DAB+ digital radio multiplex: http://www.dabmon.de:8002/
Clicking on any of the streams after 'label:' will give you a AAC960 stream to test. While the stream will be played in most cases, it is clearly being played a bit too slow due to FFmpeg incorrectly treating it as AAC1024.

comment:2 Changed 19 months ago by rafael2k

Also Digital Radio Mondiale (a Digital Radio standard) uses AAC960.
I have some samples if needed.

comment:3 Changed 18 months ago by rafael2k

Btw, a simple way to reintroduce support for AAC960 is re-add faad2 support compiled in 960 mode.

Last edited 18 months ago by rafael2k (previous) (diff)

comment:4 Changed 18 months ago by rafael2k

  • Priority changed from wish to minor

I think the fact the ffmpeg does not support the playback of the audio from two major Digital Radio standards justify to raise the priority from wish to minor.

comment:5 Changed 18 months ago by rafael2k

  • Cc rafael@riseup.net added

comment:6 Changed 18 months ago by cehoyos

  • Priority changed from minor to wish

comment:7 Changed 18 months ago by rafael2k

What is happening here, cehoyos?
According to the Issue Tracker manual[1]:

minor
(...)

Feature requests about things few people want or which do not make a big
difference.

wish

Something that is desirable to have but that there is no urgency at
all to implement, e.g. something completely cosmetic like a website
restyle or a personalized doxy template or the FFmpeg logo.
This priority is not valid for bugs.

Is it not clear that we have a minor bug here? I'll not change to priority higher, but I'd say that it's even a normal or important!

important

For feature requests this priority would be used for things many people
want.

[1] - http://git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=doc/issue_tracker.txt;hb=HEAD

comment:8 Changed 18 months ago by rafael2k

  • Priority changed from wish to minor

Changed priority to minor, which is the correct.

comment:9 Changed 18 months ago by cehoyos

Sorry, but enhancements or feature requests have priority wish on this issue tracker.

comment:10 Changed 18 months ago by cehoyos

  • Priority changed from minor to wish

comment:11 follow-up: Changed 16 months ago by Maurits

FYI, in case anyone wants to take this on, the people over at OpenDigitalRadio.org have patched their version of the Fraunhofer FDK AAC codec library to support the AAC 960 transform that is required for DAB+ digital radio.

The code can be found at: https://github.com/Opendigitalradio/fdk-aac-dabplus

comment:12 in reply to: ↑ 11 Changed 16 months ago by cehoyos

  • Cc Maurits added

Replying to Maurits:

FYI, in case anyone wants to take this on, the people over at OpenDigitalRadio.org have patched their version of the Fraunhofer FDK AAC codec library to support the AAC 960 transform that is required for DAB+ digital radio.

Do I understand correctly that the people at "Open"DigitalRadio? decided to patch a proprietary, non-free decoder instead of the one in libavcodec?

Do you agree that this is not exactly helpful for the issue described here?

comment:13 Changed 16 months ago by heleppkes

The code he linked is for encoding DAB+ compatible audio, not decoding.

PS:
fdk-aac is free and open-source, just not in a way that is compatible with the GPL.

Last edited 16 months ago by heleppkes (previous) (diff)

comment:14 follow-up: Changed 7 hours ago by DerouineauNicolas

Is there still any link to an aac stream with 960 or 120 samples frame length ?

I tried to reproduce with:

wget http://www.dabmon.de/p/8002/playlist/1.m3u
cat 1.m3u -> http://www.dabmon.de/p/8002/stream/1.aac
ffplay http://www.dabmon.de/p/8002/stream/1.aac

and there is no odd factor length imdct used in the decoding process

comment:15 in reply to: ↑ 14 Changed 5 hours ago by Maurits

Replying to DerouineauNicolas:

Is there still any link to an aac stream with 960 or 120 samples frame length ?

Try any of these: http://dabmonitor.nl

It is easier to hear the issue with human voices (they sound unnaturally deep), with music it's harder to distinguish as it just sounds slightly "slower". If you capture the stream I would expect you to see the difference, though.

comment:16 Changed 4 hours ago by cehoyos

What's wrong with mdct_error.flv in samples.ffmpeg.org/A-codecs/AAC?

Note: See TracTickets for help on using tickets.