[MPlayer-dev-eng] TODO

Michael Niedermayer michaelni at gmx.at
Wed Feb 13 01:13:37 CET 2002


Hi
On Wednesday 13 February 2002 00:57, Arpi wrote:
[...]
> it was with -vo mga (i've changed source to use different memcpys)
> anyway, while benchmarking agp memcpy, i got NaN results... with some
> research i've found it's because of missing EMMS call:
>
> #ifndef HAVE_SSE
>                 /* enables to use FPU */
>                 __asm__ __volatile__ (EMMS:::"memory");
> #endif
>
> why is it disabled for SSE cpus? maybe original fastmemcpy didn't use MMX
> for SSE cpus? dunno. anyway it is required for agp memcpy...
its copied from fast_memcpy and there are lots of ifdef define stuff, i 
thought HAVE_SSE was undef, well thats bad, its not undefed on P4 ...
could u try if fast_memcpy is faster (for mem->mem cpy) if u undef HAVE_SSE / 
HAVE_SSE2 in aclib_template.c and if it is, permanently undef it ...

>
> but.
> it is used in most cases (at least for YV12) in such loop:
>
> for(y=0;y<h;y++){
>     memcpy(d,s,w);
>     s+=s_stride;
>     d+=d_stride;
> }
>
> so mayeb making a specialized version with such syntax could make our life
> easier and also saves us from some func calls and emms:
>    agp2memcpy_pic(d,s,w,h,d_stride,s_stride);
>
> what do you think?
i doubt that there will be a messureable difference in speed...
anyway ill do it

[...]
Michael



More information about the MPlayer-dev-eng mailing list