[MPlayer-dev-eng] [PATCH] SSE2-optimized libmpeg2 motion compensation
jserv at linux2.cc.ntu.edu.tw
jserv at linux2.cc.ntu.edu.tw
Wed Jun 14 17:38:12 CEST 2006
On Wed, Jun 14, 2006 at 05:22:25PM +0200, Guillaume Poirier wrote:
salut Guillaume,
> jserv at linux2.cc.ntu.edu.tw wrote:
> >
> > I am using GCC 4.1.1, and Intel C++ compiler is known to build with my patch.
>
> Did you check how good of a job do they do at generating good code out
> of your intrinsincs?
Sorry, not yet. I am not familiar with Intel C++ compiler on IA32, but I
am attempting to perform some benchmarks on crossover comparisons.
> > @@ -37,78 +38,22 @@
> > #if defined(ARCH_X86) || defined(ARCH_X86_64)
> > static inline uint32_t arch_accel (void)
> > {
[...]
> > - caps |= MPEG2_ACCEL_X86_MMXEXT;
> > -
> > - return caps;
>
> I failed to see this chunk last time. Is there a reason why you
> removed CPUID support from libmpeg2?
> You need to keep in mind that libmpeg2 is an imported library, which
> is supposed to be working if you use it in another project.
> Therefore, you should not make such changes, because if you do,
> libmpeg2 won't work in projects that do not have "general" cpuid check
> routines.
Thanks for pointing me. I think that the above code snip is redundant
since MPlayer has its own MMX / 3DNow! / SSE / SSE2 / SSE3 CPU detection
process and utilities.
However, I shall divide my previous patch into two parts: CPU detecion
cleanup and SSE2-optimized MC implementation.
> What could be done though (in a patch separated from this one) would
> be to #ifdef libmpeg2's cpuid code so that if it's used in MPlayer it
> doesn't get used.
> But as I said, it would have to be done in a different patch.
I am new to list, and appreciate your patience and guides.
cheers,
Jim Huang
http://jserv.sayya.org/
More information about the MPlayer-dev-eng
mailing list