Bug#529849: mplayer: "-vf yuy2" leads to crashes

Jakub Wilk ubanus at users.sf.net
Wed Aug 19 13:47:33 UTC 2009


I don't understand why, but libswscale has one copy of yv12toyuy2 
symbol, and mplayer has another. Only the former variable is 
initialized:

$ gdb /usr/bin/mplayer
[snip]
Breakpoint 1, put_image (vf=0x858ad18, mpi=0x85915f8, pts=0.039999999105930328) at libmpcodecs/vf_yuy2.c:45
45	    yv12toyuy2(mpi->planes[0],mpi->planes[1],mpi->planes[2], dmpi->planes[0],
(gdb) print yv12toyuy2
$1 = (void (*)(const uint8_t *, const uint8_t *, const uint8_t *, uint8_t *, long int, long int, long int, long int, long int)) 0
(gdb) print &yv12toyuy2
$2 = (void (**)(const uint8_t *, const uint8_t *, const uint8_t *, uint8_t *, long int, long int, long int, long int, long int)) 0x84c5e30
(gdb) up
#1  0x0814b86a in filter_video (sh_video=0x858aa40, frame=0x85915f8, pts=0.039999999105930328) at libmpcodecs/dec_video.c:416
416	    int ret = vf->put_image(vf, mpi, pts);
(gdb) print yv12toyuy2
$3 = (void (*)(const uint8_t *, const uint8_t *, const uint8_t *, uint8_t *, long int, long int, long int, long int, long int)) 0xb61cda20 <yv12toyuy2_MMX2>
(gdb) print &yv12toyuy2
$4 = (void (**)(const uint8_t *, const uint8_t *, const uint8_t *, uint8_t *, long int, long int, long int, long int, long int)) 0xb61f04b0

-- 
Jakub Wilk





More information about the pkg-multimedia-maintainers mailing list