Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: source/config/linux/ia32/vp9_rtcd.h

Issue 668403002: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/config/linux/generic/vpx_config.asm ('k') | source/config/linux/ia32/vpx_config.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #ifndef VP9_RTCD_H_ 1 #ifndef VP9_RTCD_H_
2 #define VP9_RTCD_H_ 2 #define VP9_RTCD_H_
3 3
4 #ifdef RTCD_C 4 #ifdef RTCD_C
5 #define RTCD_EXTERN 5 #define RTCD_EXTERN
6 #else 6 #else
7 #define RTCD_EXTERN extern 7 #define RTCD_EXTERN extern
8 #endif 8 #endif
9 9
10 /* 10 /*
11 * VP9 11 * VP9
12 */ 12 */
13 13
14 #include "vpx/vpx_integer.h" 14 #include "vpx/vpx_integer.h"
15 #include "vp9/common/vp9_common.h"
15 #include "vp9/common/vp9_enums.h" 16 #include "vp9/common/vp9_enums.h"
16 #include "vp9/common/vp9_idct.h"
17 17
18 struct macroblockd; 18 struct macroblockd;
19 19
20 /* Encoder forward decls */ 20 /* Encoder forward decls */
21 struct macroblock; 21 struct macroblock;
22 struct vp9_variance_vtable; 22 struct vp9_variance_vtable;
23 struct search_site_config; 23 struct search_site_config;
24 struct mv; 24 struct mv;
25 union int_mv; 25 union int_mv;
26 struct yv12_buffer_config; 26 struct yv12_buffer_config;
27 27
28 #ifdef __cplusplus 28 #ifdef __cplusplus
29 extern "C" { 29 extern "C" {
30 #endif 30 #endif
31 31
32 unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
33 unsigned int vp9_avg_8x8_sse2(const uint8_t *, int p);
34 RTCD_EXTERN unsigned int (*vp9_avg_8x8)(const uint8_t *, int p);
35
32 int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, in tptr_t block_size, int64_t *ssz); 36 int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, in tptr_t block_size, int64_t *ssz);
33 int64_t vp9_block_error_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); 37 int64_t vp9_block_error_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
34 RTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); 38 RTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
35 39
36 void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptr diff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter _y, int y_step_q4, int w, int h); 40 void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptr diff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter _y, int y_step_q4, int w, int h);
37 void vp9_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fil ter_y, int y_step_q4, int w, int h); 41 void vp9_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fil ter_y, int y_step_q4, int w, int h);
38 void vp9_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fi lter_y, int y_step_q4, int w, int h); 42 void vp9_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fi lter_y, int y_step_q4, int w, int h);
39 RTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint 8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const in t16_t *filter_y, int y_step_q4, int w, int h); 43 RTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint 8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const in t16_t *filter_y, int y_step_q4, int w, int h);
40 44
41 void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fi lter_y, int y_step_q4, int w, int h); 45 void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *fi lter_y, int y_step_q4, int w, int h);
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 423
420 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uin t8_t *ref_ptr, int recon_stride, unsigned int *sse); 424 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uin t8_t *ref_ptr, int recon_stride, unsigned int *sse);
421 unsigned int vp9_mse8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 425 unsigned int vp9_mse8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
422 RTCD_EXTERN unsigned int (*vp9_mse8x16)(const uint8_t *src_ptr, int source_stri de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 426 RTCD_EXTERN unsigned int (*vp9_mse8x16)(const uint8_t *src_ptr, int source_stri de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
423 427
424 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint 8_t *ref_ptr, int recon_stride, unsigned int *sse); 428 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint 8_t *ref_ptr, int recon_stride, unsigned int *sse);
425 unsigned int vp9_mse8x8_sse2(const uint8_t *src_ptr, int source_stride, const u int8_t *ref_ptr, int recon_stride, unsigned int *sse); 429 unsigned int vp9_mse8x8_sse2(const uint8_t *src_ptr, int source_stride, const u int8_t *ref_ptr, int recon_stride, unsigned int *sse);
426 RTCD_EXTERN unsigned int (*vp9_mse8x8)(const uint8_t *src_ptr, int source_strid e, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 430 RTCD_EXTERN unsigned int (*vp9_mse8x8)(const uint8_t *src_ptr, int source_strid e, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
427 431
428 void vp9_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_b lock, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_pt r, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_p tr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int1 6_t *scan, const int16_t *iscan); 432 void vp9_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_b lock, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_pt r, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_p tr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int1 6_t *scan, const int16_t *iscan);
429 #define vp9_quantize_b vp9_quantize_b_c 433 void vp9_quantize_b_sse2(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int ski p_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 *dqcoef f_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const i nt16_t *scan, const int16_t *iscan);
434 RTCD_EXTERN void (*vp9_quantize_b)(const tran_low_t *coeff_ptr, intptr_t n_coeff s, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int1 6_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low _t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_pt r, const int16_t *scan, const int16_t *iscan);
430 435
431 void vp9_quantize_b_32x32_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 *qu ant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqc oeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, cons t int16_t *scan, const int16_t *iscan); 436 void vp9_quantize_b_32x32_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 *qu ant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqc oeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, cons t int16_t *scan, const int16_t *iscan);
432 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c 437 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
433 438
434 void vp9_quantize_fp_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_p tr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int 16_t *scan, const int16_t *iscan); 439 void vp9_quantize_fp_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_p tr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int 16_t *scan, const int16_t *iscan);
435 #define vp9_quantize_fp vp9_quantize_fp_c 440 #define vp9_quantize_fp vp9_quantize_fp_c
436 441
437 void vp9_quantize_fp_32x32_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 *q uant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dq coeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, con st int16_t *scan, const int16_t *iscan); 442 void vp9_quantize_fp_32x32_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 *q uant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dq coeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, con st int16_t *scan, const int16_t *iscan);
438 #define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c 443 #define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
439 444
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 void vp9_rtcd(void); 880 void vp9_rtcd(void);
876 881
877 #ifdef RTCD_C 882 #ifdef RTCD_C
878 #include "vpx_ports/x86.h" 883 #include "vpx_ports/x86.h"
879 static void setup_rtcd_internal(void) 884 static void setup_rtcd_internal(void)
880 { 885 {
881 int flags = x86_simd_caps(); 886 int flags = x86_simd_caps();
882 887
883 (void)flags; 888 (void)flags;
884 889
890 vp9_avg_8x8 = vp9_avg_8x8_c;
891 if (flags & HAS_SSE2) vp9_avg_8x8 = vp9_avg_8x8_sse2;
885 vp9_block_error = vp9_block_error_c; 892 vp9_block_error = vp9_block_error_c;
886 if (flags & HAS_SSE2) vp9_block_error = vp9_block_error_sse2; 893 if (flags & HAS_SSE2) vp9_block_error = vp9_block_error_sse2;
887 vp9_convolve8 = vp9_convolve8_c; 894 vp9_convolve8 = vp9_convolve8_c;
888 if (flags & HAS_SSE2) vp9_convolve8 = vp9_convolve8_sse2; 895 if (flags & HAS_SSE2) vp9_convolve8 = vp9_convolve8_sse2;
889 if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3; 896 if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3;
890 vp9_convolve8_avg = vp9_convolve8_avg_c; 897 vp9_convolve8_avg = vp9_convolve8_avg_c;
891 if (flags & HAS_SSE2) vp9_convolve8_avg = vp9_convolve8_avg_sse2; 898 if (flags & HAS_SSE2) vp9_convolve8_avg = vp9_convolve8_avg_sse2;
892 if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3; 899 if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3;
893 vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c; 900 vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
894 if (flags & HAS_SSE2) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2 ; 901 if (flags & HAS_SSE2) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2 ;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1040 vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c; 1047 vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c;
1041 if (flags & HAS_SSE2) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_sse2 ; 1048 if (flags & HAS_SSE2) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_sse2 ;
1042 vp9_mse16x16 = vp9_mse16x16_c; 1049 vp9_mse16x16 = vp9_mse16x16_c;
1043 if (flags & HAS_SSE2) vp9_mse16x16 = vp9_mse16x16_sse2; 1050 if (flags & HAS_SSE2) vp9_mse16x16 = vp9_mse16x16_sse2;
1044 vp9_mse16x8 = vp9_mse16x8_c; 1051 vp9_mse16x8 = vp9_mse16x8_c;
1045 if (flags & HAS_SSE2) vp9_mse16x8 = vp9_mse16x8_sse2; 1052 if (flags & HAS_SSE2) vp9_mse16x8 = vp9_mse16x8_sse2;
1046 vp9_mse8x16 = vp9_mse8x16_c; 1053 vp9_mse8x16 = vp9_mse8x16_c;
1047 if (flags & HAS_SSE2) vp9_mse8x16 = vp9_mse8x16_sse2; 1054 if (flags & HAS_SSE2) vp9_mse8x16 = vp9_mse8x16_sse2;
1048 vp9_mse8x8 = vp9_mse8x8_c; 1055 vp9_mse8x8 = vp9_mse8x8_c;
1049 if (flags & HAS_SSE2) vp9_mse8x8 = vp9_mse8x8_sse2; 1056 if (flags & HAS_SSE2) vp9_mse8x8 = vp9_mse8x8_sse2;
1057 vp9_quantize_b = vp9_quantize_b_c;
1058 if (flags & HAS_SSE2) vp9_quantize_b = vp9_quantize_b_sse2;
1050 vp9_sad16x16 = vp9_sad16x16_c; 1059 vp9_sad16x16 = vp9_sad16x16_c;
1051 if (flags & HAS_SSE2) vp9_sad16x16 = vp9_sad16x16_sse2; 1060 if (flags & HAS_SSE2) vp9_sad16x16 = vp9_sad16x16_sse2;
1052 vp9_sad16x16_avg = vp9_sad16x16_avg_c; 1061 vp9_sad16x16_avg = vp9_sad16x16_avg_c;
1053 if (flags & HAS_SSE2) vp9_sad16x16_avg = vp9_sad16x16_avg_sse2; 1062 if (flags & HAS_SSE2) vp9_sad16x16_avg = vp9_sad16x16_avg_sse2;
1054 vp9_sad16x16x3 = vp9_sad16x16x3_c; 1063 vp9_sad16x16x3 = vp9_sad16x16x3_c;
1055 if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3; 1064 if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3;
1056 if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3; 1065 if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3;
1057 vp9_sad16x16x4d = vp9_sad16x16x4d_c; 1066 vp9_sad16x16x4d = vp9_sad16x16x4d_c;
1058 if (flags & HAS_SSE2) vp9_sad16x16x4d = vp9_sad16x16x4d_sse2; 1067 if (flags & HAS_SSE2) vp9_sad16x16x4d = vp9_sad16x16x4d_sse2;
1059 vp9_sad16x32 = vp9_sad16x32_c; 1068 vp9_sad16x32 = vp9_sad16x32_c;
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 vp9_variance8x8 = vp9_variance8x8_c; 1269 vp9_variance8x8 = vp9_variance8x8_c;
1261 if (flags & HAS_SSE2) vp9_variance8x8 = vp9_variance8x8_sse2; 1270 if (flags & HAS_SSE2) vp9_variance8x8 = vp9_variance8x8_sse2;
1262 } 1271 }
1263 #endif 1272 #endif
1264 1273
1265 #ifdef __cplusplus 1274 #ifdef __cplusplus
1266 } // extern "C" 1275 } // extern "C"
1267 #endif 1276 #endif
1268 1277
1269 #endif 1278 #endif
OLDNEW
« no previous file with comments | « source/config/linux/generic/vpx_config.asm ('k') | source/config/linux/ia32/vpx_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698