[x265] [PATCH 3 of 3] Adding function pointer initializations for asm chroma vsp functions

chen chenm003 at 163.com
Wed Nov 13 05:07:17 CET 2013


在 2013-11-13 07:26:04,"Steve Borho" <steve at borho.org> 写道:



On Tue, Nov 12, 2013 at 4:58 AM, <nabajit at multicorewareinc.com> wrote:
# HG changeset patch
# User Nabajit Deka
# Date 1384253754 -19800
#      Tue Nov 12 16:25:54 2013 +0530
# Node ID b0b5fd8c84ea3a4d6b9c44b0e57023e251e1bc81
# Parent  752b982a4a6c7778a6f8a50cfa7c8f3e7eac04e9
Adding function pointer initializations for asm chroma vsp functions.



Queued.


if these functions are now completed, you need to send a patch which enables these primitives in the encoder and removes the old primitives entirely.
 
I try it before, but 16bpp path need these old primivites, so we have to  keep it until we finished 16bpp version

diff -r 752b982a4a6c -r b0b5fd8c84ea source/common/x86/asm-primitives.cpp
--- a/source/common/x86/asm-primitives.cpp      Tue Nov 12 16:23:13 2013 +0530
+++ b/source/common/x86/asm-primitives.cpp      Tue Nov 12 16:25:54 2013 +0530
@@ -139,6 +139,9 @@
     p.chroma_vpp[CHROMA_ ## W ## x ## H] = x265_interp_4tap_vert_pp_ ## W ## x ## H ## cpu; \
     p.chroma_copy_ps[CHROMA_ ## W ## x ## H] = x265_blockcopy_ps_ ## W ## x ## H ## cpu;

+#define SETUP_CHROMA_SP_FUNC_DEF(W, H, cpu) \
+    p.chroma_vsp[CHROMA_ ## W ## x ## H] = x265_interp_4tap_vert_sp_ ## W ## x ## H ## cpu;
+
 #define SETUP_CHROMA_BLOCKCOPY_FUNC_DEF(W, H, cpu) \
     p.chroma_copy_pp[CHROMA_ ## W ## x ## H] = x265_blockcopy_pp_ ## W ## x ## H ## cpu;

@@ -168,6 +171,32 @@
     SETUP_CHROMA_FUNC_DEF(32, 8, cpu); \
     SETUP_CHROMA_FUNC_DEF(8, 32, cpu);

+#define CHROMA_SP_FILTERS(cpu) \
+    SETUP_CHROMA_SP_FUNC_DEF(4, 4, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(4, 2, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(2, 4, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 4, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(4, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 6, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(6, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 2, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(2, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(16, 16, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(16, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 16, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(16, 12, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(12, 16, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(16, 4, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(4, 16, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(32, 32, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(32, 16, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(16, 32, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(32, 24, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(24, 32, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(32, 8, cpu); \
+    SETUP_CHROMA_SP_FUNC_DEF(8, 32, cpu);
+
 #define CHROMA_BLOCKCOPY(cpu) \
     SETUP_CHROMA_BLOCKCOPY_FUNC_DEF(4, 4, cpu); \
     SETUP_CHROMA_BLOCKCOPY_FUNC_DEF(4, 2, cpu); \
@@ -473,7 +502,10 @@
         p.luma_hvpp[LUMA_8x8] = x265_interp_8tap_hv_pp_8x8_ssse3;
         p.luma_p2s = x265_luma_p2s_ssse3;
         p.chroma_p2s = x265_chroma_p2s_ssse3;
+
+        CHROMA_SP_FILTERS(_ssse3);
         LUMA_SP_FILTERS(_ssse3);
+
     }
     if (cpuMask & X265_CPU_SSE4)
     {
_______________________________________________
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: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131113/28465b70/attachment.html>


More information about the x265-devel mailing list