| OLD | NEW |
| (Empty) | |
| 1 #ifndef VP__RTCD_ |
| 2 #define VP__RTCD_ |
| 3 |
| 4 #ifdef RTCD_C |
| 5 #define RTCD_EXTERN |
| 6 #else |
| 7 #define RTCD_EXTERN extern |
| 8 #endif |
| 9 |
| 10 /* |
| 11 * VP9 |
| 12 */ |
| 13 |
| 14 #include "vpx/vpx_integer.h" |
| 15 |
| 16 struct loop_filter_info; |
| 17 struct blockd; |
| 18 struct macroblockd; |
| 19 struct loop_filter_info; |
| 20 |
| 21 /* Encoder forward decls */ |
| 22 struct block; |
| 23 struct macroblock; |
| 24 struct variance_vtable; |
| 25 |
| 26 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2] |
| 27 union int_mv; |
| 28 struct yv12_buffer_config; |
| 29 |
| 30 void vp9_filter_block2d_4x4_8_c(const uint8_t *src_ptr, const unsigned int src_s
tride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, uint8
_t *dst_ptr, unsigned int dst_stride); |
| 31 #define vp9_filter_block2d_4x4_8 vp9_filter_block2d_4x4_8_c |
| 32 |
| 33 void vp9_filter_block2d_8x4_8_c(const uint8_t *src_ptr, const unsigned int src_s
tride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, uint8
_t *dst_ptr, unsigned int dst_stride); |
| 34 void vp9_filter_block2d_8x4_8_ssse3(const uint8_t *src_ptr, const unsigned int s
rc_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, u
int8_t *dst_ptr, unsigned int dst_stride); |
| 35 RTCD_EXTERN void (*vp9_filter_block2d_8x4_8)(const uint8_t *src_ptr, const unsig
ned int src_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_ali
gned16, uint8_t *dst_ptr, unsigned int dst_stride); |
| 36 |
| 37 void vp9_filter_block2d_8x8_8_c(const uint8_t *src_ptr, const unsigned int src_s
tride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, uint8
_t *dst_ptr, unsigned int dst_stride); |
| 38 void vp9_filter_block2d_8x8_8_ssse3(const uint8_t *src_ptr, const unsigned int s
rc_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, u
int8_t *dst_ptr, unsigned int dst_stride); |
| 39 RTCD_EXTERN void (*vp9_filter_block2d_8x8_8)(const uint8_t *src_ptr, const unsig
ned int src_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_ali
gned16, uint8_t *dst_ptr, unsigned int dst_stride); |
| 40 |
| 41 void vp9_filter_block2d_16x16_8_c(const uint8_t *src_ptr, const unsigned int src
_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16, uin
t8_t *dst_ptr, unsigned int dst_stride); |
| 42 void vp9_filter_block2d_16x16_8_ssse3(const uint8_t *src_ptr, const unsigned int
src_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_aligned16,
uint8_t *dst_ptr, unsigned int dst_stride); |
| 43 RTCD_EXTERN void (*vp9_filter_block2d_16x16_8)(const uint8_t *src_ptr, const uns
igned int src_stride, const int16_t *HFilter_aligned16, const int16_t *VFilter_a
ligned16, uint8_t *dst_ptr, unsigned int dst_stride); |
| 44 |
| 45 void vp9_dequantize_b_c(struct blockd *x); |
| 46 #define vp9_dequantize_b vp9_dequantize_b_c |
| 47 |
| 48 void vp9_dequantize_b_2x2_c(struct blockd *x); |
| 49 #define vp9_dequantize_b_2x2 vp9_dequantize_b_2x2_c |
| 50 |
| 51 void vp9_dequant_dc_idct_add_y_block_8x8_c(int16_t *q, const int16_t *dq, uint8_
t *pre, uint8_t *dst, int stride, uint16_t *eobs, const int16_t *dc, struct macr
oblockd *xd); |
| 52 #define vp9_dequant_dc_idct_add_y_block_8x8 vp9_dequant_dc_idct_add_y_block_8x8_
c |
| 53 |
| 54 void vp9_dequant_idct_add_y_block_8x8_c(int16_t *q, const int16_t *dq, uint8_t *
pre, uint8_t *dst, int stride, uint16_t *eobs, struct macroblockd *xd); |
| 55 #define vp9_dequant_idct_add_y_block_8x8 vp9_dequant_idct_add_y_block_8x8_c |
| 56 |
| 57 void vp9_dequant_idct_add_uv_block_8x8_c(int16_t *q, const int16_t *dq, uint8_t
*pre, uint8_t *dstu, uint8_t *dstv, int stride, uint16_t *eobs, struct macrobloc
kd *xd); |
| 58 #define vp9_dequant_idct_add_uv_block_8x8 vp9_dequant_idct_add_uv_block_8x8_c |
| 59 |
| 60 void vp9_dequant_idct_add_16x16_c(int16_t *input, const int16_t *dq, uint8_t *pr
ed, uint8_t *dest, int pitch, int stride, int eob); |
| 61 #define vp9_dequant_idct_add_16x16 vp9_dequant_idct_add_16x16_c |
| 62 |
| 63 void vp9_dequant_idct_add_8x8_c(int16_t *input, const int16_t *dq, uint8_t *pred
, uint8_t *dest, int pitch, int stride, int dc, int eob); |
| 64 #define vp9_dequant_idct_add_8x8 vp9_dequant_idct_add_8x8_c |
| 65 |
| 66 void vp9_dequant_idct_add_c(int16_t *input, const int16_t *dq, uint8_t *pred, ui
nt8_t *dest, int pitch, int stride); |
| 67 #define vp9_dequant_idct_add vp9_dequant_idct_add_c |
| 68 |
| 69 void vp9_dequant_dc_idct_add_c(int16_t *input, const int16_t *dq, uint8_t *pred,
uint8_t *dest, int pitch, int stride, int dc); |
| 70 #define vp9_dequant_dc_idct_add vp9_dequant_dc_idct_add_c |
| 71 |
| 72 void vp9_dequant_dc_idct_add_y_block_c(int16_t *q, const int16_t *dq, uint8_t *p
re, uint8_t *dst, int stride, uint16_t *eobs, const int16_t *dcs); |
| 73 #define vp9_dequant_dc_idct_add_y_block vp9_dequant_dc_idct_add_y_block_c |
| 74 |
| 75 void vp9_dequant_idct_add_y_block_c(int16_t *q, const int16_t *dq, uint8_t *pre,
uint8_t *dst, int stride, uint16_t *eobs); |
| 76 #define vp9_dequant_idct_add_y_block vp9_dequant_idct_add_y_block_c |
| 77 |
| 78 void vp9_dequant_idct_add_uv_block_c(int16_t *q, const int16_t *dq, uint8_t *pre
, uint8_t *dstu, uint8_t *dstv, int stride, uint16_t *eobs); |
| 79 #define vp9_dequant_idct_add_uv_block vp9_dequant_idct_add_uv_block_c |
| 80 |
| 81 void vp9_dequant_idct_add_32x32_c(int16_t *q, const int16_t *dq, uint8_t *pre, u
int8_t *dst, int pitch, int stride, int eob); |
| 82 #define vp9_dequant_idct_add_32x32 vp9_dequant_idct_add_32x32_c |
| 83 |
| 84 void vp9_dequant_idct_add_uv_block_16x16_c(int16_t *q, const int16_t *dq, uint8_
t *dstu, uint8_t *dstv, int stride, uint16_t *eobs); |
| 85 #define vp9_dequant_idct_add_uv_block_16x16 vp9_dequant_idct_add_uv_block_16x16_
c |
| 86 |
| 87 void vp9_copy_mem16x16_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitc
h); |
| 88 void vp9_copy_mem16x16_mmx(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pi
tch); |
| 89 void vp9_copy_mem16x16_sse2(uint8_t *src, int src_pitch, uint8_t *dst, int dst_p
itch); |
| 90 #define vp9_copy_mem16x16 vp9_copy_mem16x16_sse2 |
| 91 |
| 92 void vp9_copy_mem8x8_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch)
; |
| 93 void vp9_copy_mem8x8_mmx(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitc
h); |
| 94 #define vp9_copy_mem8x8 vp9_copy_mem8x8_mmx |
| 95 |
| 96 void vp9_copy_mem8x4_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch)
; |
| 97 void vp9_copy_mem8x4_mmx(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitc
h); |
| 98 #define vp9_copy_mem8x4 vp9_copy_mem8x4_mmx |
| 99 |
| 100 void vp9_avg_mem16x16_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch
); |
| 101 #define vp9_avg_mem16x16 vp9_avg_mem16x16_c |
| 102 |
| 103 void vp9_avg_mem8x8_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch); |
| 104 #define vp9_avg_mem8x8 vp9_avg_mem8x8_c |
| 105 |
| 106 void vp9_copy_mem8x4_c(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch)
; |
| 107 void vp9_copy_mem8x4_mmx(uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitc
h); |
| 108 #define vp9_copy_mem8x4 vp9_copy_mem8x4_mmx |
| 109 |
| 110 void vp9_recon_b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int s
tride); |
| 111 #define vp9_recon_b vp9_recon_b_c |
| 112 |
| 113 void vp9_recon_uv_b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, in
t stride); |
| 114 #define vp9_recon_uv_b vp9_recon_uv_b_c |
| 115 |
| 116 void vp9_recon2b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int s
tride); |
| 117 void vp9_recon2b_sse2(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, in
t stride); |
| 118 #define vp9_recon2b vp9_recon2b_sse2 |
| 119 |
| 120 void vp9_recon4b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int s
tride); |
| 121 void vp9_recon4b_sse2(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, in
t stride); |
| 122 #define vp9_recon4b vp9_recon4b_sse2 |
| 123 |
| 124 void vp9_recon_mb_c(struct macroblockd *x); |
| 125 #define vp9_recon_mb vp9_recon_mb_c |
| 126 |
| 127 void vp9_recon_mby_c(struct macroblockd *x); |
| 128 #define vp9_recon_mby vp9_recon_mby_c |
| 129 |
| 130 void vp9_recon_mby_s_c(struct macroblockd *x, uint8_t *dst); |
| 131 #define vp9_recon_mby_s vp9_recon_mby_s_c |
| 132 |
| 133 void vp9_recon_mbuv_s_c(struct macroblockd *x, uint8_t *udst, uint8_t *vdst); |
| 134 #define vp9_recon_mbuv_s vp9_recon_mbuv_s_c |
| 135 |
| 136 void vp9_recon_sby_s_c(struct macroblockd *x, uint8_t *dst); |
| 137 #define vp9_recon_sby_s vp9_recon_sby_s_c |
| 138 |
| 139 void vp9_recon_sbuv_s_c(struct macroblockd *x, uint8_t *udst, uint8_t *vdst); |
| 140 #define vp9_recon_sbuv_s vp9_recon_sbuv_s_c |
| 141 |
| 142 void vp9_build_intra_predictors_mby_s_c(struct macroblockd *x); |
| 143 #define vp9_build_intra_predictors_mby_s vp9_build_intra_predictors_mby_s_c |
| 144 |
| 145 void vp9_build_intra_predictors_sby_s_c(struct macroblockd *x); |
| 146 #define vp9_build_intra_predictors_sby_s vp9_build_intra_predictors_sby_s_c |
| 147 |
| 148 void vp9_build_intra_predictors_sbuv_s_c(struct macroblockd *x); |
| 149 #define vp9_build_intra_predictors_sbuv_s vp9_build_intra_predictors_sbuv_s_c |
| 150 |
| 151 void vp9_build_intra_predictors_mby_c(struct macroblockd *x); |
| 152 #define vp9_build_intra_predictors_mby vp9_build_intra_predictors_mby_c |
| 153 |
| 154 void vp9_build_intra_predictors_mby_s_c(struct macroblockd *x); |
| 155 #define vp9_build_intra_predictors_mby_s vp9_build_intra_predictors_mby_s_c |
| 156 |
| 157 void vp9_build_intra_predictors_mbuv_c(struct macroblockd *x); |
| 158 #define vp9_build_intra_predictors_mbuv vp9_build_intra_predictors_mbuv_c |
| 159 |
| 160 void vp9_build_intra_predictors_mbuv_s_c(struct macroblockd *x); |
| 161 #define vp9_build_intra_predictors_mbuv_s vp9_build_intra_predictors_mbuv_s_c |
| 162 |
| 163 void vp9_build_intra_predictors_sb64y_s_c(struct macroblockd *x); |
| 164 #define vp9_build_intra_predictors_sb64y_s vp9_build_intra_predictors_sb64y_s_c |
| 165 |
| 166 void vp9_build_intra_predictors_sb64uv_s_c(struct macroblockd *x); |
| 167 #define vp9_build_intra_predictors_sb64uv_s vp9_build_intra_predictors_sb64uv_s_
c |
| 168 |
| 169 void vp9_intra4x4_predict_c(struct blockd *x, int b_mode, uint8_t *predictor); |
| 170 #define vp9_intra4x4_predict vp9_intra4x4_predict_c |
| 171 |
| 172 void vp9_intra8x8_predict_c(struct blockd *x, int b_mode, uint8_t *predictor); |
| 173 #define vp9_intra8x8_predict vp9_intra8x8_predict_c |
| 174 |
| 175 void vp9_intra_uv4x4_predict_c(struct blockd *x, int b_mode, uint8_t *predictor)
; |
| 176 #define vp9_intra_uv4x4_predict vp9_intra_uv4x4_predict_c |
| 177 |
| 178 void vp9_loop_filter_mbv_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, int
uv_stride, struct loop_filter_info *lfi); |
| 179 void vp9_loop_filter_mbv_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, i
nt uv_stride, struct loop_filter_info *lfi); |
| 180 #define vp9_loop_filter_mbv vp9_loop_filter_mbv_sse2 |
| 181 |
| 182 void vp9_loop_filter_bv_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, int u
v_stride, struct loop_filter_info *lfi); |
| 183 void vp9_loop_filter_bv_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, in
t uv_stride, struct loop_filter_info *lfi); |
| 184 #define vp9_loop_filter_bv vp9_loop_filter_bv_sse2 |
| 185 |
| 186 void vp9_loop_filter_bv8x8_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, in
t uv_stride, struct loop_filter_info *lfi); |
| 187 void vp9_loop_filter_bv8x8_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride,
int uv_stride, struct loop_filter_info *lfi); |
| 188 #define vp9_loop_filter_bv8x8 vp9_loop_filter_bv8x8_sse2 |
| 189 |
| 190 void vp9_loop_filter_mbh_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, int
uv_stride, struct loop_filter_info *lfi); |
| 191 void vp9_loop_filter_mbh_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, i
nt uv_stride, struct loop_filter_info *lfi); |
| 192 #define vp9_loop_filter_mbh vp9_loop_filter_mbh_sse2 |
| 193 |
| 194 void vp9_loop_filter_bh_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, int u
v_stride, struct loop_filter_info *lfi); |
| 195 void vp9_loop_filter_bh_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, in
t uv_stride, struct loop_filter_info *lfi); |
| 196 #define vp9_loop_filter_bh vp9_loop_filter_bh_sse2 |
| 197 |
| 198 void vp9_loop_filter_bh8x8_c(uint8_t *y, uint8_t *u, uint8_t *v, int ystride, in
t uv_stride, struct loop_filter_info *lfi); |
| 199 void vp9_loop_filter_bh8x8_sse2(uint8_t *y, uint8_t *u, uint8_t *v, int ystride,
int uv_stride, struct loop_filter_info *lfi); |
| 200 #define vp9_loop_filter_bh8x8 vp9_loop_filter_bh8x8_sse2 |
| 201 |
| 202 void vp9_loop_filter_simple_vertical_edge_c(uint8_t *y, int ystride, const uint8
_t *blimit); |
| 203 void vp9_loop_filter_simple_vertical_edge_mmx(uint8_t *y, int ystride, const uin
t8_t *blimit); |
| 204 void vp9_loop_filter_simple_vertical_edge_sse2(uint8_t *y, int ystride, const ui
nt8_t *blimit); |
| 205 #define vp9_loop_filter_simple_mbv vp9_loop_filter_simple_vertical_edge_sse2 |
| 206 |
| 207 void vp9_loop_filter_simple_horizontal_edge_c(uint8_t *y, int ystride, const uin
t8_t *blimit); |
| 208 void vp9_loop_filter_simple_horizontal_edge_mmx(uint8_t *y, int ystride, const u
int8_t *blimit); |
| 209 void vp9_loop_filter_simple_horizontal_edge_sse2(uint8_t *y, int ystride, const
uint8_t *blimit); |
| 210 #define vp9_loop_filter_simple_mbh vp9_loop_filter_simple_horizontal_edge_sse2 |
| 211 |
| 212 void vp9_loop_filter_bvs_c(uint8_t *y, int ystride, const uint8_t *blimit); |
| 213 void vp9_loop_filter_bvs_mmx(uint8_t *y, int ystride, const uint8_t *blimit); |
| 214 void vp9_loop_filter_bvs_sse2(uint8_t *y, int ystride, const uint8_t *blimit); |
| 215 #define vp9_loop_filter_simple_bv vp9_loop_filter_bvs_sse2 |
| 216 |
| 217 void vp9_loop_filter_bhs_c(uint8_t *y, int ystride, const uint8_t *blimit); |
| 218 void vp9_loop_filter_bhs_mmx(uint8_t *y, int ystride, const uint8_t *blimit); |
| 219 void vp9_loop_filter_bhs_sse2(uint8_t *y, int ystride, const uint8_t *blimit); |
| 220 #define vp9_loop_filter_simple_bh vp9_loop_filter_bhs_sse2 |
| 221 |
| 222 void vp9_lpf_mbh_w_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *
v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); |
| 223 void vp9_lpf_mbh_w_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned cha
r *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); |
| 224 #define vp9_lpf_mbh_w vp9_lpf_mbh_w_sse2 |
| 225 |
| 226 void vp9_lpf_mbv_w_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *
v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); |
| 227 void vp9_lpf_mbv_w_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned cha
r *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); |
| 228 #define vp9_lpf_mbv_w vp9_lpf_mbv_w_sse2 |
| 229 |
| 230 void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int fli
mit); |
| 231 void vp9_mbpost_proc_down_mmx(uint8_t *dst, int pitch, int rows, int cols, int f
limit); |
| 232 void vp9_mbpost_proc_down_xmm(uint8_t *dst, int pitch, int rows, int cols, int f
limit); |
| 233 #define vp9_mbpost_proc_down vp9_mbpost_proc_down_xmm |
| 234 |
| 235 void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, in
t flimit); |
| 236 void vp9_mbpost_proc_across_ip_xmm(uint8_t *src, int pitch, int rows, int cols,
int flimit); |
| 237 #define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_xmm |
| 238 |
| 239 void vp9_post_proc_down_and_across_c(uint8_t *src_ptr, uint8_t *dst_ptr, int src
_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
| 240 void vp9_post_proc_down_and_across_mmx(uint8_t *src_ptr, uint8_t *dst_ptr, int s
rc_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
| 241 void vp9_post_proc_down_and_across_xmm(uint8_t *src_ptr, uint8_t *dst_ptr, int s
rc_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit); |
| 242 #define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_xmm |
| 243 |
| 244 void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], cha
r whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, i
nt Pitch); |
| 245 void vp9_plane_add_noise_mmx(uint8_t *Start, char *noise, char blackclamp[16], c
har whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height,
int Pitch); |
| 246 void vp9_plane_add_noise_wmt(uint8_t *Start, char *noise, char blackclamp[16], c
har whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height,
int Pitch); |
| 247 #define vp9_plane_add_noise vp9_plane_add_noise_wmt |
| 248 |
| 249 void vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, in
t v1, int alpha, int stride); |
| 250 #define vp9_blend_mb_inner vp9_blend_mb_inner_c |
| 251 |
| 252 void vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, in
t v1, int alpha, int stride); |
| 253 #define vp9_blend_mb_outer vp9_blend_mb_outer_c |
| 254 |
| 255 void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, i
nt alpha, int stride); |
| 256 #define vp9_blend_b vp9_blend_b_c |
| 257 |
| 258 unsigned int vp9_sad16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 259 unsigned int vp9_sad16x3_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 260 #define vp9_sad16x3 vp9_sad16x3_sse2 |
| 261 |
| 262 unsigned int vp9_sad3x16_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 263 unsigned int vp9_sad3x16_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 264 #define vp9_sad3x16 vp9_sad3x16_sse2 |
| 265 |
| 266 unsigned int vp9_sub_pixel_variance16x2_c(const uint8_t *src_ptr, int source_str
ide, int xoffset, int yoffset, const uint8_t *ref_ptr, int Refstride, unsigned
int *sse); |
| 267 unsigned int vp9_sub_pixel_variance16x2_sse2(const uint8_t *src_ptr, int source_
stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int Refstride, unsign
ed int *sse); |
| 268 #define vp9_sub_pixel_variance16x2 vp9_sub_pixel_variance16x2_sse2 |
| 269 |
| 270 void vp9_eighttap_predict16x16_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 271 #define vp9_eighttap_predict16x16 vp9_eighttap_predict16x16_c |
| 272 |
| 273 void vp9_eighttap_predict8x8_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 274 #define vp9_eighttap_predict8x8 vp9_eighttap_predict8x8_c |
| 275 |
| 276 void vp9_eighttap_predict_avg16x16_c(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 277 #define vp9_eighttap_predict_avg16x16 vp9_eighttap_predict_avg16x16_c |
| 278 |
| 279 void vp9_eighttap_predict_avg8x8_c(uint8_t *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 280 #define vp9_eighttap_predict_avg8x8 vp9_eighttap_predict_avg8x8_c |
| 281 |
| 282 void vp9_eighttap_predict_avg4x4_c(uint8_t *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 283 #define vp9_eighttap_predict_avg4x4 vp9_eighttap_predict_avg4x4_c |
| 284 |
| 285 void vp9_eighttap_predict8x4_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 286 #define vp9_eighttap_predict8x4 vp9_eighttap_predict8x4_c |
| 287 |
| 288 void vp9_eighttap_predict4x4_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 289 #define vp9_eighttap_predict4x4 vp9_eighttap_predict4x4_c |
| 290 |
| 291 void vp9_eighttap_predict16x16_sharp_c(uint8_t *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 292 #define vp9_eighttap_predict16x16_sharp vp9_eighttap_predict16x16_sharp_c |
| 293 |
| 294 void vp9_eighttap_predict8x8_sharp_c(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 295 #define vp9_eighttap_predict8x8_sharp vp9_eighttap_predict8x8_sharp_c |
| 296 |
| 297 void vp9_eighttap_predict_avg16x16_sharp_c(uint8_t *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 298 #define vp9_eighttap_predict_avg16x16_sharp vp9_eighttap_predict_avg16x16_sharp_
c |
| 299 |
| 300 void vp9_eighttap_predict_avg8x8_sharp_c(uint8_t *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 301 #define vp9_eighttap_predict_avg8x8_sharp vp9_eighttap_predict_avg8x8_sharp_c |
| 302 |
| 303 void vp9_eighttap_predict_avg4x4_sharp_c(uint8_t *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 304 #define vp9_eighttap_predict_avg4x4_sharp vp9_eighttap_predict_avg4x4_sharp_c |
| 305 |
| 306 void vp9_eighttap_predict8x4_sharp_c(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 307 #define vp9_eighttap_predict8x4_sharp vp9_eighttap_predict8x4_sharp_c |
| 308 |
| 309 void vp9_eighttap_predict4x4_sharp_c(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 310 #define vp9_eighttap_predict4x4_sharp vp9_eighttap_predict4x4_sharp_c |
| 311 |
| 312 void vp9_eighttap_predict16x16_smooth_c(uint8_t *src_ptr, int src_pixels_per_li
ne, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 313 #define vp9_eighttap_predict16x16_smooth vp9_eighttap_predict16x16_smooth_c |
| 314 |
| 315 void vp9_eighttap_predict8x8_smooth_c(uint8_t *src_ptr, int src_pixels_per_line
, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 316 #define vp9_eighttap_predict8x8_smooth vp9_eighttap_predict8x8_smooth_c |
| 317 |
| 318 void vp9_eighttap_predict_avg16x16_smooth_c(uint8_t *src_ptr, int src_pixels_pe
r_line, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 319 #define vp9_eighttap_predict_avg16x16_smooth vp9_eighttap_predict_avg16x16_smoot
h_c |
| 320 |
| 321 void vp9_eighttap_predict_avg8x8_smooth_c(uint8_t *src_ptr, int src_pixels_per_
line, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 322 #define vp9_eighttap_predict_avg8x8_smooth vp9_eighttap_predict_avg8x8_smooth_c |
| 323 |
| 324 void vp9_eighttap_predict_avg4x4_smooth_c(uint8_t *src_ptr, int src_pixels_per_
line, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 325 #define vp9_eighttap_predict_avg4x4_smooth vp9_eighttap_predict_avg4x4_smooth_c |
| 326 |
| 327 void vp9_eighttap_predict8x4_smooth_c(uint8_t *src_ptr, int src_pixels_per_line
, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 328 #define vp9_eighttap_predict8x4_smooth vp9_eighttap_predict8x4_smooth_c |
| 329 |
| 330 void vp9_eighttap_predict4x4_smooth_c(uint8_t *src_ptr, int src_pixels_per_line
, int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 331 #define vp9_eighttap_predict4x4_smooth vp9_eighttap_predict4x4_smooth_c |
| 332 |
| 333 void vp9_sixtap_predict16x16_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 334 #define vp9_sixtap_predict16x16 vp9_sixtap_predict16x16_c |
| 335 |
| 336 void vp9_sixtap_predict8x8_c(uint8_t *src_ptr, int src_pixels_per_line, int xo
ffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 337 #define vp9_sixtap_predict8x8 vp9_sixtap_predict8x8_c |
| 338 |
| 339 void vp9_sixtap_predict_avg16x16_c(uint8_t *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 340 #define vp9_sixtap_predict_avg16x16 vp9_sixtap_predict_avg16x16_c |
| 341 |
| 342 void vp9_sixtap_predict_avg8x8_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 343 #define vp9_sixtap_predict_avg8x8 vp9_sixtap_predict_avg8x8_c |
| 344 |
| 345 void vp9_sixtap_predict8x4_c(uint8_t *src_ptr, int src_pixels_per_line, int xo
ffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 346 #define vp9_sixtap_predict8x4 vp9_sixtap_predict8x4_c |
| 347 |
| 348 void vp9_sixtap_predict4x4_c(uint8_t *src_ptr, int src_pixels_per_line, int xo
ffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 349 #define vp9_sixtap_predict4x4 vp9_sixtap_predict4x4_c |
| 350 |
| 351 void vp9_sixtap_predict_avg4x4_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 352 #define vp9_sixtap_predict_avg4x4 vp9_sixtap_predict_avg4x4_c |
| 353 |
| 354 void vp9_bilinear_predict16x16_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 355 void vp9_bilinear_predict16x16_sse2(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 356 #define vp9_bilinear_predict16x16 vp9_bilinear_predict16x16_sse2 |
| 357 |
| 358 void vp9_bilinear_predict8x8_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 359 void vp9_bilinear_predict8x8_sse2(uint8_t *src_ptr, int src_pixels_per_line, in
t xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 360 #define vp9_bilinear_predict8x8 vp9_bilinear_predict8x8_sse2 |
| 361 |
| 362 void vp9_bilinear_predict_avg16x16_c(uint8_t *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 363 #define vp9_bilinear_predict_avg16x16 vp9_bilinear_predict_avg16x16_c |
| 364 |
| 365 void vp9_bilinear_predict_avg8x8_c(uint8_t *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 366 #define vp9_bilinear_predict_avg8x8 vp9_bilinear_predict_avg8x8_c |
| 367 |
| 368 void vp9_bilinear_predict8x4_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 369 #define vp9_bilinear_predict8x4 vp9_bilinear_predict8x4_c |
| 370 |
| 371 void vp9_bilinear_predict4x4_c(uint8_t *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 372 #define vp9_bilinear_predict4x4 vp9_bilinear_predict4x4_c |
| 373 |
| 374 void vp9_bilinear_predict_avg4x4_c(uint8_t *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, uint8_t *dst_ptr, int dst_pitch); |
| 375 #define vp9_bilinear_predict_avg4x4 vp9_bilinear_predict_avg4x4_c |
| 376 |
| 377 void vp9_short_idct4x4llm_1_c(int16_t *input, int16_t *output, int pitch); |
| 378 #define vp9_short_idct4x4llm_1 vp9_short_idct4x4llm_1_c |
| 379 |
| 380 void vp9_short_idct4x4llm_c(int16_t *input, int16_t *output, int pitch); |
| 381 #define vp9_short_idct4x4llm vp9_short_idct4x4llm_c |
| 382 |
| 383 void vp9_short_idct8x8_c(int16_t *input, int16_t *output, int pitch); |
| 384 #define vp9_short_idct8x8 vp9_short_idct8x8_c |
| 385 |
| 386 void vp9_short_idct10_8x8_c(int16_t *input, int16_t *output, int pitch); |
| 387 #define vp9_short_idct10_8x8 vp9_short_idct10_8x8_c |
| 388 |
| 389 void vp9_short_ihaar2x2_c(int16_t *input, int16_t *output, int pitch); |
| 390 #define vp9_short_ihaar2x2 vp9_short_ihaar2x2_c |
| 391 |
| 392 void vp9_short_idct16x16_c(int16_t *input, int16_t *output, int pitch); |
| 393 #define vp9_short_idct16x16 vp9_short_idct16x16_c |
| 394 |
| 395 void vp9_short_idct10_16x16_c(int16_t *input, int16_t *output, int pitch); |
| 396 #define vp9_short_idct10_16x16 vp9_short_idct10_16x16_c |
| 397 |
| 398 void vp9_short_idct32x32_c(int16_t *input, int16_t *output, int pitch); |
| 399 #define vp9_short_idct32x32 vp9_short_idct32x32_c |
| 400 |
| 401 void vp9_ihtllm_c(const int16_t *input, int16_t *output, int pitch, int tx_type,
int tx_dim, int16_t eobs); |
| 402 #define vp9_ihtllm vp9_ihtllm_c |
| 403 |
| 404 void vp9_short_inv_walsh4x4_1_c(int16_t *in, int16_t *out); |
| 405 #define vp9_short_inv_walsh4x4_1 vp9_short_inv_walsh4x4_1_c |
| 406 |
| 407 void vp9_short_inv_walsh4x4_c(int16_t *in, int16_t *out); |
| 408 #define vp9_short_inv_walsh4x4 vp9_short_inv_walsh4x4_c |
| 409 |
| 410 void vp9_dc_only_idct_add_8x8_c(int input_dc, uint8_t *pred_ptr, uint8_t *dst_pt
r, int pitch, int stride); |
| 411 #define vp9_dc_only_idct_add_8x8 vp9_dc_only_idct_add_8x8_c |
| 412 |
| 413 void vp9_dc_only_idct_add_c(int input_dc, uint8_t *pred_ptr, uint8_t *dst_ptr, i
nt pitch, int stride); |
| 414 #define vp9_dc_only_idct_add vp9_dc_only_idct_add_c |
| 415 |
| 416 unsigned int vp9_sad32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride, int max_sad); |
| 417 #define vp9_sad32x3 vp9_sad32x3_c |
| 418 |
| 419 unsigned int vp9_sad3x32_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride, int max_sad); |
| 420 #define vp9_sad3x32 vp9_sad3x32_c |
| 421 |
| 422 void vp9_rtcd(void); |
| 423 |
| 424 #ifdef RTCD_C |
| 425 #include "vpx_ports/x86.h" |
| 426 static void setup_rtcd_internal(void) |
| 427 { |
| 428 int flags = x86_simd_caps(); |
| 429 |
| 430 (void)flags; |
| 431 |
| 432 |
| 433 vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_c; |
| 434 if (flags & HAS_SSSE3) vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_s
sse3; |
| 435 |
| 436 vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_c; |
| 437 if (flags & HAS_SSSE3) vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_s
sse3; |
| 438 |
| 439 vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16_8_c; |
| 440 if (flags & HAS_SSSE3) vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16
_8_ssse3; |
| 441 } |
| 442 #endif |
| 443 #endif |
| OLD | NEW |