[Theora-dev] Re: MMX/mmxext optimisations

Ralph Giles giles at xiph.org
Wed Sep 15 23:09:11 PDT 2004


Thanks for finding this. I committed a different patch, just passing 
'0' for ErrorSoFar on recursion. Seemed wrong to break the accumulation 
convention.

 -r

On Fri, Aug 27, 2004 at 09:06:02AM +0200, Wim Taymans wrote:

> oh, right. GetHalfPixelSumAbsDiffs in the reference encoder has a bug
> where ErrorSoFar is added twice to DiffVall. That would also make a
> difference. Error like this:
> 
> --- mcomp.c     2003-12-03 09:59:41.000000000 +0100
> +++ mcomp.c.fix 2004-08-26 15:40:48.000000000 +0200
> @@ -272,7 +272,7 @@ static ogg_uint32_t GetHalfPixelSumAbsDi
> 
>    if ( RefOffset == 0 ) {
>      /* Simple case as for non 0.5 pixel */
> -    DiffVal += GetSumAbsDiffs( SrcData, RefDataPtr1, PixelsPerLine,
> +    DiffVal = GetSumAbsDiffs( SrcData, RefDataPtr1, PixelsPerLine,
>                                 ErrorSoFar);
>    } else  {
>      for ( i=0; i < BLOCK_HEIGHT_WIDTH; i++ ) {
> 
> 
> Regards,
> Wim


More information about the Theora-dev mailing list