[Ffmpeg-devel] Seeming problem with mpegaudiodec.c
Michael Niedermayer
michaelni
Tue Sep 19 02:05:27 CEST 2006
Hi
On Mon, Sep 18, 2006 at 07:51:16PM -0400, jason at cubedthree.com wrote:
> There seems to be a problem with mpegaudiodec.c. Here's why:
>
> 1) I tried to transcode an mpeg file to a flv file
> 2) I received the error message while encoding: Floating point exception
> 3) The command line I used during this was: # ffmpeg -i test1.mpeg test1.flv
> 4) The console output I received was this:
>
> ==================================================
> # ffmpeg -i test1.mpeg test1.flv
> FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard
> configuration: --enable-mp3lame --enable-amr_nb --enable-amr_nb-fixed
> --enable-amr_wb --enable-amr_if2
> libavutil version: 49.0.0
> libavcodec version: 51.14.0
> libavformat version: 50.5.0
> built on Sep 18 2006 17:22:26, gcc: 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0,
> pie-8.7.9)
> Input #0, mpeg, from 'test1.mpeg':
> Duration: 00:00:07.5, start: 0.204244, bitrate: 1818 kb/s
> Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 320x240, 1500 kb/s, 29.97
> fps(r)
> Stream #0.1[0x1c0]: Audio: mp2, 32000 Hz, mono, 48 kb/s
> Output #0, flv, to 'test1.flv':
> Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 200 kb/s, 29.97 fps(c)
> Stream #0.1: Audio: mp3, 32000 Hz, mono, 64 kb/s
> Stream mapping:
> Stream #0.0 -> #0.0
> Stream #0.1 -> #0.1
> Floating point exception
> ==================================================
>
> 5) Running gdb as requested, I received the following:
>
> ==================================================
> lifeoutsystems ~ # gdb ffmpeg_g
> GNU gdb 6.4
> Copyright 2005 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db
> library "/lib/libthread_db.so.1".
>
> (gdb) r -i test1.mpeg test1.flv
> Starting program: /usr/local/bin/ffmpeg_g -i test1.mpeg test1.flv
> FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard
> configuration: --enable-mp3lame --enable-amr_nb --enable-amr_nb-fixed
> --enable-amr_wb --enable-amr_if2
> libavutil version: 49.0.0
> libavcodec version: 51.14.0
> libavformat version: 50.5.0
> built on Sep 18 2006 17:22:26, gcc: 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0,
> pie-8.7.9)
> Input #0, mpeg, from 'test1.mpeg':
> Duration: 00:00:07.5, start: 0.204244, bitrate: 1818 kb/s
> Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 320x240, 1500 kb/s, 29.97
> fps(r)
> Stream #0.1[0x1c0]: Audio: mp2, 32000 Hz, mono, 48 kb/s
> Output #0, flv, to 'test1.flv':
> Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 200 kb/s, 29.97 fps(c)
> Stream #0.1: Audio: mp3, 32000 Hz, mono, 64 kb/s
> Stream mapping:
> Stream #0.0 -> #0.0
> Stream #0.1 -> #0.1
>
> Program received signal SIGFPE, Arithmetic exception.
> 0x081897e1 in decode_init (avctx=0x8497660) at mpegaudiodec.c:430
> 430 for(i=0; i<512*16; i++){
> (gdb) bt
> #0 0x081897e1 in decode_init (avctx=0x8497660) at mpegaudiodec.c:430
> #1 0x080c2f9f in avcodec_open (avctx=0x8497660, codec=0x840a380)
> at utils.c:858
> #2 0x08065561 in main (argc=139040960, argv=0x1) at ffmpeg.c:1775
[...]
> ==================================================
>
> 6) So... knowing enough about software to get myself into trouble (and being
> a software engineer doesn't hurt)... I noticed the problem being at
> (mpegaudiodec.c:430). So I tracked back through the subversion blame
> history and found that this was changed at revision 6082. Well, I
> downloaded that version, and recompiled. Same error, but a couple lines
> down. So I tracked back one more revision to 6081. Downloaded, compiled,
> and voila ... it worked.
>
> I won't begin to actually try to decipher the code and figure out the
> problem... I'll leave that to the experts. But hopefully that can provide
> you guys with enough information to work out a bug. :-)
>
> Let me know if you have any questions or need anything else from me.
what does line 430 contain at your side? here its
for(i=0; i<512*16; i++){
which i doubt is the cause of a SIGFPE
and did you try a fresh checkout of ffmpeg
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the ffmpeg-devel
mailing list