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

Diego Biurrun diego at biurrun.de
Sun Apr 13 00:18:12 CEST 2008


On Thu, Apr 10, 2008 at 01:06:36PM -0400, Alexander Strange wrote:
> 
> 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?
> 
> 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.

The patch got committed upstream to libmpeg2, thanks for helping me out.
I'll merge it to our version now.

Diego



More information about the MPlayer-dev-eng mailing list