Hi all, I am building mplayer with the vaapi patches using the kanotix script ( http://www.kanotix.com/files/fix/mplayer-vaapi-latest.txt). It uses the patches from http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest.tar.bz2, and I've been having this problem at least with the 20091209, 20091221 and 20091228 versions of the patches. I can watch mkv/x264 films using vaapi acceleration, but as soon as I try to add subtitles, I get SIGSEGV crashes. The svn revisions of mplayer, ffmpeg, and dvdnav used are 30134, 20947 and 1188 respectively. I am using kubuntu 9.10 (karmic) $ uname -a Linux 1101ha-j 2.6.31-17-lpia #54-Ubuntu SMP Thu Dec 10 16:18:14 UTC 2009 i686 GNU/Linux $ ls -l /lib/libc[.-]* -rwxr-xr-x 1 root root 1393092 2009-10-07 04:55 /lib/libc-2.10.1.so lrwxrwxrwx 1 root root 14 2009-10-07 14:24 /lib/libc.so.6 -> libc-2.10.1.so $ X -version X.Org X Server 1.6.4 Release Date: 2009-9-27 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.24-23-server i686 Ubuntu Current Operating System: Linux 1101ha-j 2.6.31-17-lpia #54-Ubuntu SMP Thu Dec 10 16:18:14 UTC 2009 i686 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.31-17-lpia root=UUID=d6fd38ae-05ca-4858-9091-5ee51989bde1 ro quiet splash irqpoll mem=2000mb Build Date: 14 November 2009 05:47:39PM xorg-server 2:1.6.4-2ubuntu4.1 (buildd@) $ gcc -v Using built-in specs. Target: i686-linux-gnulp Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.1-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch=pentium-m --with-tune=i586 --enable-checking=release --build=i686-linux-gnulp --host=i686-linux-gnulp --target=i686-linux-gnulp Thread model: posix gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8) $ gcc-4.3 -v Using built-in specs. Target: i686-linux-gnulp Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.4-5ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --with-arch=i686 --with-tune=i586 --enable-checking=release --build=i686-linux-gnulp --host=i686-linux-gnulp --target=i686-linux-gnulp Thread model: posix gcc version 4.3.4 (Ubuntu 4.3.4-5ubuntu1) $ ld -v GNU ld (GNU Binutils for Ubuntu) 2.20 $ as --version GNU assembler (GNU Binutils for Ubuntu) 2.20 The hardware is a Asus eeepc 1101HA - Intel(R) Atom(TM) CPU Z520 @ 1.33GHz, GMA500 (poulsbo) chipset, 2GB RAM, 160GB HD I build it again by hand after verifying the problem is still there in these versions, passing "CC=gcc-4.3 --enable-debug=3" to configure, and this is the backtrace I get of the crashes: VO: [vaapi] 1280x688 => 1280x688 H.264 VA API Acceleration [vo_vaapi] Could not set up subpicture palette [VD_FFMPEG] XVMC-accelerated MPEG-2. A: 1.9 V: 1.9 A-V: -0.004 ct: 0.017 0/ 0 52% 42% 29.5% 35 0 Program received signal SIGSEGV, Segmentation fault. draw_alpha_rgb32 (x0=<value optimized out>, y0=310, w=853, h=68, src=0x94eefd0 "", srca=0x94fd360 "", stride=856) at libvo/vo_vaapi.c:437 437 dst[4*x + 0] = c; (gdb) bt #0 draw_alpha_rgb32 (x0=<value optimized out>, y0=310, w=853, h=68, src=0x94eefd0 "", srca=0x94fd360 "", stride=856) at libvo/vo_vaapi.c:437 #1 0x0822a971 in vo_draw_text_from_buffer (dxs=1280, dys=688, left_border=0, top_border=0, right_border=0, bottom_border=0, orig_w=1280, orig_h=688, draw_alpha=0x813c670 <draw_alpha_rgb32>) at libvo/sub.c:170 #2 vo_draw_text_ext (dxs=1280, dys=688, left_border=0, top_border=0, right_border=0, bottom_border=0, orig_w=1280, orig_h=688, draw_alpha=0x813c670 <draw_alpha_rgb32>) at libvo/sub.c:1274 #3 0x0822a9d7 in vo_draw_text (dxs=1280, dys=688, draw_alpha=0x813c670 <draw_alpha_rgb32>) at libvo/sub.c:1286 #4 0x0813d2ad in draw_osd () at libvo/vo_vaapi.c:1518 #5 0x081c6a71 in control (vf=0x8ef3278, request=7, data=0x0) at libmpcodecs/vf_vo.c:95 #6 0x08195a0b in filter_video (sh_video=0x8ec4b40, frame=0x8fbab58, pts=62.562000274658203) at libmpcodecs/dec_video.c:458 #7 0x080e4bf0 in generate_video_frame (argc=8, argv=0xbffff7b4) at mplayer.c:1802 #8 update_video (argc=8, argv=0xbffff7b4) at mplayer.c:2374 #9 main (argc=8, argv=0xbffff7b4) at mplayer.c:3766 (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0x813c72c to 0x813c76c: 0x0813c72c <draw_alpha_rgb32+188>: lea 0x0(%esi,%eiz,1),%esi 0x0813c730 <draw_alpha_rgb32+192>: mov 0x1c(%ebp),%esi 0x0813c733 <draw_alpha_rgb32+195>: xor %edx,%edx 0x0813c735 <draw_alpha_rgb32+197>: mov 0x18(%ebp),%ebx 0x0813c738 <draw_alpha_rgb32+200>: mov 0x10(%ebp),%eax 0x0813c73b <draw_alpha_rgb32+203>: add %edi,%esi 0x0813c73d <draw_alpha_rgb32+205>: add %edi,%ebx 0x0813c73f <draw_alpha_rgb32+207>: test %eax,%eax 0x0813c741 <draw_alpha_rgb32+209>: jle 0x813c769 <draw_alpha_rgb32+249> 0x0813c743 <draw_alpha_rgb32+211>: nop 0x0813c744 <draw_alpha_rgb32+212>: lea 0x0(%esi,%eiz,1),%esi 0x0813c748 <draw_alpha_rgb32+216>: movzbl (%ebx,%edx,1),%eax 0x0813c74c <draw_alpha_rgb32+220>: mov %al,(%ecx,%edx,4) 0x0813c74f <draw_alpha_rgb32+223>: mov %al,0x1(%ecx,%edx,4) 0x0813c753 <draw_alpha_rgb32+227>: mov %al,0x2(%ecx,%edx,4) 0x0813c757 <draw_alpha_rgb32+231>: movzbl (%esi,%edx,1),%eax 0x0813c75b <draw_alpha_rgb32+235>: neg %eax 0x0813c75d <draw_alpha_rgb32+237>: mov %al,0x3(%ecx,%edx,4) 0x0813c761 <draw_alpha_rgb32+241>: add $0x1,%edx 0x0813c764 <draw_alpha_rgb32+244>: cmp %edx,0x10(%ebp) 0x0813c767 <draw_alpha_rgb32+247>: jg 0x813c748 <draw_alpha_rgb32+216> 0x0813c769 <draw_alpha_rgb32+249>: addl $0x1,-0x20(%ebp) End of assembler dump. (gdb) info all-registers eax 0x0 0 ecx 0x1ae34d8a 451104138 edx 0x0 0 ebx 0x94eefd0 156168144 esp 0xbfffb368 0xbfffb368 ebp 0xbfffb388 0xbfffb388 esi 0x94fd360 156226400 edi 0x0 0 eip 0x813c74c 0x813c74c <draw_alpha_rgb32+220> eflags 0x210206 [ PF IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 st0 -15201.575199999999313149601221084595 (raw 0xc00ced864d013a92a000) st1 -15201.075199999999313149601221084595 (raw 0xc00ced844d013a92a000) st2 -0.0041708298958837985992431640625 (raw 0xbff788ab750000000000) st3 -1 (raw 0xbfff8000000000000000) st4 -98.214600191392975148119148798286915 (raw 0xc005c46de013877f1000) st5 62.562000274658203125 (raw 0x4004fa3f7d0000000000) st6 100 (raw 0x4005c800000000000000) st7 192 (raw 0x4006c000000000000000) fctrl 0x37f 895 fstat 0x420 1056 ftag 0xffff 65535 fiseg 0x73 115 fioff 0x827d639 136828473 foseg 0x7b 123 fooff 0xbfffb044 -1073762236 fop 0x34d 845 xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x8, 0x0 <repeats 14 times>}, v8_int16 = {0x800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x800, 0x0, 0x0, 0x0}, v2_int64 = {0x800, 0x0}, uint128 = 0x00000000000000000000000000000800} xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xe1, 0xbc, 0xe8, 0xdc, 0xd6, 0x49, 0x29, 0x32, 0xf8, 0x99, 0x70, 0x2a, 0x11, 0x14, 0x94, 0x87}, v8_int16 = {0xbce1, 0xdce8, 0x49d6, 0x3229, 0x99f8, 0x2a70, 0x1411, 0x8794}, v4_int32 = { 0xdce8bce1, 0x322949d6, 0x2a7099f8, 0x87941411}, v2_int64 = {0x322949d6dce8bce1, 0x879414112a7099f8}, uint128 = 0x879414112a7099f8322949d6dce8bce1} xmm2 {v4_float = {0x0, 0x0, 0xc063000, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xe9, 0x22, 0x6c, 0xab, 0x3f, 0xea, 0x20, 0x2c, 0xc6, 0x80, 0xa1, 0x50, 0x20, 0x4, 0x66, 0x99}, v8_int16 = {0x22e9, 0xab6c, 0xea3f, 0x2c20, 0x80c6, 0x50a1, 0x420, 0x9966}, v4_int32 = { 0xab6c22e9, 0x2c20ea3f, 0x50a180c6, 0x99660420}, v2_int64 = {0x2c20ea3fab6c22e9, 0x9966042050a180c6}, uint128 = 0x9966042050a180c62c20ea3fab6c22e9} xmm3 {v4_float = {0x1e41e000, 0x0, 0x0, 0xd5000000}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x3c, 0xc8, 0xc3, 0x50, 0x25, 0x62, 0x74, 0x60, 0xc9, 0x68, 0x51, 0x93, 0x56, 0xa0, 0x80, 0xd6}, v8_int16 = {0xc83c, 0x50c3, 0x6225, 0x6074, 0x68c9, 0x9351, 0xa056, 0xd680}, v4_int32 = {0x50c3c83c, 0x60746225, 0x935168c9, 0xd680a056}, v2_int64 = {0x6074622550c3c83c, 0xd680a056935168c9}, uint128 = 0xd680a056935168c96074622550c3c83c} 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 = 0xed864d013a92a000, v2_int32 = {0x3a92a000, 0xed864d01}, v4_int16 = {0xa000, 0x3a92, 0x4d01, 0xed86}, v8_int8 = {0x0, 0xa0, 0x92, 0x3a, 0x1, 0x4d, 0x86, 0xed}} mm1 {uint64 = 0xed844d013a92a000, v2_int32 = {0x3a92a000, 0xed844d01}, v4_int16 = {0xa000, 0x3a92, 0x4d01, 0xed84}, v8_int8 = {0x0, 0xa0, 0x92, 0x3a, 0x1, 0x4d, 0x84, 0xed}} mm2 {uint64 = 0x88ab750000000000, v2_int32 = {0x0, 0x88ab7500}, v4_int16 = {0x0, 0x0, 0x7500, 0x88ab}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x75, 0xab, 0x88}} mm3 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}} mm4 {uint64 = 0xc46de013877f1000, v2_int32 = {0x877f1000, 0xc46de013}, v4_int16 = {0x1000, 0x877f, 0xe013, 0xc46d}, v8_int8 = {0x0, 0x10, 0x7f, 0x87, 0x13, 0xe0, 0x6d, 0xc4}} mm5 {uint64 = 0xfa3f7d0000000000, v2_int32 = {0x0, 0xfa3f7d00}, v4_int16 = {0x0, 0x0, 0x7d00, 0xfa3f}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x7d, 0x3f, 0xfa}} mm6 {uint64 = 0xc800000000000000, v2_int32 = {0x0, 0xc8000000}, v4_int16 = {0x0, 0x0, 0x0, 0xc800}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8}} mm7 {uint64 = 0xc000000000000000, v2_int32 = {0x0, 0xc0000000}, v4_int16 = {0x0, 0x0, 0x0, 0xc000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0}} ------------------------ Any idea on how to fix this, so that I can watch my films with subtitles? Thanks!