[x265] [PATCH] TComYuv::copyPartToPartChroma, blockcopy_pp asm integration

Steve Borho steve at borho.org
Mon Nov 18 21:53:44 CET 2013


On Nov 18, 2013, at 9:56 AM, praveen at multicorewareinc.com wrote:

> # HG changeset patch
> # User Praveen Tiwari
> # Date 1384790206 -19800
> # Node ID a5f618af8d963efafaa8581f4484066b13f4f614
> # Parent  49a556cf22721d846a94e07c1933fcd092b898dd
> TComYuv::copyPartToPartChroma, blockcopy_pp asm integration
> 
> diff -r 49a556cf2272 -r a5f618af8d96 source/Lib/TLibCommon/TComYuv.cpp
> --- a/source/Lib/TLibCommon/TComYuv.cpp	Mon Nov 18 21:00:45 2013 +0530
> +++ b/source/Lib/TLibCommon/TComYuv.cpp	Mon Nov 18 21:26:46 2013 +0530
> @@ -327,7 +327,8 @@
>         if (srcU == dstU) return;
>         uint32_t srcstride = getCStride();
>         uint32_t dststride = dstPicYuv->getCStride();
> -        primitives.blockcpy_pp(width, height, dstU, dststride, srcU, srcstride);
> +        int part = partitionFromSizes(width << 1, height << 1);

you can't make those kinds of assumptions about relative chroma/luma size; can you not just use m_part?

> +        primitives.chroma_copy_pp[m_csp][part](dstU, dststride, srcU, srcstride);
>     }
>     else if (chromaId == 1)
>     {
> @@ -336,7 +337,8 @@
>         if (srcV == dstV) return;
>         uint32_t srcstride = getCStride();
>         uint32_t dststride = dstPicYuv->getCStride();
> -        primitives.blockcpy_pp(width, height, dstV, dststride, srcV, srcstride);
> +        int part = partitionFromSizes(width << 1, height << 1);
> +        primitives.chroma_copy_pp[m_csp][part](dstV, dststride, srcV, srcstride);
>     }
>     else
>     {
> @@ -347,8 +349,9 @@
>         if (srcU == dstU && srcV == dstV) return;
>         uint32_t srcstride = getCStride();
>         uint32_t dststride = dstPicYuv->getCStride();
> -        primitives.blockcpy_pp(width, height, dstU, dststride, srcU, srcstride);
> -        primitives.blockcpy_pp(width, height, dstV, dststride, srcV, srcstride);
> +        int part = partitionFromSizes(width << 1, height << 1);
> +        primitives.chroma_copy_pp[m_csp][part](dstU, dststride, srcU, srcstride);
> +        primitives.chroma_copy_pp[m_csp][part](dstV, dststride, srcV, srcstride);
>     }
> }
> 
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131118/dcc98ef8/attachment.sig>


More information about the x265-devel mailing list