[Ffmpeg-devel] regression tests broken
Michael Niedermayer
michaelni
Sat Mar 4 00:46:20 CET 2006
Hi
On Fri, Mar 03, 2006 at 10:58:31PM +0100, Diego Biurrun wrote:
> On Sat, Feb 25, 2006 at 01:16:17AM +0100, Michael Niedermayer wrote:
> >
> > On Fri, Feb 24, 2006 at 07:38:11PM +0100, Diego Biurrun wrote:
> > > The regression tests currently fail for me on both x86 and ppc, in
> > > different places:
> > >
> > > x86:
> > > ../ffmpeg_g -y -flags +bitexact -dct fastint -idct simple -y -strict -2 -f pgmyuv -i vsynth1/%02d.pgm -an -vcodec snow -qscale 2 -flags +qpel -me iter -dia_size 2 -cmp 12 -subcmp 12 -s 128x64 ./data/a-snow.avi
> > > /usr/src/mplayer/ffmpeg/tests/regression.sh: line 112: 7038 Illegal instruction $ffmpeg -y -flags +bitexact -dct fastint -idct simple -benchmark $* >$datadir/bench.tmp 2>/tmp/ffmpeg$$
> > > make[1]: *** [codectest] Error 132
> > > make[1]: Leaving directory `/usr/src/mplayer/ffmpeg/tests'
> > > make: *** [test] Error 2
> >
> > gdb backtrace & disasm, gcc version, config.h, cputype please
>
> Debian unstable, gcc 2.95.4, K6-III 500 MHz, rest below
>
> Diego
>
[...]
> 1061 QPEL_H264(put_, PUT_OP, 3dnow)
> (gdb) bt
> #0 0x082975ed in put_h264_qpel16_mc32_3dnow (dst=0xbfffd170 "\206\201wu|vVCix\201\225???\220]>Ojw\204\217 ??pLSo|\214????,O??????",
> src=0x8469e07 "\224w\201|\212k\207ks\205\216 A ??vbr\205\224??? ?\233ty\215\234- ??x\227^m}\205\224? ?O ru\202\222? ??EE\207aq\206\215\237?AOU?i|\216\233?\234? ?xhz\211\232???U?\215w\205\203\211\226 ?EO?nu\203\224?? IYI\203cq}\213\237RAE?", '?' <repeats 34 times>, "n)B\215\204v|\207\203kq\207\\8D[gu\213\225\225X4>5EWev\202\223{52=NZl\202\221\233\2249\032);"..., stride=160) at i386/h264dsp_mmx.c:1061
> #1 0x08259b7a in pred_block (s=0x40958020, dst=0xbfffd170 "\206\201wu|vVCix\201\225???\220]>Ojw\204\217 ??pLSo|\214????,O??????",
> src=0x8469cc5 "O\206GXft\213\225"?A?mdt\200\220?????dO\\n|\216\234 I?bjy\203\227\233\235R?\237RXjs\202\226 ?E?nbs\206}\210\225?? \216T^q|\213\233 ??Rba^m{\221\235???~Wfz\204\230??AO\213FUiy\204\224? E?m]p~\217?? ??aL_m\201\213?", '?' <repeats 17 times>, '-' <repeats 17 times>, "?E?c?t\202\215\211}x\221?E\214cu\202\217\237-?OU\232V\\kz\216\237??IEyh\177\210\226 ,A?"..., tmp=0xbfffba50 "", stride=160, sx=5, sy=8, b_w=32, b_h=32, block=0x8425eea, plane_index=0, w=128,
> h=64) at snow.c:2532
> #2 0x0825a20a in get_block_rd (s=0x40958020, mb_x=1, mb_y=1, plane_index=0, obmc_edged=0xbfffe650 "") at snow.c:3113
> #3 0x0825cd59 in iterative_me (s=0x40958020) at snow.c:3246
> #4 0x08268853 in encode_frame (avctx=0x83fed60, buf=0x40917020 "qU?^\230T\023aY", buf_size=262144, data=0xbfffef10) at snow.c:2356
> #5 0x080aaa2e in avcodec_encode_video (avctx=0x83fed60, buf=0x40917020 "qU?^\230T\023aY", buf_size=262144, pict=0xbfffef10) at utils.c:905
> #6 0x08056223 in do_video_out (s=0x83fdde0, ost=0x84073b0, ist=0x83fd7a0, in_picture=0xbffff328, frame_size=0xbffff208) at ffmpeg.c:963
> #7 0x08057495 in output_packet (ist=0x83fd7a0, ist_index=0, ost_table=0x842b7f0, nb_ostreams=1, pkt=0xbffff4c8) at ffmpeg.c:1353
> #8 0x08059391 in av_encode (output_files=0x8399e00, nb_output_files=1, input_files=0x8399d00, nb_input_files=1, stream_maps=0x8399e60, nb_stream_maps=0)
> at ffmpeg.c:2072
> #9 0x0805c4b1 in main (argc=34, argv=0xbffff9c4) at ffmpeg.c:4278
> (gdb) disass $pc-32 $pc+32
> Dump of assembler code from 0x82975cd to 0x829760d:
> 0x082975cd <put_h264_qpel16_mc32_3dnow+1145>: inc %edi
> 0x082975ce <put_h264_qpel16_mc32_3dnow+1146>: mov %esi,%esi
> 0x082975d0 <put_h264_qpel16_mc32_3dnow+1148>: mov 0xfffffbe0(%ebp),%eax
> 0x082975d6 <put_h264_qpel16_mc32_3dnow+1154>: mov %ebx,%edx
> 0x082975d8 <put_h264_qpel16_mc32_3dnow+1156>: movq (%ecx),%mm0
> 0x082975db <put_h264_qpel16_mc32_3dnow+1159>: movq 0x8(%ecx),%mm1
> 0x082975df <put_h264_qpel16_mc32_3dnow+1163>: paddw %mm6,%mm0
> 0x082975e2 <put_h264_qpel16_mc32_3dnow+1166>: paddw %mm6,%mm1
> 0x082975e5 <put_h264_qpel16_mc32_3dnow+1169>: psraw $0x5,%mm0
> 0x082975e9 <put_h264_qpel16_mc32_3dnow+1173>: psraw $0x5,%mm1
> 0x082975ed <put_h264_qpel16_mc32_3dnow+1177>: pmaxsw %mm7,%mm0
pmaxsw is a MMX2 instruction, it cant work on 3dnow only cpus, IIRC this
has been written by loren, ill leave it to him to fix, though i guess
simply removing the pmaxsw instructions might work, they seem
redundant to me
[...]
--
Michael
More information about the ffmpeg-devel
mailing list