[FFmpeg-trac] #4861(avcodec:open): AC3 audio glitch : exponent out-of-range
FFmpeg
trac at avcodec.org
Thu Sep 17 11:20:04 CEST 2015
#4861: AC3 audio glitch : exponent out-of-range
------------------------------------+-----------------------------------
Reporter: Guillaume | Owner:
Type: defect | Status: open
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: AC3 | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
------------------------------------+-----------------------------------
Changes (by cehoyos):
* keywords: AC3 audio glitch => AC3
* status: new => open
* reproduced: 0 => 1
Old description:
> I'm trying to decode an AC3 file extracted from live French TV stream.
> 3 audio glitches can be heard in the sample file.
>
> During conversion, error logs are returned.
>
> $ ffmpeg -i audio_ac3_glitch.ac3 audio_test.wav
> ffmpeg version 2.7 Copyright (c) 2000-2015 the FFmpeg developers
> built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
> configuration:
> libavutil 54. 27.100 / 54. 27.100
> libavcodec 56. 41.100 / 56. 41.100
> libavformat 56. 36.100 / 56. 36.100
> libavdevice 56. 4.100 / 56. 4.100
> libavfilter 5. 16.101 / 5. 16.101
> libswscale 3. 1.101 / 3. 1.101
> libswresample 1. 2.100 / 1. 2.100
> [eac3 @ 0xa387a00] Estimating duration from bitrate, this may be
> inaccurate
> Input #0, eac3, from 'audio_ac3_glitch.ac3':
> Duration: 00:00:45.57, start: 0.000000, bitrate: 127 kb/s
> Stream #0:0: Audio: eac3, 48000 Hz, stereo, fltp, 128 kb/s
> Output #0, wav, to 'audio_test.wav':
> Metadata:
> ISFT : Lavf56.36.100
> Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
> stereo, s16, 1536 kb/s
> Metadata:
> encoder : Lavc56.41.100 pcm_s16le
> Stream mapping:
> Stream #0:0 -> #0:0 (eac3 (native) -> pcm_s16le (native))
> Press [q] to stop, [?] for help
> [eac3 @ 0xa388be0] exponent out-of-range
> [eac3 @ 0xa388be0] error decoding the audio block
> [eac3 @ 0xa388be0] exponent out-of-range
> [eac3 @ 0xa388be0] error decoding the audio block
> [eac3 @ 0xa388be0] exponent out-of-range
> [eac3 @ 0xa388be0] error decoding the audio block
> [eac3 @ 0xa388be0] incomplete frame
> size= 8550kB time=00:00:45.60 bitrate=1536.0kbits/s
> video:0kB audio:8550kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 0.000891%
>
> Same errors occur when trying to stream this file using a GSTreamer
> pipeline :
>
> gst-launch-1.0 -v --gst-debug-level=3 filesrc
> location=./audio_ac3_glitch.ac3 ! ac3parse ! avdec_eac3 ! audioconvert !
> playsink
>
> We can notice that the errors seem related to audio glitches heard.
>
> I've tried to modify the code in file libavcodec/ac3dec.c in function
> ac3_decode_frame() where trying to decode the audio blocks generates the
> log "error decoding the audio block\n". Without success.
New description:
I'm trying to decode an AC3 file extracted from live French TV stream.
3 audio glitches can be heard in the sample file.
During conversion, error logs are returned.
{{{
$ ffmpeg -i audio_ac3_glitch.ac3 audio_test.wav
ffmpeg version 2.7 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration:
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
[eac3 @ 0xa387a00] Estimating duration from bitrate, this may be
inaccurate
Input #0, eac3, from 'audio_ac3_glitch.ac3':
Duration: 00:00:45.57, start: 0.000000, bitrate: 127 kb/s
Stream #0:0: Audio: eac3, 48000 Hz, stereo, fltp, 128 kb/s
Output #0, wav, to 'audio_test.wav':
Metadata:
ISFT : Lavf56.36.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Metadata:
encoder : Lavc56.41.100 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (eac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[eac3 @ 0xa388be0] exponent out-of-range
[eac3 @ 0xa388be0] error decoding the audio block
[eac3 @ 0xa388be0] exponent out-of-range
[eac3 @ 0xa388be0] error decoding the audio block
[eac3 @ 0xa388be0] exponent out-of-range
[eac3 @ 0xa388be0] error decoding the audio block
[eac3 @ 0xa388be0] incomplete frame
size= 8550kB time=00:00:45.60 bitrate=1536.0kbits/s
video:0kB audio:8550kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.000891%
}}}
Same errors occur when trying to stream this file using a GSTreamer
pipeline :
gst-launch-1.0 -v --gst-debug-level=3 filesrc
location=./audio_ac3_glitch.ac3 ! ac3parse ! avdec_eac3 ! audioconvert !
playsink
We can notice that the errors seem related to audio glitches heard.
I've tried to modify the code in file libavcodec/ac3dec.c in function
ac3_decode_frame() where trying to decode the audio blocks generates the
log "error decoding the audio block\n". Without success.
--
Comment:
bug 868 filename is audio_ac3_glitch.ac3
For future tickets: Please always test current FFmpeg git head before
reporting issues.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4861#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list