[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