summaryrefslogtreecommitdiff
path: root/chromium/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h
diff options
context:
space:
mode:
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.h41
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;