This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/41311] New: [4.5 regression] FFmpeg crashes when converting mpg to avi
- From: "ami_stuff at o2 dot pl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Sep 2009 18:03:33 -0000
- Subject: [Bug c/41311] New: [4.5 regression] FFmpeg crashes when converting mpg to avi
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Hi,
FFmpeg compiled with GCC 4.5 (20090827) crashes when I try to convert mpg file
to avi (divx).
"FFmpeg_020fpu -i test.mpg test.avi"
1. I get crash only with "-m68020 -m68881" options, not with -m68040 or
-m68060.
2. I get crash only with -O1, -O2 or -O3 options, not with -O0.
3. GCC 4.4.2 (20090825) don't have this problem.
The problematic file is "libavcodec/ratecontrol.c" - this file generates crash.
I include preprocessed file from GCC 4.4.2 and GCC 4.5.0.
$ make_68k_v45
/usr/local/amiga/bin/m68k-amigaos-gcc-4.5.0.exe -V 4.5.0 -DHAVE_AV_CONFIG_H -I.
-I"/bin/ffmpeg9" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112
-D_FILE_OFFSET_BITS=6
4 -D_LARGEFILE_SOURCE -m68020 -m68881 -mnobitfield -std=c99 -fno-common
-fomit-f
rame-pointer -Wdeclaration-after-statement -Wall -Wno-switch
-Wdisabled-optimiza
tion -Wpointer-arith -Wredundant-decls -Wcast-qual -Wwrite-strings -Wundef -O2
-
finline-functions -fno-math-errno -MMD -MF libavcodec/ratecontrol.d -MT
li
bavcodec/ratecontrol.o -c -o libavcodec/ratecontrol.o libavcodec/ratecontrol.c
libavcodec/ratecontrol.c: In function 'ff_rate_control_init':
libavcodec/ratecontrol.c:109:5: warning: passing argument 3 of 'ff_parse'
discar
ds qualifiers from pointer target type
libavcodec/eval.h:64:14: note: expected 'double (**)(void *, double)' but
argume
nt is of type 'double (* const*)(void *, double)'
libavcodec/ratecontrol.c:109:5: warning: passing argument 4 of 'ff_parse'
discar
ds qualifiers from pointer target type
libavcodec/eval.h:64:14: note: expected 'const char **' but argument is of type
'const char * const*'
libavcodec/ratecontrol.c:168:13: warning: passing argument 2 of 'av_log' makes
i
nteger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:168:13: warning: too many arguments for format
libavcodec/ratecontrol.c:169:13: warning: passing argument 2 of 'av_log' makes
i
nteger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:169:13: warning: too many arguments for format
libavcodec/ratecontrol.c: In function 'get_qminmax':
libavcodec/ratecontrol.c:413:5: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:413:5: warning: too many arguments for format
libavcodec/ratecontrol.c: In function 'ff_rate_estimate_qscale':
libavcodec/ratecontrol.c:692:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:692:9: warning: too many arguments for format
libavcodec/ratecontrol.c:693:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:693:9: warning: too many arguments for format
libavcodec/ratecontrol.c:725:13: warning: passing argument 2 of 'av_log' makes
i
nteger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:725:13: warning: too many arguments for format
libavcodec/ratecontrol.c:764:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:764:9: warning: too many arguments for format
libavcodec/ratecontrol.c:768:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:768:9: warning: too many arguments for format
libavcodec/ratecontrol.c:780:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:780:9: warning: too many arguments for format
libavcodec/ratecontrol.c:786:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:786:9: warning: too many arguments for format
libavcodec/ratecontrol.c: In function 'init_pass2':
libavcodec/ratecontrol.c:874:9: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:874:9: warning: too many arguments for format
libavcodec/ratecontrol.c:936:5: warning: passing argument 2 of 'av_log' makes
in
teger from pointer without a cast
./libavutil/log.h:104:6: note: expected 'int' but argument is of type 'const
cha
r *'
libavcodec/ratecontrol.c:936:5: warning: too many arguments for format
--
Summary: [4.5 regression] FFmpeg crashes when converting mpg to
avi
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ami_stuff at o2 dot pl
GCC host triplet: i686-cygwin
GCC target triplet: m68k-amigaos
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41311