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

Alexander Strange astrange at ithinksw.com
Thu Apr 10 19:06:36 CEST 2008


On Apr 10, 2008, at 6:58 AM, Diego Biurrun wrote:
> On Wed, Apr 02, 2008 at 08:42:01PM -0400, Alexander Strange wrote:
>>
>> On Apr 2, 2008, at 7:48 PM, Diego Biurrun wrote:
>>>
>>> IOW, I should just apply the following change to my patch, right?
>>>
>>> -+    static const int32_t rounder4_128[] ATTR_ALIGN(16) = rounder  
>>> (0);
>>> ++    static const int32_t rounder4_128[] ATTR_ALIGN(16) =  
>>> rounder_sse2 (0);
>>
>> Yes.
>
> I submitted an updated patch with this change to libmpeg2, but it does
> not pass libmpeg2 regression tests, see
>
> http://sourceforge.net/mailarchive/forum.php?thread_name=20080224180309.GU2534%40biurrun.de&forum_name=libmpeg2-devel
>
> Could you maybe have another look at this?
>
> Diego

Huh, I was sure I'd checked -vo md5sum (even if it's not a full  
regression suite) but now I see it comes out differently.

Changing

+void mpeg2_idct_add_sse2 (const int last, int16_t * const block,
+			  uint8_t * const dest, const int stride)
+{
+    if (last != 129 || (block[0] & 7) == 4) {

to "if (last != 129 || (block[0] & (7 << 4)) == (4 << 4)) {" to match  
mpeg2_idct_add_mmxext fixes it on a DVD and an MPEG1 clip I have.
SF managed to lose your patch attachment in that mail, though.



More information about the MPlayer-dev-eng mailing list