I was just looking into the same issue. Since cegcc switched to gcc 4.4 in revision 1315, ffmpeg is somehow miscompiled, and crashes. For me, it happens when playing some H264 video. I get a:
Data Abort: Thread=81da6c50 Proc=80298c70 'foo.exe'
AKY=00020001 PC=00bd9290(libavcodec_plugin.dll+0x00189290) RA=00732c62(foo.exe+0x00722c62) BVA=24732c62 FSR=00000003
This maps to line 2643 in libavcodec/h264.c. I could provide asm extracts and more information.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Provided here is the asm output for the hl_decode_mb_complex() function in libavcodec/h264.c, which contains the offending code. Both are compiled from ffmpeg revision 20630, the first one with the revision 1314 of cegcc (gcc 4.1) and the second one with revision 1364 (gcc 4.4). The PC at the Data Abort maps to address 0x2fe7c, which apparently corresponds to 0x1e158 in the version that doesn't crash. CFLAGS -funroll-loops -mtune=arm920t -march=armv4t -O3 were used.
To ease maintenance of the project, we are migrating bug tracking facilities to Trac. We would appreciate if you re-posted this bug on Trac via https://sourceforge.net/apps/trac/cegcc/newticket . Please include link to this bug for reference.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Please provide more information : where does it crash, which instructions are there, how were these instructions in the version compiled with 0.51 ?
Between 0.51 and 0.59 we changed gcc versions (from 4.1 to 4.4).
I was just looking into the same issue. Since cegcc switched to gcc 4.4 in revision 1315, ffmpeg is somehow miscompiled, and crashes. For me, it happens when playing some H264 video. I get a:
Data Abort: Thread=81da6c50 Proc=80298c70 'foo.exe'
AKY=00020001 PC=00bd9290(libavcodec_plugin.dll+0x00189290) RA=00732c62(foo.exe+0x00722c62) BVA=24732c62 FSR=00000003
This maps to line 2643 in libavcodec/h264.c. I could provide asm extracts and more information.
Provided here is the asm output for the hl_decode_mb_complex() function in libavcodec/h264.c, which contains the offending code. Both are compiled from ffmpeg revision 20630, the first one with the revision 1314 of cegcc (gcc 4.1) and the second one with revision 1364 (gcc 4.4). The PC at the Data Abort maps to address 0x2fe7c, which apparently corresponds to 0x1e158 in the version that doesn't crash. CFLAGS -funroll-loops -mtune=arm920t -march=armv4t -O3 were used.
Since I can't seem to be able to add attachments:
http://www.linkfanel.net/disass-r1314.txt
http://www.linkfanel.net/disass-r1364.txt
disass-r1314.txt
disass-r1364.txt
Thanks for your bug report!
To ease maintenance of the project, we are migrating bug tracking facilities to Trac. We would appreciate if you re-posted this bug on Trac via https://sourceforge.net/apps/trac/cegcc/newticket . Please include link to this bug for reference.