[MPlayer-dev-eng] [PATCH] Fix packed YUV in dshow vo

Vladimir Voroshilov voroshil at gmail.com
Fri Oct 3 20:14:40 CEST 2008


2008/10/4 Laurent <laurent.aml at gmail.com>:
> On Fri, Oct 3, 2008 at 12:17 PM, compn <tempn at twmi.rr.com> wrote:
>> On Fri, 3 Oct 2008 11:53:18 -0400, Laurent wrote:
>>>MPlayer crashes on Intel-based GPU (eg 945) when the Packed YUV
>>>colorspace is used.
>>>
>>>To reproduce the crash, start
>>>  mplayer.exe -vf format=YUY2 <yourvideo>
>>
>> got a gdb backtrace? (instructions in bugreports.html)
>>
>> -compn
>> _______________________________________________
>> MPlayer-dev-eng mailing list
>> MPlayer-dev-eng at mplayerhq.hu
>> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>>
>
> Here it is the trace.
> There is a memory fault in the mem copy, as the source buffer is
> smaller than the destination buffer, due to different strides.
>
> In this case:
>  image size:320x240
>  source stride=640 (no padding)
>  source buffer size: 153600
>  destination stride=1024
>  destination buffer size: 245760
>
>
>
> #0  0x00500b74 in fast_memcpy (to=0x1210c000, from=0x911c158,
> len=245760) at libvo/aclib_template.c:191
> #1  0x00429e9d in control (request=13, data=0x867af00) at
> libvo/vo_directx.c:1478
> #2  0x004a86fa in put_image (vf=0x8650f70, mpi=0x867af00, pts=0) at
> libmpcodecs/vf_vo.c:178
> #3  0x00475129 in filter_video (sh_video=0x8626008, frame=0x8619bd8,
> pts=0) at libmpcodecs/dec_video.c:416
> #4  0x004071fc in main (argc=15, argv=0x3f4028) at mplayer.c:1776
>


[...]

> 0x00500b57 <fast_memcpy+87>:    mov    -0x10(%ebp),%ebx
> 0x00500b5a <fast_memcpy+90>:    xor    %ecx,%ecx
> 0x00500b5c <fast_memcpy+92>:    lea    0x0(%esi,%eiz,1),%esi
> 0x00500b60 <fast_memcpy+96>:    lea    (%esi,%ecx,1),%edx
> 0x00500b63 <fast_memcpy+99>:    lea    (%edi,%ecx,1),%eax
> 0x00500b66 <fast_memcpy+102>:   prefetchnta 0x140(%edx)
> 0x00500b6d <fast_memcpy+109>:   movups (%edx),%xmm0
> 0x00500b70 <fast_memcpy+112>:   movups 0x10(%edx),%xmm1
> 0x00500b74 <fast_memcpy+116>:   movups 0x20(%edx),%xmm2


I can confirm that mplayer crashes in above line when used under win32
with "-vo directx -vf format=YUY2"  (moreover, both format/outpu are
autodetected
and used as default on my system).

After patch applied mplayer works like a charm.

-- 
Regards,
Vladimir Voroshilov     mailto:voroshil at gmail.com
JID: voroshil at gmail.com, voroshil at jabber.ru
ICQ: 95587719



More information about the MPlayer-dev-eng mailing list