[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