[FFmpeg-trac] #939(FFplay:new): FFplay issue when SDL compiled with GCC 4.6.2

FFmpeg trac at avcodec.org
Fri Jan 27 04:04:48 CET 2012


#939: FFplay issue when SDL compiled with GCC 4.6.2
------------------------------------+----------------------------------
             Reporter:  KSHawkEye   |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  important   |                Component:  FFplay
              Version:  git-master  |               Resolution:
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+----------------------------------

Comment (by KSHawkEye):

 I followed the bug reporting guide, here are my findings:

 The commands:
 "ffplay_g.exe" -v 9 -loglevel 99 -i "smaple-media.mp4"

 Returns:

 {{{
 ffplay version N-37084-g0bb57f8 Copyright (c) 2003-2012 the FFmpeg
 developers
   built on Jan 26 2012 21:40:51 with gcc 4.6.2
   configuration:
   libavutil      51. 34.101 / 51. 34.101
   libavcodec     53. 58.100 / 53. 58.100
   libavformat    53. 30.100 / 53. 30.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 59.101 /  2. 59.101
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  6.100 /  0.  6.100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 04e5a500] Format mov,mp4,m4a,3gp,3g2,mj2 probed
 with
 size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 04e5a500] ISO: File Type Major Brand: mp42
 [h264 @ 04e6c540] err{or,}_recognition separate: 1; 1
 [h264 @ 04e6c540] err{or,}_recognition combined: 1; 10001
 [aac @ 04e607e0] err{or,}_recognition separate: 1; 1
 [aac @ 04e607e0] err{or,}_recognition combined: 1; 10001
 [aac @ 04e607e0] Unsupported bit depth: 0
 [mov,mp4,m4a,3gp,3g2,mj2 @ 04e5a500] All info found
 rfps: 29.583333 0.016682
     Last message repeated 1 times
 rfps: 29.666667 0.009429
     Last message repeated 1 times
 rfps: 29.750000 0.004243
     Last message repeated 1 times
 rfps: 29.833333 0.001125
     Last message repeated 1 times
 rfps: 29.916667 0.000075
 rfps: 30.000000 0.001092
 rfps: 30.083333 0.004177
 rfps: 30.166667 0.009330
 rfps: 30.250000 0.016550
 rfps: 59.500000 0.016972
     Last message repeated 1 times
 rfps: 59.583333 0.009702
     Last message repeated 1 times
 rfps: 59.666667 0.004500
     Last message repeated 1 times
 rfps: 59.750000 0.001365
 rfps: 59.833333 0.000298
 rfps: 59.916667 0.001299
 rfps: 29.970030 0.000488
 rfps: 59.940060 0.001952
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'smaple-media.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2011-03-03 01:26:03
   Duration: 00:01:55.93, start: 0.000000, bitrate: 2980 kb/s
     Stream #0:0(und), 41, 1/1000: Video: h264 (High) (avc1 / 0x31637661),
 yuv420
 p, 1280x720 [SAR 1:1 DAR 16:9], 500/29917, 2846 kb/s, 29.97 fps, 29.92
 tbr, 1k t
 bn, 59.83 tbc
     Metadata:
       creation_time   : 1970-01-01 00:00:00
       handler_name    : VideoHandler
     Stream #0:1(und), 42, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100
 Hz, ste
 reo, s16, 128 kb/s
     Metadata:
       creation_time   : 2011-03-03 01:26:05
       handler_name    :
 [aac @ 04e607e0] err{or,}_recognition separate: 1; 10001
 [aac @ 04e607e0] err{or,}_recognition combined: 1; 10001
 [aac @ 04e607e0] Unsupported bit depth: 0
 [h264 @ 04e6c540] err{or,}_recognition separate: 1; 10001
 [h264 @ 04e6c540] err{or,}_recognition combined: 1; 10001
 [h264 @ 04e6c540] detected 8 logical cores
    0.22 A-V: -0.012 fd=   0 aq=  320KB vq= 5865KB sq=    0B f=0/0   f=0/0
 }}}

 Running gdb 7.4 on ffplay_g.exe shows:

 {{{
 (gdb) r -i "smaple-media.mp4"
 Starting program: C:\Users\Kyle\Desktop/ffplay_g.exe -i "smaple-media.mp4"
 [New Thread 4928.0x17b4]
 warning: Can not parse XML library list; XML support was disabled at
 compile tim
 e
 ffplay version N-37084-g0bb57f8 Copyright (c) 2003-2012 the FFmpeg
 developers
   built on Jan 26 2012 21:40:51 with gcc 4.6.2
   configuration:
   libavutil      51. 34.101 / 51. 34.101
   libavcodec     53. 58.100 / 53. 58.100
   libavformat    53. 30.100 / 53. 30.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 59.101 /  2. 59.101
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  6.100 /  0.  6.100
 [New Thread 4928.0x165c]
 [New Thread 4928.0xee0]
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'smaple-media.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2011-03-03 01:26:03
   Duration: 00:01:55.93, start: 0.000000, bitrate: 2980 kb/s
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1280x720
 [SAR 1:1 DAR 16:9], 2846 kb/s, 29.97 fps, 29.92 tbr, 1k tbn, 59.83 tbc
     Metadata:
       creation_time   : 1970-01-01 00:00:00
       handler_name    : VideoHandler
     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
 s16, 128
  kb/s
     Metadata:
       creation_time   : 2011-03-03 01:26:05
       handler_name    :
 [New Thread 4928.0x15c8]
 [New Thread 4928.0x16d8]
 [New Thread 4928.0x7d8]
 [New Thread 4928.0x580]
 [New Thread 4928.0x146c]
 [New Thread 4928.0xb98]
 [New Thread 4928.0xe74]
 [New Thread 4928.0x17a4]
 [New Thread 4928.0x1478]
 [New Thread 4928.0x11d4]
 [New Thread 4928.0x12a0]
 [New Thread 4928.0x500]
 [New Thread 4928.0x3a4]
 [New Thread 4928.0x1048]
 [New Thread 4928.0x15f4]
 [New Thread 4928.0x898]
 [New Thread 4928.0x5e0]
 [New Thread 4928.0x4e4]
  [New Thread 4928.0xc80]  0 aq=  320KB vq= 5832KB sq=    0B f=0/0   f=0/0
  [New Thread 4928.0x680]
  0.[New Thread 4928.0x1798]
 06 A-V: -0.008 fd=   0 aq=  320KB vq= 5828KB sq=    0B f=0/0
 Program received signal SIGSEGV, Segmentation fault.
 0x00a8df45 in ColorRGBDitherYV12MMX1X (colortab=0x5c71fc0,
     rgb_2_pix=0xa7a9ba,
     lum=0xa92ec98
 "M\377\377\377O\377\377\377P\377\377\377Q\377\377\377S\377\377
 \377T\377\377\377V\377\377\377W\377\377\377X\377\377\377Z\377\377\377[\377\377\3
 77]\377\377\377^\377\377\377_\377\377\377a\377\377\377b\377\377\377d\377\377\377
 e\377\377\377f\377\377\377h\377\377\377i\377\377\377k\377\377\377l\377\377\377m\
 377\377\377o\377\377\377p\377\377\377r\377\377\377s\377\377\377t\377\377\377v\37
 7\377\377w\377\377\377y\377\377\377z\377\377\377{\377\377\377}\377\377\377~\377\
 377\377\200\377\377\377\201\377\377\377,\377\377\377,\377\377\377.\377\377\377+\
 377\377\377\210\377\377\377%\377\377\377<\377\377\377O\377\377\377Z\377\377\377\
 217\377\377\377\220\377\377\377'\377\377\377"..., cr=0xa92fcb0 "",
     cb=0xc7d0020 '&' <repeats 70 times>, "''((", ')' <repeats 116 times>,
 "**++,
 ,,,,,"..., out=0xc8b1020 'ƒ' <repeats 128 times>, ',' <repeats 72
 times>...,
     rows=210670624, cols=205783040, mod=720)
     at ../source/sdl-1.2.14/src/video/SDL_yuv_mmx.c:94
 94      ../source/sdl-1.2.14/src/video/SDL_yuv_mmx.c: No such file or
 directory.

 (gdb)
 }}}

 I notably see:
 ../source/sdl-1.2.14/src/video/SDL_yuv_mmx.c: No such file or directory.

 running bt in gdb runs through an endless stream of:

 {{{
 #2694 0x2e2e2e2e in ?? ()
 #2695 0x2e2e2e2e in ?? ()
 #2696 0x2e2e2e2e in ?? ()
 }}}

 Running:
 disass $pc-32,$pc+32

 Returns:

 {{{
 Dump of assembler code from 0xa8df25 to 0xa8df65:
    0x00a8df25 <ColorRGBDitherYV12MMX1X+53>:     shl    $0x2,%esi
    0x00a8df28 <ColorRGBDitherYV12MMX1X+56>:     mov    %esi,0x3c(%esp)
    0x00a8df2c <ColorRGBDitherYV12MMX1X+60>:     lea    (%ecx,%ebx,4),%esi
    0x00a8df2f <ColorRGBDitherYV12MMX1X+63>:     mov    0x2c(%esp),%ebx
    0x00a8df33 <ColorRGBDitherYV12MMX1X+67>:     push   $0x0
    0x00a8df35 <ColorRGBDitherYV12MMX1X+69>:     push   %ebx
    0x00a8df36 <ColorRGBDitherYV12MMX1X+70>:     mov    0x28(%esp),%ebx
    0x00a8df3a <ColorRGBDitherYV12MMX1X+74>:     mov    %ebx,0x4(%esp)
    0x00a8df3e <ColorRGBDitherYV12MMX1X+78>:     pop    %ebx
    0x00a8df3f <ColorRGBDitherYV12MMX1X+79>:     nop
    0x00a8df40 <ColorRGBDitherYV12MMX1X+80>:     push   %ebx
    0x00a8df41 <ColorRGBDitherYV12MMX1X+81>:     mov    0x4(%esp),%ebx
 => 0x00a8df45 <ColorRGBDitherYV12MMX1X+85>:     movd   (%ebx),%mm1
    0x00a8df48 <ColorRGBDitherYV12MMX1X+88>:     pop    %ebx
    0x00a8df49 <ColorRGBDitherYV12MMX1X+89>:     pxor   %mm7,%mm7
    0x00a8df4c <ColorRGBDitherYV12MMX1X+92>:     movd   (%edx),%mm2
    0x00a8df4f <ColorRGBDitherYV12MMX1X+95>:     punpcklbw %mm7,%mm1
    0x00a8df52 <ColorRGBDitherYV12MMX1X+98>:     punpckldq %mm1,%mm1
    0x00a8df55 <ColorRGBDitherYV12MMX1X+101>:    psubw  0xb0ee70,%mm1
    0x00a8df5c <ColorRGBDitherYV12MMX1X+108>:    movq   %mm1,%mm0
    0x00a8df5f <ColorRGBDitherYV12MMX1X+111>:    pmullw 0xb0ee78,%mm0
 End of assembler dump.
 }}}

 And finally, running:
 info all-registers

 Returns:

 {{{
 eax            0x500    1280
 ecx            0xc49c170        206160240
 edx            0xc7f4dbc        209669564
 ebx            0xa938ffe        177442814
 esp            0x28fbec 0x28fbec
 ebp            0xc7d0020        0xc7d0020
 esi            0xc49d570        206165360
 edi            0xa92ec50        177400912
 eip            0xa8df45 0xa8df45 <ColorRGBDitherYV12MMX1X+85>
 eflags         0x210283 [ CF SF IF RF ID ]
 cs             0x23     35
 ss             0x2b     43
 ds             0x2b     43
 es             0x2b     43
 fs             0x53     83
 gs             0x2b     43
 st0            -nan(0x9002000090020)    (raw 0xffff0009002000090020)
 st1            -nan(0x7c2000007c20)     (raw 0xffff00007c2000007c20)
 st2            -inf     (raw 0xffff0000000000000000)
 st3            -nan(0x2000000020)       (raw 0xffff0000002000000020)
 st4            -nan(0x92b2000092b20)    (raw 0xffff00092b2000092b20)
 st5            -nan(0x92b2000092b20)    (raw 0xffff00092b2000092b20)
 st6            -nan(0x9000900000000)    (raw 0xffff0009000900000000)
 st7            -nan(0x2b2b7c7c2b2b7c7c) (raw 0xffff2b2b7c7c2b2b7c7c)
 fctrl          0x37f    895
 fstat          0x20     32
 ftag           0xaaaa   43690
 fiseg          0x23     35
 fioff          0x40362a 4208170
 foseg          0x2b     43
 fooff          0x28fda0 2686368
 fop            0x5d8    1496
 xmm0           {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}
 xmm1           {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}
 xmm2           {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}
 xmm3           {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}
 xmm4           {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}
 xmm5           {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}
 xmm6           {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}
 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          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0x9002000090020, v2_int32 = {0x90020, 0x90020},
   v4_int16 = {0x20, 0x9, 0x20, 0x9}, v8_int8 = {0x20, 0x0, 0x9, 0x0, 0x20,
     0x0, 0x9, 0x0}}
 mm1            {uint64 = 0x7c2000007c20, v2_int32 = {0x7c20, 0x7c20},
   v4_int16 = {0x7c20, 0x0, 0x7c20, 0x0}, v8_int8 = {0x20, 0x7c, 0x0, 0x0,
     0x20, 0x7c, 0x0, 0x0}}
 mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm3            {uint64 = 0x2000000020, v2_int32 = {0x20, 0x20}, v4_int16 =
 {
     0x20, 0x0, 0x20, 0x0}, v8_int8 = {0x20, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0,
     0x0}}
 mm4            {uint64 = 0x92b2000092b20, v2_int32 = {0x92b20, 0x92b20},
   v4_int16 = {0x2b20, 0x9, 0x2b20, 0x9}, v8_int8 = {0x20, 0x2b, 0x9, 0x0,
     0x20, 0x2b, 0x9, 0x0}}
 mm5            {uint64 = 0x92b2000092b20, v2_int32 = {0x92b20, 0x92b20},
   v4_int16 = {0x2b20, 0x9, 0x2b20, 0x9}, v8_int8 = {0x20, 0x2b, 0x9, 0x0,
     0x20, 0x2b, 0x9, 0x0}}
 mm6            {uint64 = 0x9000900000000, v2_int32 = {0x0, 0x90009},
   v4_int16 = {0x0, 0x0, 0x9, 0x9}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x9,
 0x0,
     0x9, 0x0}}
 mm7            {uint64 = 0x2b2b7c7c2b2b7c7c, v2_int32 = {0x2b2b7c7c,
     0x2b2b7c7c}, v4_int16 = {0x7c7c, 0x2b2b, 0x7c7c, 0x2b2b}, v8_int8 = {
     0x7c, 0x7c, 0x2b, 0x2b, 0x7c, 0x7c, 0x2b, 0x2b}}
 }}}

 I hope this information helps.

 I haven't had a chance to build MPlayer for Windows, but I believe the
 info I provided should help.

 If you would still prefer I attempt to build MPlayer, I can try.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/939#comment:2>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list