diff options
Diffstat (limited to 'chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h')
-rw-r--r-- | chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h b/chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h index c5f23c47e04..c8f69b95e1d 100644 --- a/chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h +++ b/chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h @@ -277,7 +277,16 @@ void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input, int pitch, int tx_type, int bd); -#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_c +void vp9_highbd_iht16x16_256_add_sse4_1(const tran_low_t* input, + uint16_t* output, + int pitch, + int tx_type, + int bd); +RTCD_EXTERN void (*vp9_highbd_iht16x16_256_add)(const tran_low_t* input, + uint16_t* output, + int pitch, + int tx_type, + int bd); void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input, uint16_t* dest, @@ -300,7 +309,16 @@ void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input, int stride, int tx_type, int bd); -#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_c +void vp9_highbd_iht8x8_64_add_sse4_1(const tran_low_t* input, + uint16_t* dest, + int stride, + int tx_type, + int bd); +RTCD_EXTERN void (*vp9_highbd_iht8x8_64_add)(const tran_low_t* input, + uint16_t* dest, + int stride, + int tx_type, + int bd); void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src, int pitch, @@ -424,6 +442,17 @@ void vp9_quantize_fp_sse2(const tran_low_t* coeff_ptr, uint16_t* eob_ptr, const int16_t* scan, const int16_t* iscan); +void vp9_quantize_fp_avx2(const tran_low_t* coeff_ptr, + intptr_t n_coeffs, + int skip_block, + const int16_t* round_ptr, + const int16_t* quant_ptr, + tran_low_t* qcoeff_ptr, + tran_low_t* dqcoeff_ptr, + const int16_t* dequant_ptr, + uint16_t* eob_ptr, + const int16_t* scan, + const int16_t* iscan); RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t* coeff_ptr, intptr_t n_coeffs, int skip_block, @@ -512,9 +541,15 @@ static void setup_rtcd_internal(void) { vp9_highbd_block_error = vp9_highbd_block_error_c; if (flags & HAS_SSE2) vp9_highbd_block_error = vp9_highbd_block_error_sse2; + vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_c; + if (flags & HAS_SSE4_1) + vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_sse4_1; vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_c; if (flags & HAS_SSE4_1) vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_sse4_1; + vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_c; + if (flags & HAS_SSE4_1) + vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_sse4_1; vp9_iht16x16_256_add = vp9_iht16x16_256_add_c; if (flags & HAS_SSE2) vp9_iht16x16_256_add = vp9_iht16x16_256_add_sse2; @@ -527,6 +562,8 @@ static void setup_rtcd_internal(void) { vp9_quantize_fp = vp9_quantize_fp_c; if (flags & HAS_SSE2) vp9_quantize_fp = vp9_quantize_fp_sse2; + if (flags & HAS_AVX2) + vp9_quantize_fp = vp9_quantize_fp_avx2; vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c; if (flags & HAS_SSSE3) vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_ssse3; |