Index: source/config/linux/ia32/vp9_rtcd.h |
diff --git a/source/config/linux/ia32/vp9_rtcd.h b/source/config/linux/ia32/vp9_rtcd.h |
index b20d23bc10dba25b436f5f87c468e80b7984be92..5390f8fc5b2c90af982ecd0d3ef378300923232b 100644 |
--- a/source/config/linux/ia32/vp9_rtcd.h |
+++ b/source/config/linux/ia32/vp9_rtcd.h |
@@ -284,6 +284,14 @@ void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_t |
void vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); |
RTCD_EXTERN void (*vp9_fht8x8)(const int16_t *input, tran_low_t *output, int stride, int tx_type); |
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+void vp9_filter_by_weight16x16_sse2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+RTCD_EXTERN void (*vp9_filter_by_weight16x16)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+ |
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+void vp9_filter_by_weight8x8_sse2(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+RTCD_EXTERN void (*vp9_filter_by_weight8x8)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); |
+ |
int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); |
#define vp9_full_range_search vp9_full_range_search_c |
@@ -442,6 +450,14 @@ void vp9_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, co |
void vp9_lpf_vertical_8_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); |
RTCD_EXTERN void (*vp9_lpf_vertical_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); |
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit); |
+void vp9_mbpost_proc_across_ip_xmm(uint8_t *src, int pitch, int rows, int cols, int flimit); |
+RTCD_EXTERN void (*vp9_mbpost_proc_across_ip)(uint8_t *src, int pitch, int rows, int cols, int flimit); |
+ |
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit); |
+void vp9_mbpost_proc_down_xmm(uint8_t *dst, int pitch, int rows, int cols, int flimit); |
+RTCD_EXTERN void (*vp9_mbpost_proc_down)(uint8_t *dst, int pitch, int rows, int cols, int flimit); |
+ |
unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); |
unsigned int vp9_mse16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); |
unsigned int vp9_mse16x16_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); |
@@ -459,6 +475,14 @@ unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint |
unsigned int vp9_mse8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); |
RTCD_EXTERN unsigned int (*vp9_mse8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); |
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch); |
+void vp9_plane_add_noise_wmt(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch); |
+RTCD_EXTERN void (*vp9_plane_add_noise)(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch); |
+ |
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
+void vp9_post_proc_down_and_across_xmm(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
+RTCD_EXTERN void (*vp9_post_proc_down_and_across)(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
+ |
void vp9_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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); |
void vp9_quantize_b_sse2(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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_b)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_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); |
@@ -1041,6 +1065,10 @@ static void setup_rtcd_internal(void) |
if (flags & HAS_SSE2) vp9_fht4x4 = vp9_fht4x4_sse2; |
vp9_fht8x8 = vp9_fht8x8_c; |
if (flags & HAS_SSE2) vp9_fht8x8 = vp9_fht8x8_sse2; |
+ vp9_filter_by_weight16x16 = vp9_filter_by_weight16x16_c; |
+ if (flags & HAS_SSE2) vp9_filter_by_weight16x16 = vp9_filter_by_weight16x16_sse2; |
+ vp9_filter_by_weight8x8 = vp9_filter_by_weight8x8_c; |
+ if (flags & HAS_SSE2) vp9_filter_by_weight8x8 = vp9_filter_by_weight8x8_sse2; |
vp9_full_search_sad = vp9_full_search_sad_c; |
if (flags & HAS_SSE3) vp9_full_search_sad = vp9_full_search_sadx3; |
if (flags & HAS_SSE4_1) vp9_full_search_sad = vp9_full_search_sadx8; |
@@ -1118,6 +1146,10 @@ static void setup_rtcd_internal(void) |
if (flags & HAS_SSE2) vp9_lpf_vertical_8 = vp9_lpf_vertical_8_sse2; |
vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c; |
if (flags & HAS_SSE2) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_sse2; |
+ vp9_mbpost_proc_across_ip = vp9_mbpost_proc_across_ip_c; |
+ if (flags & HAS_SSE2) vp9_mbpost_proc_across_ip = vp9_mbpost_proc_across_ip_xmm; |
+ vp9_mbpost_proc_down = vp9_mbpost_proc_down_c; |
+ if (flags & HAS_SSE2) vp9_mbpost_proc_down = vp9_mbpost_proc_down_xmm; |
vp9_mse16x16 = vp9_mse16x16_c; |
if (flags & HAS_SSE2) vp9_mse16x16 = vp9_mse16x16_sse2; |
if (flags & HAS_AVX2) vp9_mse16x16 = vp9_mse16x16_avx2; |
@@ -1127,6 +1159,10 @@ static void setup_rtcd_internal(void) |
if (flags & HAS_SSE2) vp9_mse8x16 = vp9_mse8x16_sse2; |
vp9_mse8x8 = vp9_mse8x8_c; |
if (flags & HAS_SSE2) vp9_mse8x8 = vp9_mse8x8_sse2; |
+ vp9_plane_add_noise = vp9_plane_add_noise_c; |
+ if (flags & HAS_SSE2) vp9_plane_add_noise = vp9_plane_add_noise_wmt; |
+ vp9_post_proc_down_and_across = vp9_post_proc_down_and_across_c; |
+ if (flags & HAS_SSE2) vp9_post_proc_down_and_across = vp9_post_proc_down_and_across_xmm; |
vp9_quantize_b = vp9_quantize_b_c; |
if (flags & HAS_SSE2) vp9_quantize_b = vp9_quantize_b_sse2; |
vp9_quantize_fp = vp9_quantize_fp_c; |