[x265] [PATCH] asm: avx code for chroma sa8d, reused luma code

sumalatha at multicorewareinc.com sumalatha at multicorewareinc.com
Fri Apr 10 11:22:09 CEST 2015


# HG changeset patch
# User Sumalatha Polureddy
# Date 1428653532 -19800
#      Fri Apr 10 13:42:12 2015 +0530
# Node ID 29d56d204a24d3618d17d62dc4010afb4eed7a98
# Parent  984e254f93f7cedc5a9b00851d2e14b49dc94e91
asm: avx code for chroma sa8d, reused luma code

diff -r 984e254f93f7 -r 29d56d204a24 source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp	Thu Apr 09 11:48:08 2015 -0500
+++ b/source/common/x86/asm-primitives.cpp	Fri Apr 10 13:42:12 2015 +0530
@@ -1488,6 +1488,10 @@
         p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].satd = x265_pixel_satd_32x8_avx;
         p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].satd = x265_pixel_satd_8x32_avx;
         ASSIGN_SA8D(avx);
+        p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].sa8d = x265_pixel_sa8d_32x32_avx;
+        p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].sa8d = x265_pixel_sa8d_16x16_avx;
+        p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].sa8d = x265_pixel_sa8d_8x8_avx;
+        p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].sa8d = x265_pixel_satd_4x4_avx;
         ASSIGN_SSE_PP(avx);
         p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].sse_pp = x265_pixel_ssd_8x8_avx;
         ASSIGN_SSE_SS(avx);
diff -r 984e254f93f7 -r 29d56d204a24 source/test/pixelharness.cpp
--- a/source/test/pixelharness.cpp	Thu Apr 09 11:48:08 2015 -0500
+++ b/source/test/pixelharness.cpp	Fri Apr 10 13:42:12 2015 +0530
@@ -1437,6 +1437,14 @@
                     return false;
                 }
             }
+            if (opt.chroma[i].cu[part].sa8d)
+            {
+                if (!check_pixelcmp(ref.chroma[i].cu[part].sa8d, opt.chroma[i].cu[part].sa8d))
+                {
+                    printf("chroma_sa8d[%s][%s] failed\n", x265_source_csp_names[i], chromaPartStr[i][part]);
+                    return false;
+                }
+            }
         }
     }
 
@@ -1895,6 +1903,11 @@
                 HEADER("[%s]  add_ps[%s]", x265_source_csp_names[i], chromaPartStr[i][part]);
                 REPORT_SPEEDUP(opt.chroma[i].cu[part].add_ps, ref.chroma[i].cu[part].add_ps, pbuf1, FENC_STRIDE, pbuf2, sbuf1, STRIDE, STRIDE);
             }
+            if (opt.chroma[i].cu[part].sa8d)
+            {
+                HEADER("[%s] sa8d[%s]", x265_source_csp_names[i], chromaPartStr[i][part]);
+                REPORT_SPEEDUP(opt.chroma[i].cu[part].sa8d, ref.chroma[i].cu[part].sa8d, pbuf1, STRIDE, pbuf2, STRIDE);
+            }
         }
     }
 


More information about the x265-devel mailing list