X-Git-Url: https://git.piment-noir.org/?p=deb_x265.git;a=blobdiff_plain;f=source%2Fcommon%2Fx86%2Fipfilter8.h;h=6c8683f8af8a7682f903f4758b625d11f233dc6d;hp=3949409ba8712e5d2c3067f87e80a1452da29dc0;hb=b53f7c52d8280ab63876efd6eb292c21430ac607;hpb=5c9b45285dd64723ad1dac380b98a7b1f3095674 diff --git a/source/common/x86/ipfilter8.h b/source/common/x86/ipfilter8.h index 3949409..6c8683f 100644 --- a/source/common/x86/ipfilter8.h +++ b/source/common/x86/ipfilter8.h @@ -25,10 +25,10 @@ #define X265_IPFILTER8_H #define SETUP_LUMA_FUNC_DEF(W, H, cpu) \ - void x265_interp_8tap_horiz_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_8tap_horiz_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx, int isRowExt); \ - void x265_interp_8tap_vert_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_8tap_vert_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_8tap_horiz_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_8tap_horiz_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx, int isRowExt); \ + void x265_interp_8tap_vert_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_8tap_vert_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); #define LUMA_FILTERS(cpu) \ SETUP_LUMA_FUNC_DEF(4, 4, cpu); \ @@ -58,7 +58,7 @@ SETUP_LUMA_FUNC_DEF(16, 64, cpu) #define SETUP_LUMA_SP_FUNC_DEF(W, H, cpu) \ - void x265_interp_8tap_vert_sp_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_8tap_vert_sp_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); #define LUMA_SP_FILTERS(cpu) \ SETUP_LUMA_SP_FUNC_DEF(4, 4, cpu); \ @@ -88,7 +88,7 @@ SETUP_LUMA_SP_FUNC_DEF(16, 64, cpu); #define SETUP_LUMA_SS_FUNC_DEF(W, H, cpu) \ - void x265_interp_8tap_vert_ss_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_8tap_vert_ss_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); #define LUMA_SS_FILTERS(cpu) \ SETUP_LUMA_SS_FUNC_DEF(4, 4, cpu); \ @@ -120,10 +120,10 @@ #if HIGH_BIT_DEPTH #define SETUP_CHROMA_VERT_FUNC_DEF(W, H, cpu) \ - void x265_interp_4tap_vert_ss_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_vert_sp_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_vert_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_vert_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_4tap_vert_ss_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_vert_sp_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_vert_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_vert_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); #define CHROMA_VERT_FILTERS(cpu) \ SETUP_CHROMA_VERT_FUNC_DEF(4, 4, cpu); \ @@ -208,8 +208,8 @@ SETUP_CHROMA_VERT_FUNC_DEF(16, 64, cpu) #define SETUP_CHROMA_HORIZ_FUNC_DEF(W, H, cpu) \ - void x265_interp_4tap_horiz_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_horiz_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx, int isRowExt); + void x265_interp_4tap_horiz_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_horiz_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx, int isRowExt); #define CHROMA_HORIZ_FILTERS(cpu) \ SETUP_CHROMA_HORIZ_FUNC_DEF(4, 4, cpu); \ @@ -289,8 +289,8 @@ SETUP_CHROMA_HORIZ_FUNC_DEF(64, 16, cpu); \ SETUP_CHROMA_HORIZ_FUNC_DEF(16, 64, cpu) -void x265_chroma_p2s_sse2(pixel *src, intptr_t srcStride, int16_t *dst, int width, int height); -void x265_luma_p2s_sse2(pixel *src, intptr_t srcStride, int16_t *dst, int width, int height); +void x265_chroma_p2s_sse2(const pixel* src, intptr_t srcStride, int16_t* dst, int width, int height); +void x265_luma_p2s_sse2(const pixel* src, intptr_t srcStride, int16_t* dst, int width, int height); CHROMA_VERT_FILTERS(_sse2); CHROMA_HORIZ_FILTERS(_sse4); @@ -319,10 +319,10 @@ CHROMA_HORIZ_FILTERS_444(_sse4); #else // if HIGH_BIT_DEPTH #define SETUP_CHROMA_FUNC_DEF(W, H, cpu) \ - void x265_interp_4tap_horiz_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_horiz_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx, int isRowExt); \ - void x265_interp_4tap_vert_pp_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); \ - void x265_interp_4tap_vert_ps_ ## W ## x ## H ## cpu(pixel * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_4tap_horiz_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_horiz_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx, int isRowExt); \ + void x265_interp_4tap_vert_pp_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); \ + void x265_interp_4tap_vert_ps_ ## W ## x ## H ## cpu(const pixel* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); #define CHROMA_FILTERS(cpu) \ SETUP_CHROMA_FUNC_DEF(4, 4, cpu); \ @@ -403,7 +403,7 @@ CHROMA_HORIZ_FILTERS_444(_sse4); SETUP_CHROMA_FUNC_DEF(16, 64, cpu); #define SETUP_CHROMA_SP_FUNC_DEF(W, H, cpu) \ - void x265_interp_4tap_vert_sp_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_4tap_vert_sp_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int coeffIdx); #define CHROMA_SP_FILTERS(cpu) \ SETUP_CHROMA_SP_FUNC_DEF(8, 2, cpu); \ @@ -488,7 +488,7 @@ CHROMA_HORIZ_FILTERS_444(_sse4); SETUP_CHROMA_SP_FUNC_DEF(16, 64, cpu); #define SETUP_CHROMA_SS_FUNC_DEF(W, H, cpu) \ - void x265_interp_4tap_vert_ss_ ## W ## x ## H ## cpu(int16_t * src, intptr_t srcStride, int16_t * dst, intptr_t dstStride, int coeffIdx); + void x265_interp_4tap_vert_ss_ ## W ## x ## H ## cpu(const int16_t* src, intptr_t srcStride, int16_t* dst, intptr_t dstStride, int coeffIdx); #define CHROMA_SS_FILTERS(cpu) \ SETUP_CHROMA_SS_FUNC_DEF(4, 4, cpu); \ @@ -573,12 +573,14 @@ CHROMA_HORIZ_FILTERS_444(_sse4); SETUP_CHROMA_SS_FUNC_DEF(16, 64, cpu); CHROMA_FILTERS(_sse4); +CHROMA_FILTERS(_avx2); CHROMA_SP_FILTERS(_sse2); CHROMA_SP_FILTERS_SSE4(_sse4); CHROMA_SS_FILTERS(_sse2); CHROMA_SS_FILTERS_SSE4(_sse4); CHROMA_FILTERS_422(_sse4); +CHROMA_FILTERS_422(_avx2); CHROMA_SP_FILTERS_422(_sse2); CHROMA_SP_FILTERS_422_SSE4(_sse4); CHROMA_SS_FILTERS_422(_sse2); @@ -588,7 +590,7 @@ CHROMA_FILTERS_444(_sse4); CHROMA_SP_FILTERS_444(_sse4); CHROMA_SS_FILTERS_444(_sse2); -void x265_chroma_p2s_ssse3(pixel *src, intptr_t srcStride, int16_t *dst, int width, int height); +void x265_chroma_p2s_ssse3(const pixel* src, intptr_t srcStride, int16_t* dst, int width, int height); #undef SETUP_CHROMA_FUNC_DEF #undef SETUP_CHROMA_SP_FUNC_DEF @@ -616,8 +618,8 @@ LUMA_SP_FILTERS(_sse4); LUMA_SS_FILTERS(_sse2); LUMA_FILTERS(_avx2); -void x265_interp_8tap_hv_pp_8x8_ssse3(pixel * src, intptr_t srcStride, pixel * dst, intptr_t dstStride, int idxX, int idxY); -void x265_luma_p2s_ssse3(pixel *src, intptr_t srcStride, int16_t *dst, int width, int height); +void x265_interp_8tap_hv_pp_8x8_ssse3(const pixel* src, intptr_t srcStride, pixel* dst, intptr_t dstStride, int idxX, int idxY); +void x265_luma_p2s_ssse3(const pixel* src, intptr_t srcStride, int16_t* dst, int width, int height); #undef LUMA_FILTERS #undef LUMA_SP_FILTERS