[MPlayer-dev-eng] [PATCH] SSE2 optimizations for libmpeg2

Diego Biurrun diego at biurrun.de
Thu Apr 3 01:15:49 CEST 2008


On Wed, Apr 02, 2008 at 05:39:57AM -0400, Alexander Strange wrote:
>
> On Apr 1, 2008, at 2:27 PM, Diego Biurrun wrote:
>> On Tue, Mar 11, 2008 at 11:34:44AM +0800, Zuxy Meng wrote:
>>>
>>> 2008/2/19, Diego Biurrun <diego at biurrun.de>:
>>>>
>>>> And here is a version without the (apparently ineffectual) motion
>>>> compensation bits.
>>>
>>> Are u going to apply this?
>>
>> I'm not at all sure. According to Christophe Massiot on libmpeg2-
>> devel the output of this IDCT differs from the MMXEXT one even though
>> they use the same algorithm. Thus I'm not sure if it will ever be
>> acceptable upstream.
>>
>> There must still be a bug lurking in there.  Maybe you can find it?
>
> This should be rounder_sse2 (0):
> static const int32_t rounder4_128[] ATTR_ALIGN(16) = rounder (0);
>
> Attached patch fixes that and builds with the last change to libmpeg2.

You also make the following changes respective to the patch I posted:

diff -u libmpeg2/idct_mmx.c libmpeg2/idct_mmx.c
--- libmpeg2/idct_mmx.c	(working copy)
+++ libmpeg2/idct_mmx.c	(working copy)
@@ -869,7 +869,7 @@
 
-static inline void idct (int16_t * const block)
+void idct (int16_t * const block)
 {
@@ -902,7 +902,7 @@
 
-static inline void sse2_idct (int16_t * const block)
+void sse2_idct (int16_t * const block)

Is this on purpose?

Diego



More information about the MPlayer-dev-eng mailing list