[x265] [PATCH] Tcompridiction: Block Interpolation calculation

Steve Borho steve at borho.org
Thu Aug 29 09:58:55 CEST 2013


On Thu, Aug 29, 2013 at 2:34 AM, <gopu at multicorewareinc.com> wrote:

> # HG changeset patch
> # User ggopu
> # Date 1377761657 -19800
> # Node ID 3325574049fe495c59488fe3ca83f7aeddcc917c
> # Parent  77d92ca1d18332da920f399b5ccc3902a91d4198
> Tcompridiction: Block Interpolation calculation
>
> diff -r 77d92ca1d183 -r 3325574049fe
> source/Lib/TLibCommon/TComPrediction.cpp
> --- a/source/Lib/TLibCommon/TComPrediction.cpp  Thu Aug 29 02:01:23 2013
> -0500
> +++ b/source/Lib/TLibCommon/TComPrediction.cpp  Thu Aug 29 13:04:17 2013
> +0530
> @@ -477,7 +477,34 @@
>      Pel* src = ref->lumaPlane[xFrac][yFrac] + blkOffset + refOffset;
>

the src pixels must be lumaPlane[0][0] or use the recon TComPicYUV access
methods


>      Int srcStride = refStride;
>
> -    x265::primitives.blockcpy_pp(width, height, dst, dstStride, src,
> srcStride);
> +    if (yFrac == 0)
> +    {
> +        if (xFrac != 0)
> +        {
> +            x265::primitives.ipfilter_pp[FILTER_H_P_P_8]((pixel*)src,
> refStride, (pixel*)dst, dstStride, width, height, g_lumaFilter[xFrac]);
> +        }
> +        else
> +        {
> +            x265::primitives.blockcpy_pp(width, height, dst, dstStride,
> src, srcStride);
> +        }
> +    }
> +    else if (xFrac == 0)
> +    {
> +        x265::primitives.ipfilter_pp[FILTER_H_P_P_8]((pixel*)src,
> refStride, (pixel*)dst, dstStride, width, height, g_lumaFilter[yFrac]);
> +    }
> +    else
> +    {
> +        Int tmpStride = width;
> +        Int filterSize = NTAPS_LUMA;
> +        Int halfFilterSize = (filterSize >> 1);
> +
> +        Short *tmp    = (Short*)malloc(width * (height + filterSize - 1)
> * sizeof(Short));
>

extra spaces here should be removed


> +
> +        primitives.ipfilter_ps[FILTER_H_P_S_8]((pixel*)src -
> (halfFilterSize - 1) * refStride,  refStride, tmp, tmpStride, width, height
> + filterSize - 1, g_lumaFilter[xFrac]);
> +        primitives.ipfilter_sp[FILTER_V_S_P_8](tmp + (halfFilterSize - 1)
> * tmpStride, tmpStride, (pixel*)dst, dstStride, width, height,
> g_lumaFilter[yFrac]);
> +
> +        free(tmp);
> +    }
>  }
>
>  //Motion compensated block for biprediction
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>



-- 
Steve Borho
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.videolan.org/private/x265-devel/attachments/20130829/67ce13c8/attachment.html>


More information about the x265-devel mailing list