Piers O'Hanlon <[EMAIL PROTECTED]> added the comment:

Thanks for tip about alignment problems with gcc-3 - Though I thought that the
--enable-alignment hack was supposed to sort that out? It seems from below that
ecx is not 16-byte aligned?

Anyway I got hold of the alpha version of mingw gcc-4.2 and rebuilt ffmpeg -
which has fixed the problem! Thanks again!

Apologies for messed up gdb output - here's fresh one:
(gdb) bt   
#0  0x6bbbe89f in put_h264_qpel8or16_hv_lowpass_sse2 (
    dst=0x12ebe4 'Ì' <repeats 112 times>, tmp=0x12ece4, 
    src=0x5579a20 "ÉǼ·¶¹»½ÄÈÌÑÒÏÎÎÐÐÐÑÒÓÔÖÕÐÆÂɪ9\t\006\003\003\003\003\002\00
        4\006\b\a\a\n3542325664*())*,+(!\037\036\035\036 !
\031\023\016\f\f\017\020\020         \021\023\026\032\"%$\"!
\037\037\036\036\035\035\034\034\032\033 #&'+-150--+%\0        
35\021\v\r\016\021\023\025\027\027\030\032\033\035!#\" \034\030\030\033%+/0/(!\
       
032\033\"%\234\232\227\224\224\224\222\221\217\216\221\220\217\215\214\214\214\
       
214\213\215\214\215\220\214\216\216\216\215\215\215\215\215\216\217\216\216\215
       
\215\216\216\216\216\215\214\213\211\207\206\204\203\202\201\201\201\202\203"..
        ., dstStride=16, tmpStride=16, srcStride=352, size=16)
    at libavcodec/i386/h264dsp_mmx.c:1553
#1  0xcccccccc in ?? ()
#2  0xcccccccc in ?? ()
#3  0x0012ece4 in ?? ()
#4  0x0012ebe4 in ?? ()
#5  0x00000160 in ?? ()
#6  0x0012ebe4 in ?? ()
#7  0x055b0490 in ?? ()
#8  0x05520e18 in ?? ()
#9  0x6bbc7194 in put_h264_qpel16_mc12_sse2 (dst=0x6bcf1764 "\213¼$\204", 
    src=0x55b0490 '\200' <repeats 144 times>, "\236\234\231\226\224\224\222\221
       
\217\216\217\216\215\213\211\211\212\212\213\215\214\215\220\214\216\216\216\21
       
5\215\215\215\215\215\216\214\214\213\213\214\214\216\216\215\214\211\211\207\2
        06\204\203\202\201\201\201\202\203"..., stride=89627168)
    at libavcodec/i386/h264dsp_mmx.c:1889
#10 0x05579a20 in ?? ()
#11 0x00000010 in ?? ()
#12 0x00000010 in ?? ()
#13 0x00000160 in ?? ()
#14 0x00000010 in ?? ()
#15 0xcccccccc in ?? ()
#16 0xcccccccc in ?? ()
#17 0xcccccccc in ?? ()
#18 0xcccccccc in ?? ()
#19 0xcccccccc in ?? ()
#20 0xcccccccc in ?? ()
#21 0xcccccccc in ?? ()
#22 0xcccccccc in ?? ()
#23 0xcccccccc in ?? ()
#24 0xcccccccc in ?? ()
#25 0xcccccccc in ?? ()
#26 0xcccccccc in ?? ()
#27 0xcccccccc in ?? ()
#28 0xcccccccc in ?? ()
#29 0xcccccccc in ?? ()
#30 0xcccccccc in ?? ()
#31 0xcccccccc in ?? ()
#32 0xcccccccc in ?? ()
#33 0xcccccccc in ?? ()
#34 0xcccccccc in ?? ()
#35 0xcccccccc in ?? ()
#36 0xcccccccc in ?? ()
#37 0xcccccccc in ?? ()
#38 0xcccccccc in ?? ()
#39 0xcccccccc in ?? ()
#40 0xcccccccc in ?? ()
#41 0xcccccccc in ?? ()
#42 0xcccccccc in ?? ()
#43 0x00000000 in ?? ()
(gdb) info all-registers
eax            0x5579f9e        89628574
ecx            0x12ece4 1240292
edx            0x2      2
ebx            0x160    352
esp            0x12eba8 0x12eba8
ebp            0x10     0x10
esi            0x160    352
edi            0x1ce0   7392
eip            0x6bbbe89f       0x6bbbe89f <put_h264_qpel8or16_hv_lowpass_sse2+
        975>
