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 struct loop_filter_info; |
| 15 struct blockd; |
| 16 struct macroblockd; |
| 17 struct loop_filter_info; |
| 18 |
| 19 /* Encoder forward decls */ |
| 20 struct block; |
| 21 struct macroblock; |
| 22 struct variance_vtable; |
| 23 |
| 24 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2] |
| 25 union int_mv; |
| 26 struct yv12_buffer_config; |
| 27 |
| 28 void vp9_filter_block2d_4x4_8_c(const unsigned char *src_ptr, const unsigned int
src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16, uns
igned char *dst_ptr, unsigned int dst_stride); |
| 29 void vp9_filter_block2d_4x4_8_sse2(const unsigned char *src_ptr, const unsigned
int src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16,
unsigned char *dst_ptr, unsigned int dst_stride); |
| 30 void vp9_filter_block2d_4x4_8_sse4_1(const unsigned char *src_ptr, const unsigne
d int src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16
, unsigned char *dst_ptr, unsigned int dst_stride); |
| 31 RTCD_EXTERN void (*vp9_filter_block2d_4x4_8)(const unsigned char *src_ptr, const
unsigned int src_stride, const short *HFilter_aligned16, const short *VFilter_a
ligned16, unsigned char *dst_ptr, unsigned int dst_stride); |
| 32 |
| 33 void vp9_filter_block2d_8x4_8_c(const unsigned char *src_ptr, const unsigned int
src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16, uns
igned char *dst_ptr, unsigned int dst_stride); |
| 34 void vp9_filter_block2d_8x4_8_ssse3(const unsigned char *src_ptr, const unsigned
int src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16,
unsigned char *dst_ptr, unsigned int dst_stride); |
| 35 RTCD_EXTERN void (*vp9_filter_block2d_8x4_8)(const unsigned char *src_ptr, const
unsigned int src_stride, const short *HFilter_aligned16, const short *VFilter_a
ligned16, unsigned char *dst_ptr, unsigned int dst_stride); |
| 36 |
| 37 void vp9_filter_block2d_8x8_8_c(const unsigned char *src_ptr, const unsigned int
src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16, uns
igned char *dst_ptr, unsigned int dst_stride); |
| 38 void vp9_filter_block2d_8x8_8_ssse3(const unsigned char *src_ptr, const unsigned
int src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16,
unsigned char *dst_ptr, unsigned int dst_stride); |
| 39 RTCD_EXTERN void (*vp9_filter_block2d_8x8_8)(const unsigned char *src_ptr, const
unsigned int src_stride, const short *HFilter_aligned16, const short *VFilter_a
ligned16, unsigned char *dst_ptr, unsigned int dst_stride); |
| 40 |
| 41 void vp9_filter_block2d_16x16_8_c(const unsigned char *src_ptr, const unsigned i
nt src_stride, const short *HFilter_aligned16, const short *VFilter_aligned16, u
nsigned char *dst_ptr, unsigned int dst_stride); |
| 42 void vp9_filter_block2d_16x16_8_ssse3(const unsigned char *src_ptr, const unsign
ed int src_stride, const short *HFilter_aligned16, const short *VFilter_aligned1
6, unsigned char *dst_ptr, unsigned int dst_stride); |
| 43 RTCD_EXTERN void (*vp9_filter_block2d_16x16_8)(const unsigned char *src_ptr, con
st unsigned int src_stride, const short *HFilter_aligned16, const short *VFilter
_aligned16, unsigned char *dst_ptr, unsigned int dst_stride); |
| 44 |
| 45 void vp9_dequantize_b_c(struct blockd *x); |
| 46 void vp9_dequantize_b_mmx(struct blockd *x); |
| 47 #define vp9_dequantize_b vp9_dequantize_b_mmx |
| 48 |
| 49 void vp9_dequantize_b_2x2_c(struct blockd *x); |
| 50 #define vp9_dequantize_b_2x2 vp9_dequantize_b_2x2_c |
| 51 |
| 52 void vp9_dequant_dc_idct_add_y_block_8x8_c(short *q, const short *dq, unsigned c
har *pre, unsigned char *dst, int stride, unsigned short *eobs, const short *dc,
struct macroblockd *xd); |
| 53 #define vp9_dequant_dc_idct_add_y_block_8x8 vp9_dequant_dc_idct_add_y_block_8x8_
c |
| 54 |
| 55 void vp9_dequant_idct_add_y_block_8x8_c(short *q, const short *dq, unsigned char
*pre, unsigned char *dst, int stride, unsigned short *eobs, struct macroblockd
*xd); |
| 56 #define vp9_dequant_idct_add_y_block_8x8 vp9_dequant_idct_add_y_block_8x8_c |
| 57 |
| 58 void vp9_dequant_idct_add_uv_block_8x8_c(short *q, const short *dq, unsigned cha
r *pre, unsigned char *dstu, unsigned char *dstv, int stride, unsigned short *eo
bs, struct macroblockd *xd); |
| 59 #define vp9_dequant_idct_add_uv_block_8x8 vp9_dequant_idct_add_uv_block_8x8_c |
| 60 |
| 61 void vp9_dequant_idct_add_16x16_c(short *input, const short *dq, unsigned char *
pred, unsigned char *dest, int pitch, int stride, unsigned short eobs); |
| 62 #define vp9_dequant_idct_add_16x16 vp9_dequant_idct_add_16x16_c |
| 63 |
| 64 void vp9_dequant_idct_add_8x8_c(short *input, const short *dq, unsigned char *pr
ed, unsigned char *dest, int pitch, int stride, int dc, unsigned short eobs); |
| 65 #define vp9_dequant_idct_add_8x8 vp9_dequant_idct_add_8x8_c |
| 66 |
| 67 void vp9_dequant_idct_add_c(short *input, const short *dq, unsigned char *pred,
unsigned char *dest, int pitch, int stride); |
| 68 #define vp9_dequant_idct_add vp9_dequant_idct_add_c |
| 69 |
| 70 void vp9_dequant_dc_idct_add_c(short *input, const short *dq, unsigned char *pre
d, unsigned char *dest, int pitch, int stride, int Dc); |
| 71 #define vp9_dequant_dc_idct_add vp9_dequant_dc_idct_add_c |
| 72 |
| 73 void vp9_dequant_dc_idct_add_y_block_c(short *q, const short *dq, unsigned char
*pre, unsigned char *dst, int stride, unsigned short *eobs, const short *dc); |
| 74 void vp9_dequant_dc_idct_add_y_block_mmx(short *q, const short *dq, unsigned cha
r *pre, unsigned char *dst, int stride, unsigned short *eobs, const short *dc); |
| 75 #define vp9_dequant_dc_idct_add_y_block vp9_dequant_dc_idct_add_y_block_mmx |
| 76 |
| 77 void vp9_dequant_idct_add_y_block_c(short *q, const short *dq, unsigned char *pr
e, unsigned char *dst, int stride, unsigned short *eobs); |
| 78 void vp9_dequant_idct_add_y_block_mmx(short *q, const short *dq, unsigned char *
pre, unsigned char *dst, int stride, unsigned short *eobs); |
| 79 #define vp9_dequant_idct_add_y_block vp9_dequant_idct_add_y_block_mmx |
| 80 |
| 81 void vp9_dequant_idct_add_uv_block_c(short *q, const short *dq, unsigned char *p
re, unsigned char *dstu, unsigned char *dstv, int stride, unsigned short *eobs); |
| 82 void vp9_dequant_idct_add_uv_block_mmx(short *q, const short *dq, unsigned char
*pre, unsigned char *dstu, unsigned char *dstv, int stride, unsigned short *eobs
); |
| 83 #define vp9_dequant_idct_add_uv_block vp9_dequant_idct_add_uv_block_mmx |
| 84 |
| 85 void vp9_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); |
| 86 void vp9_copy_mem16x16_mmx(unsigned char *src, int src_pitch, unsigned char *dst
, int dst_pitch); |
| 87 void vp9_copy_mem16x16_sse2(unsigned char *src, int src_pitch, unsigned char *ds
t, int dst_pitch); |
| 88 #define vp9_copy_mem16x16 vp9_copy_mem16x16_sse2 |
| 89 |
| 90 void vp9_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, in
t dst_pitch); |
| 91 void vp9_copy_mem8x8_mmx(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); |
| 92 #define vp9_copy_mem8x8 vp9_copy_mem8x8_mmx |
| 93 |
| 94 void vp9_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, in
t dst_pitch); |
| 95 void vp9_copy_mem8x4_mmx(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); |
| 96 #define vp9_copy_mem8x4 vp9_copy_mem8x4_mmx |
| 97 |
| 98 void vp9_avg_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, i
nt dst_pitch); |
| 99 #define vp9_avg_mem16x16 vp9_avg_mem16x16_c |
| 100 |
| 101 void vp9_avg_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int
dst_pitch); |
| 102 #define vp9_avg_mem8x8 vp9_avg_mem8x8_c |
| 103 |
| 104 void vp9_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, in
t dst_pitch); |
| 105 void vp9_copy_mem8x4_mmx(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); |
| 106 #define vp9_copy_mem8x4 vp9_copy_mem8x4_mmx |
| 107 |
| 108 void vp9_recon_b_c(unsigned char *pred_ptr, short *diff_ptr, unsigned char *dst_
ptr, int stride); |
| 109 #define vp9_recon_b vp9_recon_b_c |
| 110 |
| 111 void vp9_recon_uv_b_c(unsigned char *pred_ptr, short *diff_ptr, unsigned char *d
st_ptr, int stride); |
| 112 #define vp9_recon_uv_b vp9_recon_uv_b_c |
| 113 |
| 114 void vp9_recon2b_c(unsigned char *pred_ptr, short *diff_ptr, unsigned char *dst_
ptr, int stride); |
| 115 void vp9_recon2b_sse2(unsigned char *pred_ptr, short *diff_ptr, unsigned char *d
st_ptr, int stride); |
| 116 #define vp9_recon2b vp9_recon2b_sse2 |
| 117 |
| 118 void vp9_recon4b_c(unsigned char *pred_ptr, short *diff_ptr, unsigned char *dst_
ptr, int stride); |
| 119 void vp9_recon4b_sse2(unsigned char *pred_ptr, short *diff_ptr, unsigned char *d
st_ptr, int stride); |
| 120 #define vp9_recon4b vp9_recon4b_sse2 |
| 121 |
| 122 void vp9_recon_mb_c(struct macroblockd *x); |
| 123 #define vp9_recon_mb vp9_recon_mb_c |
| 124 |
| 125 void vp9_recon_mby_c(struct macroblockd *x); |
| 126 #define vp9_recon_mby vp9_recon_mby_c |
| 127 |
| 128 void vp9_recon_mby_s_c(struct macroblockd *x, unsigned char *dst); |
| 129 #define vp9_recon_mby_s vp9_recon_mby_s_c |
| 130 |
| 131 void vp9_recon_mbuv_s_c(struct macroblockd *x, unsigned char *udst, unsigned cha
r *vdst); |
| 132 #define vp9_recon_mbuv_s vp9_recon_mbuv_s_c |
| 133 |
| 134 void vp9_build_intra_predictors_mby_s_c(struct macroblockd *x); |
| 135 #define vp9_build_intra_predictors_mby_s vp9_build_intra_predictors_mby_s_c |
| 136 |
| 137 void vp9_build_intra_predictors_sby_s_c(struct macroblockd *x); |
| 138 #define vp9_build_intra_predictors_sby_s vp9_build_intra_predictors_sby_s_c |
| 139 |
| 140 void vp9_build_intra_predictors_sbuv_s_c(struct macroblockd *x); |
| 141 #define vp9_build_intra_predictors_sbuv_s vp9_build_intra_predictors_sbuv_s_c |
| 142 |
| 143 void vp9_build_intra_predictors_mby_c(struct macroblockd *x); |
| 144 #define vp9_build_intra_predictors_mby vp9_build_intra_predictors_mby_c |
| 145 |
| 146 void vp9_build_comp_intra_predictors_mby_c(struct macroblockd *x); |
| 147 #define vp9_build_comp_intra_predictors_mby vp9_build_comp_intra_predictors_mby_
c |
| 148 |
| 149 void vp9_build_intra_predictors_mby_s_c(struct macroblockd *x); |
| 150 #define vp9_build_intra_predictors_mby_s vp9_build_intra_predictors_mby_s_c |
| 151 |
| 152 void vp9_build_intra_predictors_mbuv_c(struct macroblockd *x); |
| 153 #define vp9_build_intra_predictors_mbuv vp9_build_intra_predictors_mbuv_c |
| 154 |
| 155 void vp9_build_intra_predictors_mbuv_s_c(struct macroblockd *x); |
| 156 #define vp9_build_intra_predictors_mbuv_s vp9_build_intra_predictors_mbuv_s_c |
| 157 |
| 158 void vp9_build_comp_intra_predictors_mbuv_c(struct macroblockd *x); |
| 159 #define vp9_build_comp_intra_predictors_mbuv vp9_build_comp_intra_predictors_mbu
v_c |
| 160 |
| 161 void vp9_intra4x4_predict_c(struct blockd *x, int b_mode, unsigned char *predict
or); |
| 162 #define vp9_intra4x4_predict vp9_intra4x4_predict_c |
| 163 |
| 164 void vp9_comp_intra4x4_predict_c(struct blockd *x, int b_mode, int second_mode,
unsigned char *predictor); |
| 165 #define vp9_comp_intra4x4_predict vp9_comp_intra4x4_predict_c |
| 166 |
| 167 void vp9_intra8x8_predict_c(struct blockd *x, int b_mode, unsigned char *predict
or); |
| 168 #define vp9_intra8x8_predict vp9_intra8x8_predict_c |
| 169 |
| 170 void vp9_comp_intra8x8_predict_c(struct blockd *x, int b_mode, int second_mode,
unsigned char *predictor); |
| 171 #define vp9_comp_intra8x8_predict vp9_comp_intra8x8_predict_c |
| 172 |
| 173 void vp9_intra_uv4x4_predict_c(struct blockd *x, int b_mode, unsigned char *pred
ictor); |
| 174 #define vp9_intra_uv4x4_predict vp9_intra_uv4x4_predict_c |
| 175 |
| 176 void vp9_comp_intra_uv4x4_predict_c(struct blockd *x, int b_mode, int second_mod
e, unsigned char *predictor); |
| 177 #define vp9_comp_intra_uv4x4_predict vp9_comp_intra_uv4x4_predict_c |
| 178 |
| 179 void vp9_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 180 void vp9_loop_filter_mbv_sse2(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 181 #define vp9_loop_filter_mbv vp9_loop_filter_mbv_sse2 |
| 182 |
| 183 void vp9_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 184 void vp9_loop_filter_bv_sse2(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 185 #define vp9_loop_filter_bv vp9_loop_filter_bv_sse2 |
| 186 |
| 187 void vp9_loop_filter_bv8x8_c(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 188 void vp9_loop_filter_bv8x8_sse2(unsigned char *y, unsigned char *u, unsigned cha
r *v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 189 #define vp9_loop_filter_bv8x8 vp9_loop_filter_bv8x8_sse2 |
| 190 |
| 191 void vp9_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 192 void vp9_loop_filter_mbh_sse2(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 193 #define vp9_loop_filter_mbh vp9_loop_filter_mbh_sse2 |
| 194 |
| 195 void vp9_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 196 void vp9_loop_filter_bh_sse2(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 197 #define vp9_loop_filter_bh vp9_loop_filter_bh_sse2 |
| 198 |
| 199 void vp9_loop_filter_bh8x8_c(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 200 void vp9_loop_filter_bh8x8_sse2(unsigned char *y, unsigned char *u, unsigned cha
r *v, int ystride, int uv_stride, struct loop_filter_info *lfi); |
| 201 #define vp9_loop_filter_bh8x8 vp9_loop_filter_bh8x8_sse2 |
| 202 |
| 203 void vp9_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const
unsigned char *blimit); |
| 204 void vp9_loop_filter_simple_vertical_edge_mmx(unsigned char *y, int ystride, con
st unsigned char *blimit); |
| 205 void vp9_loop_filter_simple_vertical_edge_sse2(unsigned char *y, int ystride, co
nst unsigned char *blimit); |
| 206 #define vp9_loop_filter_simple_mbv vp9_loop_filter_simple_vertical_edge_sse2 |
| 207 |
| 208 void vp9_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, con
st unsigned char *blimit); |
| 209 void vp9_loop_filter_simple_horizontal_edge_mmx(unsigned char *y, int ystride, c
onst unsigned char *blimit); |
| 210 void vp9_loop_filter_simple_horizontal_edge_sse2(unsigned char *y, int ystride,
const unsigned char *blimit); |
| 211 #define vp9_loop_filter_simple_mbh vp9_loop_filter_simple_horizontal_edge_sse2 |
| 212 |
| 213 void vp9_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *b
limit); |
| 214 void vp9_loop_filter_bvs_mmx(unsigned char *y, int ystride, const unsigned char
*blimit); |
| 215 void vp9_loop_filter_bvs_sse2(unsigned char *y, int ystride, const unsigned char
*blimit); |
| 216 #define vp9_loop_filter_simple_bv vp9_loop_filter_bvs_sse2 |
| 217 |
| 218 void vp9_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *b
limit); |
| 219 void vp9_loop_filter_bhs_mmx(unsigned char *y, int ystride, const unsigned char
*blimit); |
| 220 void vp9_loop_filter_bhs_sse2(unsigned char *y, int ystride, const unsigned char
*blimit); |
| 221 #define vp9_loop_filter_simple_bh vp9_loop_filter_bhs_sse2 |
| 222 |
| 223 void vp9_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols, i
nt flimit); |
| 224 void vp9_mbpost_proc_down_mmx(unsigned char *dst, int pitch, int rows, int cols,
int flimit); |
| 225 void vp9_mbpost_proc_down_xmm(unsigned char *dst, int pitch, int rows, int cols,
int flimit); |
| 226 #define vp9_mbpost_proc_down vp9_mbpost_proc_down_xmm |
| 227 |
| 228 void vp9_mbpost_proc_across_ip_c(unsigned char *src, int pitch, int rows, int co
ls, int flimit); |
| 229 void vp9_mbpost_proc_across_ip_xmm(unsigned char *src, int pitch, int rows, int
cols, int flimit); |
| 230 #define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_xmm |
| 231 |
| 232 void vp9_post_proc_down_and_across_c(unsigned char *src_ptr, unsigned char *dst_
ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int f
limit); |
| 233 void vp9_post_proc_down_and_across_mmx(unsigned char *src_ptr, unsigned char *ds
t_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int
flimit); |
| 234 void vp9_post_proc_down_and_across_xmm(unsigned char *src_ptr, unsigned char *ds
t_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int
flimit); |
| 235 #define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_xmm |
| 236 |
| 237 void vp9_plane_add_noise_c(unsigned char *Start, char *noise, char blackclamp[16
], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Hei
ght, int Pitch); |
| 238 void vp9_plane_add_noise_mmx(unsigned char *Start, char *noise, char blackclamp[
16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int H
eight, int Pitch); |
| 239 void vp9_plane_add_noise_wmt(unsigned char *Start, char *noise, char blackclamp[
16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int H
eight, int Pitch); |
| 240 #define vp9_plane_add_noise vp9_plane_add_noise_wmt |
| 241 |
| 242 void vp9_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v,
int y1, int u1, int v1, int alpha, int stride); |
| 243 #define vp9_blend_mb_inner vp9_blend_mb_inner_c |
| 244 |
| 245 void vp9_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v,
int y1, int u1, int v1, int alpha, int stride); |
| 246 #define vp9_blend_mb_outer vp9_blend_mb_outer_c |
| 247 |
| 248 void vp9_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1,
int u1, int v1, int alpha, int stride); |
| 249 #define vp9_blend_b vp9_blend_b_c |
| 250 |
| 251 unsigned int vp9_sad16x3_c(const unsigned char *src_ptr, int src_stride, const
unsigned char *ref_ptr, int ref_stride); |
| 252 unsigned int vp9_sad16x3_sse2(const unsigned char *src_ptr, int src_stride, con
st unsigned char *ref_ptr, int ref_stride); |
| 253 #define vp9_sad16x3 vp9_sad16x3_sse2 |
| 254 |
| 255 unsigned int vp9_sad3x16_c(const unsigned char *src_ptr, int src_stride, const
unsigned char *ref_ptr, int ref_stride); |
| 256 unsigned int vp9_sad3x16_sse2(const unsigned char *src_ptr, int src_stride, con
st unsigned char *ref_ptr, int ref_stride); |
| 257 #define vp9_sad3x16 vp9_sad3x16_sse2 |
| 258 |
| 259 void vp9_eighttap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 260 #define vp9_eighttap_predict16x16 vp9_eighttap_predict16x16_c |
| 261 |
| 262 void vp9_eighttap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 263 #define vp9_eighttap_predict8x8 vp9_eighttap_predict8x8_c |
| 264 |
| 265 void vp9_eighttap_predict_avg16x16_c(unsigned char *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 266 #define vp9_eighttap_predict_avg16x16 vp9_eighttap_predict_avg16x16_c |
| 267 |
| 268 void vp9_eighttap_predict_avg8x8_c(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 269 #define vp9_eighttap_predict_avg8x8 vp9_eighttap_predict_avg8x8_c |
| 270 |
| 271 void vp9_eighttap_predict_avg4x4_c(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 272 #define vp9_eighttap_predict_avg4x4 vp9_eighttap_predict_avg4x4_c |
| 273 |
| 274 void vp9_eighttap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 275 #define vp9_eighttap_predict8x4 vp9_eighttap_predict8x4_c |
| 276 |
| 277 void vp9_eighttap_predict_c(unsigned char *src_ptr, int src_pixels_per_line, in
t xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 278 #define vp9_eighttap_predict vp9_eighttap_predict_c |
| 279 |
| 280 void vp9_eighttap_predict16x16_sharp_c(unsigned char *src_ptr, int src_pixels_p
er_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 281 #define vp9_eighttap_predict16x16_sharp vp9_eighttap_predict16x16_sharp_c |
| 282 |
| 283 void vp9_eighttap_predict8x8_sharp_c(unsigned char *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 284 #define vp9_eighttap_predict8x8_sharp vp9_eighttap_predict8x8_sharp_c |
| 285 |
| 286 void vp9_eighttap_predict_avg16x16_sharp_c(unsigned char *src_ptr, int src_pixe
ls_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch)
; |
| 287 #define vp9_eighttap_predict_avg16x16_sharp vp9_eighttap_predict_avg16x16_sharp_
c |
| 288 |
| 289 void vp9_eighttap_predict_avg8x8_sharp_c(unsigned char *src_ptr, int src_pixels
_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 290 #define vp9_eighttap_predict_avg8x8_sharp vp9_eighttap_predict_avg8x8_sharp_c |
| 291 |
| 292 void vp9_eighttap_predict_avg4x4_sharp_c(unsigned char *src_ptr, int src_pixels
_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 293 #define vp9_eighttap_predict_avg4x4_sharp vp9_eighttap_predict_avg4x4_sharp_c |
| 294 |
| 295 void vp9_eighttap_predict8x4_sharp_c(unsigned char *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 296 #define vp9_eighttap_predict8x4_sharp vp9_eighttap_predict8x4_sharp_c |
| 297 |
| 298 void vp9_eighttap_predict_sharp_c(unsigned char *src_ptr, int src_pixels_per_li
ne, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 299 #define vp9_eighttap_predict_sharp vp9_eighttap_predict_sharp_c |
| 300 |
| 301 void vp9_sixtap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 302 #define vp9_sixtap_predict16x16 vp9_sixtap_predict16x16_c |
| 303 |
| 304 void vp9_sixtap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 305 #define vp9_sixtap_predict8x8 vp9_sixtap_predict8x8_c |
| 306 |
| 307 void vp9_sixtap_predict_avg16x16_c(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 308 #define vp9_sixtap_predict_avg16x16 vp9_sixtap_predict_avg16x16_c |
| 309 |
| 310 void vp9_sixtap_predict_avg8x8_c(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 311 #define vp9_sixtap_predict_avg8x8 vp9_sixtap_predict_avg8x8_c |
| 312 |
| 313 void vp9_sixtap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, i
nt xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 314 #define vp9_sixtap_predict8x4 vp9_sixtap_predict8x4_c |
| 315 |
| 316 void vp9_sixtap_predict_c(unsigned char *src_ptr, int src_pixels_per_line, int
xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 317 #define vp9_sixtap_predict vp9_sixtap_predict_c |
| 318 |
| 319 void vp9_sixtap_predict_avg_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 320 #define vp9_sixtap_predict_avg vp9_sixtap_predict_avg_c |
| 321 |
| 322 void vp9_bilinear_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 323 void vp9_bilinear_predict16x16_mmx(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 324 void vp9_bilinear_predict16x16_sse2(unsigned char *src_ptr, int src_pixels_per_
line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 325 #define vp9_bilinear_predict16x16 vp9_bilinear_predict16x16_sse2 |
| 326 |
| 327 void vp9_bilinear_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 328 void vp9_bilinear_predict8x8_mmx(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 329 void vp9_bilinear_predict8x8_sse2(unsigned char *src_ptr, int src_pixels_per_li
ne, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 330 #define vp9_bilinear_predict8x8 vp9_bilinear_predict8x8_sse2 |
| 331 |
| 332 void vp9_bilinear_predict_avg16x16_c(unsigned char *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 333 #define vp9_bilinear_predict_avg16x16 vp9_bilinear_predict_avg16x16_c |
| 334 |
| 335 void vp9_bilinear_predict_avg8x8_c(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 336 #define vp9_bilinear_predict_avg8x8 vp9_bilinear_predict_avg8x8_c |
| 337 |
| 338 void vp9_bilinear_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 339 void vp9_bilinear_predict8x4_mmx(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 340 #define vp9_bilinear_predict8x4 vp9_bilinear_predict8x4_mmx |
| 341 |
| 342 void vp9_bilinear_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line,
int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 343 void vp9_bilinear_predict4x4_mmx(unsigned char *src_ptr, int src_pixels_per_lin
e, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 344 #define vp9_bilinear_predict4x4 vp9_bilinear_predict4x4_mmx |
| 345 |
| 346 void vp9_bilinear_predict_avg4x4_c(unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); |
| 347 #define vp9_bilinear_predict_avg4x4 vp9_bilinear_predict_avg4x4_c |
| 348 |
| 349 void vp9_short_idct4x4llm_1_c(short *input, short *output, int pitch); |
| 350 void vp9_short_idct4x4llm_1_mmx(short *input, short *output, int pitch); |
| 351 #define vp9_short_idct4x4llm_1 vp9_short_idct4x4llm_1_mmx |
| 352 |
| 353 void vp9_short_idct4x4llm_c(short *input, short *output, int pitch); |
| 354 void vp9_short_idct4x4llm_mmx(short *input, short *output, int pitch); |
| 355 #define vp9_short_idct4x4llm vp9_short_idct4x4llm_mmx |
| 356 |
| 357 void vp9_short_idct8x8_c(short *input, short *output, int pitch); |
| 358 #define vp9_short_idct8x8 vp9_short_idct8x8_c |
| 359 |
| 360 void vp9_short_idct10_8x8_c(short *input, short *output, int pitch); |
| 361 #define vp9_short_idct10_8x8 vp9_short_idct10_8x8_c |
| 362 |
| 363 void vp9_short_ihaar2x2_c(short *input, short *output, int pitch); |
| 364 #define vp9_short_ihaar2x2 vp9_short_ihaar2x2_c |
| 365 |
| 366 void vp9_short_idct16x16_c(short *input, short *output, int pitch); |
| 367 #define vp9_short_idct16x16 vp9_short_idct16x16_c |
| 368 |
| 369 void vp9_short_idct10_16x16_c(short *input, short *output, int pitch); |
| 370 #define vp9_short_idct10_16x16 vp9_short_idct10_16x16_c |
| 371 |
| 372 void vp9_ihtllm_c(const short *input, short *output, int pitch, int tx_type, int
tx_dim); |
| 373 #define vp9_ihtllm vp9_ihtllm_c |
| 374 |
| 375 void vp9_short_inv_walsh4x4_1_c(short *in, short *out); |
| 376 #define vp9_short_inv_walsh4x4_1 vp9_short_inv_walsh4x4_1_c |
| 377 |
| 378 void vp9_short_inv_walsh4x4_c(short *in, short *out); |
| 379 #define vp9_short_inv_walsh4x4 vp9_short_inv_walsh4x4_c |
| 380 |
| 381 void vp9_dc_only_idct_add_8x8_c(short input_dc, unsigned char *pred_ptr, unsigne
d char *dst_ptr, int pitch, int stride); |
| 382 #define vp9_dc_only_idct_add_8x8 vp9_dc_only_idct_add_8x8_c |
| 383 |
| 384 void vp9_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, unsigned ch
ar *dst_ptr, int pitch, int stride); |
| 385 #define vp9_dc_only_idct_add vp9_dc_only_idct_add_c |
| 386 |
| 387 void vp9_rtcd(void); |
| 388 |
| 389 #ifdef RTCD_C |
| 390 #include "vpx_ports/x86.h" |
| 391 static void setup_rtcd_internal(void) |
| 392 { |
| 393 int flags = x86_simd_caps(); |
| 394 |
| 395 (void)flags; |
| 396 |
| 397 vp9_filter_block2d_4x4_8 = vp9_filter_block2d_4x4_8_sse2; |
| 398 if (flags & HAS_SSE4_1) vp9_filter_block2d_4x4_8 = vp9_filter_block2d_4x4_8_
sse4_1; |
| 399 |
| 400 vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_c; |
| 401 if (flags & HAS_SSSE3) vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_s
sse3; |
| 402 |
| 403 vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_c; |
| 404 if (flags & HAS_SSSE3) vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_s
sse3; |
| 405 |
| 406 vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16_8_c; |
| 407 if (flags & HAS_SSSE3) vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16
_8_ssse3; |
| 408 } |
| 409 #endif |
| 410 #endif |
OLD | NEW |