[FFmpeg-devel] H.264 Regressions for x86_32/gcc 2.95.3
Loren Merritt
lorenm
Fri Feb 8 08:10:30 CET 2008
On Thu, 7 Feb 2008, Mike Melanson wrote:
>
> The testing CPU supports SSSE3. If it did not and it tried to run a bad
> instruction, the program would have been killed for cause of illegal
> instruction, not segfault.
>
> If the assembler did not support the instructions, I tend to think the
> program would not build at all.
If the cpu doesn't support SSSE3, then dsputil won't enable it. If the
assembler doesn't support SSSE3, then ffmpeg's configure won't enable it.
> Program received signal SIGSEGV, Segmentation fault.
> 0x0810ddc4 in put_h264_qpel16_mc23_ssse3 (dst=0x8299fc5 "\203?\020\203? ?",
> src=0x8653210 '\200' <repeats 64 times>,
> "\"\213???????????????????????????????\214|xuutsqkif`XPH>71./136;?DHLO^rwz~\203\215\215\215\215\205\177|zzzzz}}}}{|vswqieeeefoxtt\200\201\205\207\210\203|y\177~~\177\203\202\202\202\203\202\204z__][",
> 'Z' <repeats 12 times>..., stride=140782355)
> at /home/melanson/ffmpeg/ffmpeg-main/libavcodec/i386/h264dsp_mmx.c:1894
> 1894 QPEL_H264_HV2_XMM(put_, PUT_OP, ssse3)
> (gdb) bt
> #0 0x0810ddc4 in put_h264_qpel16_mc23_ssse3 (
> dst=0x8299fc5 "\203?\020\203? ?",
> src=0x8653210 '\200' <repeats 64 times>,
> "\"\213???????????????????????????????\214|xuutsqkif`XPH>71./136;?DHLO^rwz~\203\215\215\215\215\205\177|zzzzz}}}}{|vswqieeeefoxtt\200\201\205\207\210\203|y\177~~\177\203\202\202\202\203\202\204z__][",
> 'Z' <repeats 12 times>..., stride=140782355)
> at /home/melanson/ffmpeg/ffmpeg-main/libavcodec/i386/h264dsp_mmx.c:1894
The normal bugreport details include backtrace, disassembly, and register
dump.
> Everything after that in the backtrace is unknown.
Remove -fomit-frame-pointer if you left it in the default compiler
options.
> The dst argument here is shown to be 0x8299fc5. Is that cause for
> concern?
Yes. If dst is unaligned, then no change in mc can possibly fix it, the
bug is in the caller or the allocation of the frame buffer.
The other possibility is that that isn't the real value of dst, instead
it's clobbered after entering the function.
--Loren Merritt
More information about the ffmpeg-devel
mailing list