eflags         0x210202 [ IF RF ID ]
cs             0x1b     27
ss             0x23     35
ds             0x23     35
es             0x23     35
fs             0x3b     59
gs             0x0      0
st0            -nan(0x666c7073777d8385) (raw 0xffff666c7073777d8385)
st1            -nan(0x6e74797c7f80807f) (raw 0xffff6e74797c7f80807f)
st2            -nan(0x7a737d8b817a7272) (raw 0xffff7a737d8b817a7272)
st3            -inf     (raw 0xffff0000000000000000)
st4            -nan(0x867f8287817d7979) (raw 0xffff867f8287817d7979)
st5            -nan(0x1000100000001)    (raw 0xffff0001000100000001)
st6            -inf     (raw 0xffff0000000000000000)
st7            -inf     (raw 0xffff0000000000000000)
fctrl          0xffff027f       -64897
fstat          0xffff0000       -65536
ftag           0xffffaaaa       -21846
fiseg          0x8      8
fioff          0x82099487       -2113301369
foseg          0xffff0023       -65501
fooff          0xb7c54df0       -1211806224
fop            0x301    769
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0xe9, 0x0, 0xe8, 0x0, 0xf5, 0x0, 0x8, 0x1, 0x2e, 0x1, 0x41, 
    0x1, 0x6a, 0x1, 0x7f, 0x1}, v8_int16 = {0xe9, 0xe8, 0xf5, 0x108, 0x12e, 
    0x141, 0x16a, 0x17f}, v4_int32 = {0xe800e9, 0x10800f5, 0x141012e, 
    0x17f016a}, v2_int64 = {0x10800f500e800e9, 0x17f016a0141012e}, 
  uint128 = 0x017f016a0141012e010800f500e800e9}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0xb2, 0x0, 0xb7, 0x0, 0xb8, 0x0, 0xb8, 0x0, 0xaf, 0x0, 0xb0, 
    0x0, 0xb2, 0x0, 0xb3, 0x0}, v8_int16 = {0xb2, 0xb7, 0xb8, 0xb8, 0xaf, 
    0xb0, 0xb2, 0xb3}, v4_int32 = {0xb700b2, 0xb800b8, 0xb000af, 0xb300b2}, 
  v2_int64 = {0xb800b800b700b2, 0xb300b200b000af}, 
  uint128 = 0x00b300b200b000af00b800b800b700b2}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0xbb, 0x0, 0xc7, 0x0, 0xc9, 0x0, 0xc7, 0x0, 0xbc, 0x0, 0xb7, 
    0x0, 0xb6, 0x0, 0xb9, 0x0}, v8_int16 = {0xbb, 0xc7, 0xc9, 0xc7, 0xbc, 
    0xb7, 0xb6, 0xb9}, v4_int32 = {0xc700bb, 0xc700c9, 0xb700bc, 0xb900b6}, 
  v2_int64 = {0xc700c900c700bb, 0xb900b600b700bc}, 
  uint128 = 0x00b900b600b700bc00c700c900c700bb}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0xbc, 0x0, 0xce, 0x0, 0xd2, 0x0, 0xd0, 0x0, 0xd1, 0x0, 0xd2, 
    0x0, 0xd4, 0x0, 0xd1, 0x0}, v8_int16 = {0xbc, 0xce, 0xd2, 0xd0, 0xd1, 
    0xd2, 0xd4, 0xd1}, v4_int32 = {0xce00bc, 0xd000d2, 0xd200d1, 0xd100d4}, 
  v2_int64 = {0xd000d200ce00bc, 0xd100d400d200d1}, 
  uint128 = 0x00d100d400d200d100d000d200ce00bc}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x77, 0x0, 0x83, 0x0, 0x8c, 0x0, 0x97, 0x0, 0xad, 0x0, 0xb9, 
    0x0, 0xdb, 0x0, 0xda, 0x0}, v8_int16 = {0x77, 0x83, 0x8c, 0x97, 0xad, 
    0xb9, 0xdb, 0xda}, v4_int32 = {0x830077, 0x97008c, 0xb900ad, 0xda00db}, 
  v2_int64 = {0x97008c00830077, 0xda00db00b900ad}, 
  uint128 = 0x00da00db00b900ad0097008c00830077}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x2c, 0x0, 0x2b, 0x0, 0x36, 0x0, 0x48, 0x0, 0x6b, 0x0, 0x7c, 
    0x0, 0xa3, 0x0, 0xb7, 0x0}, v8_int16 = {0x2c, 0x2b, 0x36, 0x48, 0x6b, 
    0x7c, 0xa3, 0xb7}, v4_int32 = {0x2b002c, 0x480036, 0x7c006b, 0xb700a3}, 
  v2_int64 = {0x480036002b002c, 0xb700a3007c006b}, 
  uint128 = 0x00b700a3007c006b00480036002b002c}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x68, 0x18, 0x6a, 0x1a, 0xbd, 0x1a, 0x49, 0x1a, 0x66, 0x19, 
    0xe8, 0x18, 0x71, 0x18, 0x86, 0x18}, v8_int16 = {0x1868, 0x1a6a, 0x1abd, 
    0x1a49, 0x1966, 0x18e8, 0x1871, 0x1886}, v4_int32 = {0x1a6a1868, 
    0x1a491abd, 0x18e81966, 0x18861871}, v2_int64 = {0x1a491abd1a6a1868, 
    0x1886187118e81966}, uint128 = 0x1886187118e819661a491abd1a6a1868}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]
