[x265] [PATCH 3 of 3] Adding function pointer initializations for asm chroma vsp functions
Steve Borho
steve at borho.org
Wed Nov 13 05:51:29 CET 2013
On Tue, Nov 12, 2013 at 10:07 PM, chen <chenm003 at 163.com> wrote:
> 在 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
>
>
in the short term, I'm not too concerned with 16bpp performance. I believe
that particular 16bpp test bench is failing right now anyway.
>
>> 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
>
>
> _______________________________________________
> 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/20131112/dc3b3f07/attachment.html>
More information about the x265-devel
mailing list