| OLD | NEW |
| 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 #define vp9_avg_8x8 vp9_avg_8x8_sse2 |
| 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 #define vp9_block_error vp9_block_error_sse2 | 38 #define vp9_block_error vp9_block_error_sse2 |
| 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 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 | 426 |
| 423 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); | 427 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_sse2(const uint8_t *src_ptr, int source_stride, const
uint8_t *ref_ptr, int recon_stride, unsigned int *sse); | 428 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 #define vp9_mse8x16 vp9_mse8x16_sse2 | 429 #define vp9_mse8x16 vp9_mse8x16_sse2 |
| 426 | 430 |
| 427 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); | 431 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_sse2(const uint8_t *src_ptr, int source_stride, const u
int8_t *ref_ptr, int recon_stride, unsigned int *sse); | 432 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 #define vp9_mse8x8 vp9_mse8x8_sse2 | 433 #define vp9_mse8x8 vp9_mse8x8_sse2 |
| 430 | 434 |
| 431 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); | 435 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); |
| 436 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); |
| 432 void vp9_quantize_b_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int sk
ip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quan
t_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoe
ff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan); | 437 void vp9_quantize_b_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int sk
ip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quan
t_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoe
ff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan); |
| 433 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); | 438 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); |
| 434 | 439 |
| 435 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); | 440 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_ssse3(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, int zbin_oq_value, uint16_t *eob_ptr,
const int16_t *scan, const int16_t *iscan); | 441 void vp9_quantize_b_32x32_ssse3(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, int zbin_oq_value, uint16_t *eob_ptr,
const int16_t *scan, const int16_t *iscan); |
| 437 RTCD_EXTERN void (*vp9_quantize_b_32x32)(const tran_low_t *coeff_ptr, intptr_t n
_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, cons
t int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tr
an_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *
eob_ptr, const int16_t *scan, const int16_t *iscan); | 442 RTCD_EXTERN void (*vp9_quantize_b_32x32)(const tran_low_t *coeff_ptr, intptr_t n
_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, cons
t int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tr
an_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *
eob_ptr, const int16_t *scan, const int16_t *iscan); |
| 438 | 443 |
| 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); | 444 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); |
| 440 void vp9_quantize_fp_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int s
kip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *qua
nt_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqco
eff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan); | 445 void vp9_quantize_fp_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int s
kip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *qua
nt_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqco
eff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan); |
| 441 RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t *coeff_ptr, intptr_t n_coef
fs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int
16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_lo
w_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_p
tr, const int16_t *scan, const int16_t *iscan); | 446 RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t *coeff_ptr, intptr_t n_coef
fs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int
16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_lo
w_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_p
tr, const int16_t *scan, const int16_t *iscan); |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c; | 951 vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c; |
| 947 if (flags & HAS_SSSE3) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_ssse3; | 952 if (flags & HAS_SSSE3) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_ssse3; |
| 948 vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2; | 953 vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2; |
| 949 if (flags & HAS_SSSE3) vp9_idct16x16_10_add = vp9_idct16x16_10_add_ssse3; | 954 if (flags & HAS_SSSE3) vp9_idct16x16_10_add = vp9_idct16x16_10_add_ssse3; |
| 950 vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2; | 955 vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2; |
| 951 if (flags & HAS_SSSE3) vp9_idct16x16_256_add = vp9_idct16x16_256_add_ssse3; | 956 if (flags & HAS_SSSE3) vp9_idct16x16_256_add = vp9_idct16x16_256_add_ssse3; |
| 952 vp9_idct8x8_12_add = vp9_idct8x8_12_add_sse2; | 957 vp9_idct8x8_12_add = vp9_idct8x8_12_add_sse2; |
| 953 if (flags & HAS_SSSE3) vp9_idct8x8_12_add = vp9_idct8x8_12_add_ssse3; | 958 if (flags & HAS_SSSE3) vp9_idct8x8_12_add = vp9_idct8x8_12_add_ssse3; |
| 954 vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2; | 959 vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2; |
| 955 if (flags & HAS_SSSE3) vp9_idct8x8_64_add = vp9_idct8x8_64_add_ssse3; | 960 if (flags & HAS_SSSE3) vp9_idct8x8_64_add = vp9_idct8x8_64_add_ssse3; |
| 956 vp9_quantize_b = vp9_quantize_b_c; | 961 vp9_quantize_b = vp9_quantize_b_sse2; |
| 957 if (flags & HAS_SSSE3) vp9_quantize_b = vp9_quantize_b_ssse3; | 962 if (flags & HAS_SSSE3) vp9_quantize_b = vp9_quantize_b_ssse3; |
| 958 vp9_quantize_b_32x32 = vp9_quantize_b_32x32_c; | 963 vp9_quantize_b_32x32 = vp9_quantize_b_32x32_c; |
| 959 if (flags & HAS_SSSE3) vp9_quantize_b_32x32 = vp9_quantize_b_32x32_ssse3; | 964 if (flags & HAS_SSSE3) vp9_quantize_b_32x32 = vp9_quantize_b_32x32_ssse3; |
| 960 vp9_quantize_fp = vp9_quantize_fp_c; | 965 vp9_quantize_fp = vp9_quantize_fp_c; |
| 961 if (flags & HAS_SSSE3) vp9_quantize_fp = vp9_quantize_fp_ssse3; | 966 if (flags & HAS_SSSE3) vp9_quantize_fp = vp9_quantize_fp_ssse3; |
| 962 vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c; | 967 vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c; |
| 963 if (flags & HAS_SSSE3) vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3; | 968 if (flags & HAS_SSSE3) vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3; |
| 964 vp9_sad16x16x3 = vp9_sad16x16x3_c; | 969 vp9_sad16x16x3 = vp9_sad16x16x3_c; |
| 965 if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3; | 970 if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3; |
| 966 if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3; | 971 if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1026 vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_sse2; | 1031 vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_sse2; |
| 1027 if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8
_ssse3; | 1032 if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8
_ssse3; |
| 1028 } | 1033 } |
| 1029 #endif | 1034 #endif |
| 1030 | 1035 |
| 1031 #ifdef __cplusplus | 1036 #ifdef __cplusplus |
| 1032 } // extern "C" | 1037 } // extern "C" |
| 1033 #endif | 1038 #endif |
| 1034 | 1039 |
| 1035 #endif | 1040 #endif |
| OLD | NEW |