mm0            {uint64 = 0x666c7073777d8385, v2_int32 = {0x777d8385, 
    0x666c7073}, v4_int16 = {0x8385, 0x777d, 0x7073, 0x666c}, v8_int8 = {
    0x85, 0x83, 0x7d, 0x77, 0x73, 0x70, 0x6c, 0x66}}
mm1            {uint64 = 0x6e74797c7f80807f, v2_int32 = {0x7f80807f, 
    0x6e74797c}, v4_int16 = {0x807f, 0x7f80, 0x797c, 0x6e74}, v8_int8 = {
    0x7f, 0x80, 0x80, 0x7f, 0x7c, 0x79, 0x74, 0x6e}}
mm2            {uint64 = 0x7a737d8b817a7272, v2_int32 = {0x817a7272, 
    0x7a737d8b}, v4_int16 = {0x7272, 0x817a, 0x7d8b, 0x7a73}, v8_int8 = {
    0x72, 0x72, 0x7a, 0x81, 0x8b, 0x7d, 0x73, 0x7a}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x867f8287817d7979, v2_int32 = {0x817d7979, 
    0x867f8287}, v4_int16 = {0x7979, 0x817d, 0x8287, 0x867f}, v8_int8 = {
    0x79, 0x79, 0x7d, 0x81, 0x87, 0x82, 0x7f, 0x86}}
mm5            {uint64 = 0x1000100000001, v2_int32 = {0x1, 0x10001}, 
  v4_int16 = {0x1, 0x0, 0x1, 0x1}, v8_int8 = {0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 
    0x1, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x6bbbe87f to 0x6bbbe8bf:
0x6bbbe87f <put_h264_qpel8or16_hv_lowpass_sse2+943>:    loopne 0x6bbbe8ec
<put_h264_qpel8or16_hv_lowpass_sse2+1052>
0x6bbbe881 <put_h264_qpel8or16_hv_lowpass_sse2+945>:    psubw  %xmm1,%xmm6
0x6bbbe885 <put_h264_qpel8or16_hv_lowpass_sse2+949>:    psubw  %xmm4,%xmm6
0x6bbbe889 <put_h264_qpel8or16_hv_lowpass_sse2+953>:    punpcklbw %xmm7,%xmm5
0x6bbbe88d <put_h264_qpel8or16_hv_lowpass_sse2+957>:    pmullw 0x6be06b70,%xmm6
0x6bbbe895 <put_h264_qpel8or16_hv_lowpass_sse2+965>:    paddw  %xmm5,%xmm0
0x6bbbe899 <put_h264_qpel8or16_hv_lowpass_sse2+969>:    add    %esi,%eax
0x6bbbe89b <put_h264_qpel8or16_hv_lowpass_sse2+971>:    paddw  %xmm0,%xmm6
0x6bbbe89f <put_h264_qpel8or16_hv_lowpass_sse2+975>:    movdqa %xmm6,(%ecx)
0x6bbbe8a3 <put_h264_qpel8or16_hv_lowpass_sse2+979>:    movdqa %xmm3,%xmm6
0x6bbbe8a7 <put_h264_qpel8or16_hv_lowpass_sse2+983>:    movq   (%eax),%xmm0
0x6bbbe8ab <put_h264_qpel8or16_hv_lowpass_sse2+987>:    paddw  %xmm4,%xmm6
0x6bbbe8af <put_h264_qpel8or16_hv_lowpass_sse2+991>:    psllw  $0x2,%xmm6
0x6bbbe8b4 <put_h264_qpel8or16_hv_lowpass_sse2+996>:    paddw  0x6be06b50,%xmm1
0x6bbbe8bc <put_h264_qpel8or16_hv_lowpass_sse2+1004>:   psubw  %xmm2,%xmm6
End of assembler dump.
(gdb)

______________________________________________________
FFmpeg issue tracker <[EMAIL PROTECTED]>
<https://roundup.mplayerhq.hu/roundup/ffmpeg/issue496>
______________________________________________________

Reply via email to