OLD | NEW |
| (Empty) |
1 #ifndef VPX_RTCD_ | |
2 #define VPX_RTCD_ | |
3 | |
4 #ifdef RTCD_C | |
5 #define RTCD_EXTERN | |
6 #else | |
7 #define RTCD_EXTERN extern | |
8 #endif | |
9 | |
10 #include "vp8/common/blockd.h" | |
11 | |
12 struct blockd; | |
13 struct macroblockd; | |
14 struct loop_filter_info; | |
15 | |
16 /* Encoder forward decls */ | |
17 struct block; | |
18 struct macroblock; | |
19 struct variance_vtable; | |
20 union int_mv; | |
21 struct yv12_buffer_config; | |
22 | |
23 void vp8_dequantize_b_c(struct blockd*, short *dqc); | |
24 void vp8_dequantize_b_v6(struct blockd*, short *dqc); | |
25 void vp8_dequantize_b_neon(struct blockd*, short *dqc); | |
26 RTCD_EXTERN void (*vp8_dequantize_b)(struct blockd*, short *dqc); | |
27 | |
28 void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int
stride); | |
29 void vp8_dequant_idct_add_v6(short *input, short *dq, unsigned char *output, int
stride); | |
30 void vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, i
nt stride); | |
31 RTCD_EXTERN void (*vp8_dequant_idct_add)(short *input, short *dq, unsigned char
*output, int stride); | |
32 | |
33 void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int
stride, char *eobs); | |
34 void vp8_dequant_idct_add_y_block_v6(short *q, short *dq, unsigned char *dst, in
t stride, char *eobs); | |
35 void vp8_dequant_idct_add_y_block_neon(short *q, short *dq, unsigned char *dst,
int stride, char *eobs); | |
36 RTCD_EXTERN void (*vp8_dequant_idct_add_y_block)(short *q, short *dq, unsigned c
har *dst, int stride, char *eobs); | |
37 | |
38 void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u,
unsigned char *dst_v, int stride, char *eobs); | |
39 void vp8_dequant_idct_add_uv_block_v6(short *q, short *dq, unsigned char *dst_u,
unsigned char *dst_v, int stride, char *eobs); | |
40 void vp8_dequant_idct_add_uv_block_neon(short *q, short *dq, unsigned char *dst_
u, unsigned char *dst_v, int stride, char *eobs); | |
41 RTCD_EXTERN void (*vp8_dequant_idct_add_uv_block)(short *q, short *dq, unsigned
char *dst_u, unsigned char *dst_v, int stride, char *eobs); | |
42 | |
43 void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); | |
44 void vp8_loop_filter_mbv_armv6(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
45 void vp8_loop_filter_mbv_neon(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
46 RTCD_EXTERN void (*vp8_loop_filter_mbv)(unsigned char *y, unsigned char *u, unsi
gned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
47 | |
48 void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); | |
49 void vp8_loop_filter_bv_armv6(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
50 void vp8_loop_filter_bv_neon(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
51 RTCD_EXTERN void (*vp8_loop_filter_bv)(unsigned char *y, unsigned char *u, unsig
ned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
52 | |
53 void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); | |
54 void vp8_loop_filter_mbh_armv6(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
55 void vp8_loop_filter_mbh_neon(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
56 RTCD_EXTERN void (*vp8_loop_filter_mbh)(unsigned char *y, unsigned char *u, unsi
gned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
57 | |
58 void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v,
int ystride, int uv_stride, struct loop_filter_info *lfi); | |
59 void vp8_loop_filter_bh_armv6(unsigned char *y, unsigned char *u, unsigned char
*v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
60 void vp8_loop_filter_bh_neon(unsigned char *y, unsigned char *u, unsigned char *
v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
61 RTCD_EXTERN void (*vp8_loop_filter_bh)(unsigned char *y, unsigned char *u, unsig
ned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); | |
62 | |
63 void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const
unsigned char *blimit); | |
64 void vp8_loop_filter_simple_vertical_edge_armv6(unsigned char *y, int ystride, c
onst unsigned char *blimit); | |
65 void vp8_loop_filter_mbvs_neon(unsigned char *y, int ystride, const unsigned cha
r *blimit); | |
66 RTCD_EXTERN void (*vp8_loop_filter_simple_mbv)(unsigned char *y, int ystride, co
nst unsigned char *blimit); | |
67 | |
68 void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, con
st unsigned char *blimit); | |
69 void vp8_loop_filter_simple_horizontal_edge_armv6(unsigned char *y, int ystride,
const unsigned char *blimit); | |
70 void vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned cha
r *blimit); | |
71 RTCD_EXTERN void (*vp8_loop_filter_simple_mbh)(unsigned char *y, int ystride, co
nst unsigned char *blimit); | |
72 | |
73 void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *b
limit); | |
74 void vp8_loop_filter_bvs_armv6(unsigned char *y, int ystride, const unsigned cha
r *blimit); | |
75 void vp8_loop_filter_bvs_neon(unsigned char *y, int ystride, const unsigned char
*blimit); | |
76 RTCD_EXTERN void (*vp8_loop_filter_simple_bv)(unsigned char *y, int ystride, con
st unsigned char *blimit); | |
77 | |
78 void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *b
limit); | |
79 void vp8_loop_filter_bhs_armv6(unsigned char *y, int ystride, const unsigned cha
r *blimit); | |
80 void vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char
*blimit); | |
81 RTCD_EXTERN void (*vp8_loop_filter_simple_bh)(unsigned char *y, int ystride, con
st unsigned char *blimit); | |
82 | |
83 void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsign
ed char *dst, int dst_stride); | |
84 void vp8_short_idct4x4llm_v6_dual(short *input, unsigned char *pred, int pitch,
unsigned char *dst, int dst_stride); | |
85 void vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, uns
igned char *dst, int dst_stride); | |
86 RTCD_EXTERN void (*vp8_short_idct4x4llm)(short *input, unsigned char *pred, int
pitch, unsigned char *dst, int dst_stride); | |
87 | |
88 void vp8_short_inv_walsh4x4_1_c(short *input, short *output); | |
89 #define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c | |
90 | |
91 void vp8_short_inv_walsh4x4_c(short *input, short *output); | |
92 void vp8_short_inv_walsh4x4_v6(short *input, short *output); | |
93 void vp8_short_inv_walsh4x4_neon(short *input, short *output); | |
94 RTCD_EXTERN void (*vp8_short_inv_walsh4x4)(short *input, short *output); | |
95 | |
96 void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, u
nsigned char *dst, int dst_stride); | |
97 void vp8_dc_only_idct_add_v6(short input, unsigned char *pred, int pred_stride,
unsigned char *dst, int dst_stride); | |
98 void vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride
, unsigned char *dst, int dst_stride); | |
99 RTCD_EXTERN void (*vp8_dc_only_idct_add)(short input, unsigned char *pred, int p
red_stride, unsigned char *dst, int dst_stride); | |
100 | |
101 void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); | |
102 void vp8_copy_mem16x16_v6(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); | |
103 void vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *ds
t, int dst_pitch); | |
104 RTCD_EXTERN void (*vp8_copy_mem16x16)(unsigned char *src, int src_pitch, unsigne
d char *dst, int dst_pitch); | |
105 | |
106 void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, in
t dst_pitch); | |
107 void vp8_copy_mem8x8_v6(unsigned char *src, int src_pitch, unsigned char *dst, i
nt dst_pitch); | |
108 void vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); | |
109 RTCD_EXTERN void (*vp8_copy_mem8x8)(unsigned char *src, int src_pitch, unsigned
char *dst, int dst_pitch); | |
110 | |
111 void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, in
t dst_pitch); | |
112 void vp8_copy_mem8x4_v6(unsigned char *src, int src_pitch, unsigned char *dst, i
nt dst_pitch); | |
113 void vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst,
int dst_pitch); | |
114 RTCD_EXTERN void (*vp8_copy_mem8x4)(unsigned char *src, int src_pitch, unsigned
char *dst, int dst_pitch); | |
115 | |
116 void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * y
above_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, in
t y_stride); | |
117 #define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_c | |
118 | |
119 void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char *
uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vl
eft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int
pred_stride); | |
120 #define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_c | |
121 | |
122 void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left
_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stride, unsigned
char top_left); | |
123 void vp8_intra4x4_predict_armv6(unsigned char *Above, unsigned char *yleft, int
left_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stride, unsig
ned char top_left); | |
124 RTCD_EXTERN void (*vp8_intra4x4_predict)(unsigned char *Above, unsigned char *yl
eft, int left_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stri
de, unsigned char top_left); | |
125 | |
126 void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,in
t flimit); | |
127 #define vp8_mbpost_proc_down vp8_mbpost_proc_down_c | |
128 | |
129 void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int co
ls,int flimit); | |
130 #define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c | |
131 | |
132 void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *d
st, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); | |
133 #define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_ro
w_c | |
134 | |
135 void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], c
har whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitc
h); | |
136 #define vp8_plane_add_noise vp8_plane_add_noise_c | |
137 | |
138 void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v,
int y1, int u1, int v1, int alpha, int stride); | |
139 #define vp8_blend_mb_inner vp8_blend_mb_inner_c | |
140 | |
141 void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v,
int y1, int u1, int v1, int alpha, int stride); | |
142 #define vp8_blend_mb_outer vp8_blend_mb_outer_c | |
143 | |
144 void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1,
int u1, int v1, int alpha, int stride); | |
145 #define vp8_blend_b vp8_blend_b_c | |
146 | |
147 void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned ch
ar *dst, int dst_stride, int src_weight); | |
148 #define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c | |
149 | |
150 void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char
*dst, int dst_stride, int src_weight); | |
151 #define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c | |
152 | |
153 void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char
*dst, int dst_stride, int src_weight); | |
154 #define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c | |
155 | |
156 void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int
yofst, unsigned char *dst, int dst_pitch); | |
157 void vp8_sixtap_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
158 void vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
159 RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char *src, int src_pitch, i
nt xofst, int yofst, unsigned char *dst, int dst_pitch); | |
160 | |
161 void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int y
ofst, unsigned char *dst, int dst_pitch); | |
162 void vp8_sixtap_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, i
nt yofst, unsigned char *dst, int dst_pitch); | |
163 void vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, in
t yofst, unsigned char *dst, int dst_pitch); | |
164 RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char *src, int src_pitch, int
xofst, int yofst, unsigned char *dst, int dst_pitch); | |
165 | |
166 void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int y
ofst, unsigned char *dst, int dst_pitch); | |
167 void vp8_sixtap_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, i
nt yofst, unsigned char *dst, int dst_pitch); | |
168 void vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, in
t yofst, unsigned char *dst, int dst_pitch); | |
169 RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char *src, int src_pitch, int
xofst, int yofst, unsigned char *dst, int dst_pitch); | |
170 | |
171 void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int y
ofst, unsigned char *dst, int dst_pitch); | |
172 void vp8_sixtap_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, i
nt yofst, unsigned char *dst, int dst_pitch); | |
173 void vp8_sixtap_predict4x4_neon(unsigned char *src, int src_pitch, int xofst, in
t yofst, unsigned char *dst, int dst_pitch); | |
174 RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char *src, int src_pitch, int
xofst, int yofst, unsigned char *dst, int dst_pitch); | |
175 | |
176 void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, i
nt yofst, unsigned char *dst, int dst_pitch); | |
177 void vp8_bilinear_predict16x16_armv6(unsigned char *src, int src_pitch, int xofs
t, int yofst, unsigned char *dst, int dst_pitch); | |
178 void vp8_bilinear_predict16x16_neon(unsigned char *src, int src_pitch, int xofst
, int yofst, unsigned char *dst, int dst_pitch); | |
179 RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char *src, int src_pitch,
int xofst, int yofst, unsigned char *dst, int dst_pitch); | |
180 | |
181 void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int
yofst, unsigned char *dst, int dst_pitch); | |
182 void vp8_bilinear_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
183 void vp8_bilinear_predict8x8_neon(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
184 RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char *src, int src_pitch, i
nt xofst, int yofst, unsigned char *dst, int dst_pitch); | |
185 | |
186 void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int
yofst, unsigned char *dst, int dst_pitch); | |
187 void vp8_bilinear_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
188 void vp8_bilinear_predict8x4_neon(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
189 RTCD_EXTERN void (*vp8_bilinear_predict8x4)(unsigned char *src, int src_pitch, i
nt xofst, int yofst, unsigned char *dst, int dst_pitch); | |
190 | |
191 void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int
yofst, unsigned char *dst, int dst_pitch); | |
192 void vp8_bilinear_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
193 void vp8_bilinear_predict4x4_neon(unsigned char *src, int src_pitch, int xofst,
int yofst, unsigned char *dst, int dst_pitch); | |
194 RTCD_EXTERN void (*vp8_bilinear_predict4x4)(unsigned char *src, int src_pitch, i
nt xofst, int yofst, unsigned char *dst, int dst_pitch); | |
195 | |
196 unsigned int vp8_variance4x4_c(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
197 #define vp8_variance4x4 vp8_variance4x4_c | |
198 | |
199 unsigned int vp8_variance8x8_c(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
200 unsigned int vp8_variance8x8_armv6(const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
201 unsigned int vp8_variance8x8_neon(const unsigned char *src_ptr, int source_strid
e, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
202 RTCD_EXTERN unsigned int (*vp8_variance8x8)(const unsigned char *src_ptr, int so
urce_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
203 | |
204 unsigned int vp8_variance8x16_c(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
205 unsigned int vp8_variance8x16_neon(const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
206 RTCD_EXTERN unsigned int (*vp8_variance8x16)(const unsigned char *src_ptr, int s
ource_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
207 | |
208 unsigned int vp8_variance16x8_c(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
209 unsigned int vp8_variance16x8_neon(const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
210 RTCD_EXTERN unsigned int (*vp8_variance16x8)(const unsigned char *src_ptr, int s
ource_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
211 | |
212 unsigned int vp8_variance16x16_c(const unsigned char *src_ptr, int source_stride
, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
213 unsigned int vp8_variance16x16_armv6(const unsigned char *src_ptr, int source_st
ride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
214 unsigned int vp8_variance16x16_neon(const unsigned char *src_ptr, int source_str
ide, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
215 RTCD_EXTERN unsigned int (*vp8_variance16x16)(const unsigned char *src_ptr, int
source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse)
; | |
216 | |
217 unsigned int vp8_sub_pixel_variance4x4_c(const unsigned char *src_ptr, int sou
rce_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstr
ide, unsigned int *sse); | |
218 #define vp8_sub_pixel_variance4x4 vp8_sub_pixel_variance4x4_c | |
219 | |
220 unsigned int vp8_sub_pixel_variance8x8_c(const unsigned char *src_ptr, int sou
rce_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstr
ide, unsigned int *sse); | |
221 unsigned int vp8_sub_pixel_variance8x8_armv6(const unsigned char *src_ptr, int
source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Re
fstride, unsigned int *sse); | |
222 unsigned int vp8_sub_pixel_variance8x8_neon(const unsigned char *src_ptr, int
source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Ref
stride, unsigned int *sse); | |
223 RTCD_EXTERN unsigned int (*vp8_sub_pixel_variance8x8)(const unsigned char *src_
ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_pt
r, int Refstride, unsigned int *sse); | |
224 | |
225 unsigned int vp8_sub_pixel_variance8x16_c(const unsigned char *src_ptr, int so
urce_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refst
ride, unsigned int *sse); | |
226 #define vp8_sub_pixel_variance8x16 vp8_sub_pixel_variance8x16_c | |
227 | |
228 unsigned int vp8_sub_pixel_variance16x8_c(const unsigned char *src_ptr, int so
urce_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refst
ride, unsigned int *sse); | |
229 #define vp8_sub_pixel_variance16x8 vp8_sub_pixel_variance16x8_c | |
230 | |
231 unsigned int vp8_sub_pixel_variance16x16_c(const unsigned char *src_ptr, int s
ource_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refs
tride, unsigned int *sse); | |
232 unsigned int vp8_sub_pixel_variance16x16_armv6(const unsigned char *src_ptr, in
t source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse); | |
233 unsigned int vp8_sub_pixel_variance16x16_neon(const unsigned char *src_ptr, int
source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int R
efstride, unsigned int *sse); | |
234 RTCD_EXTERN unsigned int (*vp8_sub_pixel_variance16x16)(const unsigned char *sr
c_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_
ptr, int Refstride, unsigned int *sse); | |
235 | |
236 unsigned int vp8_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int
source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse)
; | |
237 unsigned int vp8_variance_halfpixvar16x16_h_armv6(const unsigned char *src_ptr,
int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *
sse); | |
238 unsigned int vp8_variance_halfpixvar16x16_h_neon(const unsigned char *src_ptr, i
nt source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *s
se); | |
239 RTCD_EXTERN unsigned int (*vp8_variance_halfpixvar16x16_h)(const unsigned char *
src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsig
ned int *sse); | |
240 | |
241 unsigned int vp8_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int
source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse)
; | |
242 unsigned int vp8_variance_halfpixvar16x16_v_armv6(const unsigned char *src_ptr,
int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *
sse); | |
243 unsigned int vp8_variance_halfpixvar16x16_v_neon(const unsigned char *src_ptr, i
nt source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *s
se); | |
244 RTCD_EXTERN unsigned int (*vp8_variance_halfpixvar16x16_v)(const unsigned char *
src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsig
ned int *sse); | |
245 | |
246 unsigned int vp8_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int
source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse
); | |
247 unsigned int vp8_variance_halfpixvar16x16_hv_armv6(const unsigned char *src_ptr,
int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int
*sse); | |
248 unsigned int vp8_variance_halfpixvar16x16_hv_neon(const unsigned char *src_ptr,
int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *
sse); | |
249 RTCD_EXTERN unsigned int (*vp8_variance_halfpixvar16x16_hv)(const unsigned char
*src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsi
gned int *sse); | |
250 | |
251 unsigned int vp8_sad4x4_c(const unsigned char *src_ptr, int src_stride, const un
signed char *ref_ptr, int ref_stride, unsigned int max_sad); | |
252 unsigned int vp8_sad4x4_neon(const unsigned char *src_ptr, int src_stride, const
unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
253 RTCD_EXTERN unsigned int (*vp8_sad4x4)(const unsigned char *src_ptr, int src_str
ide, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
254 | |
255 unsigned int vp8_sad8x8_c(const unsigned char *src_ptr, int src_stride, const un
signed char *ref_ptr, int ref_stride, unsigned int max_sad); | |
256 unsigned int vp8_sad8x8_neon(const unsigned char *src_ptr, int src_stride, const
unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
257 RTCD_EXTERN unsigned int (*vp8_sad8x8)(const unsigned char *src_ptr, int src_str
ide, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
258 | |
259 unsigned int vp8_sad8x16_c(const unsigned char *src_ptr, int src_stride, const u
nsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
260 unsigned int vp8_sad8x16_neon(const unsigned char *src_ptr, int src_stride, cons
t unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
261 RTCD_EXTERN unsigned int (*vp8_sad8x16)(const unsigned char *src_ptr, int src_st
ride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
262 | |
263 unsigned int vp8_sad16x8_c(const unsigned char *src_ptr, int src_stride, const u
nsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
264 unsigned int vp8_sad16x8_neon(const unsigned char *src_ptr, int src_stride, cons
t unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
265 RTCD_EXTERN unsigned int (*vp8_sad16x8)(const unsigned char *src_ptr, int src_st
ride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
266 | |
267 unsigned int vp8_sad16x16_c(const unsigned char *src_ptr, int src_stride, const
unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
268 unsigned int vp8_sad16x16_armv6(const unsigned char *src_ptr, int src_stride, co
nst unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
269 unsigned int vp8_sad16x16_neon(const unsigned char *src_ptr, int src_stride, con
st unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
270 RTCD_EXTERN unsigned int (*vp8_sad16x16)(const unsigned char *src_ptr, int src_s
tride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); | |
271 | |
272 void vp8_sad4x4x3_c(const unsigned char *src_ptr, int src_stride, const unsigned
char *ref_ptr, int ref_stride, unsigned int *sad_array); | |
273 #define vp8_sad4x4x3 vp8_sad4x4x3_c | |
274 | |
275 void vp8_sad8x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigned
char *ref_ptr, int ref_stride, unsigned int *sad_array); | |
276 #define vp8_sad8x8x3 vp8_sad8x8x3_c | |
277 | |
278 void vp8_sad8x16x3_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char *ref_ptr, int ref_stride, unsigned int *sad_array); | |
279 #define vp8_sad8x16x3 vp8_sad8x16x3_c | |
280 | |
281 void vp8_sad16x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char *ref_ptr, int ref_stride, unsigned int *sad_array); | |
282 #define vp8_sad16x8x3 vp8_sad16x8x3_c | |
283 | |
284 void vp8_sad16x16x3_c(const unsigned char *src_ptr, int src_stride, const unsign
ed char *ref_ptr, int ref_stride, unsigned int *sad_array); | |
285 #define vp8_sad16x16x3 vp8_sad16x16x3_c | |
286 | |
287 void vp8_sad4x4x8_c(const unsigned char *src_ptr, int src_stride, const unsigned
char *ref_ptr, int ref_stride, unsigned short *sad_array); | |
288 #define vp8_sad4x4x8 vp8_sad4x4x8_c | |
289 | |
290 void vp8_sad8x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned
char *ref_ptr, int ref_stride, unsigned short *sad_array); | |
291 #define vp8_sad8x8x8 vp8_sad8x8x8_c | |
292 | |
293 void vp8_sad8x16x8_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char *ref_ptr, int ref_stride, unsigned short *sad_array); | |
294 #define vp8_sad8x16x8 vp8_sad8x16x8_c | |
295 | |
296 void vp8_sad16x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char *ref_ptr, int ref_stride, unsigned short *sad_array); | |
297 #define vp8_sad16x8x8 vp8_sad16x8x8_c | |
298 | |
299 void vp8_sad16x16x8_c(const unsigned char *src_ptr, int src_stride, const unsign
ed char *ref_ptr, int ref_stride, unsigned short *sad_array); | |
300 #define vp8_sad16x16x8 vp8_sad16x16x8_c | |
301 | |
302 void vp8_sad4x4x4d_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char * const ref_ptr[], int ref_stride, unsigned int *sad_array); | |
303 #define vp8_sad4x4x4d vp8_sad4x4x4d_c | |
304 | |
305 void vp8_sad8x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsigne
d char * const ref_ptr[], int ref_stride, unsigned int *sad_array); | |
306 #define vp8_sad8x8x4d vp8_sad8x8x4d_c | |
307 | |
308 void vp8_sad8x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsign
ed char * const ref_ptr[], int ref_stride, unsigned int *sad_array); | |
309 #define vp8_sad8x16x4d vp8_sad8x16x4d_c | |
310 | |
311 void vp8_sad16x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsign
ed char * const ref_ptr[], int ref_stride, unsigned int *sad_array); | |
312 #define vp8_sad16x8x4d vp8_sad16x8x4d_c | |
313 | |
314 void vp8_sad16x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsig
ned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); | |
315 #define vp8_sad16x16x4d vp8_sad16x16x4d_c | |
316 | |
317 unsigned int vp8_get_mb_ss_c(const short *); | |
318 #define vp8_get_mb_ss vp8_get_mb_ss_c | |
319 | |
320 unsigned int vp8_sub_pixel_mse16x16_c(const unsigned char *src_ptr, int source
_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride
, unsigned int *sse); | |
321 #define vp8_sub_pixel_mse16x16 vp8_sub_pixel_mse16x16_c | |
322 | |
323 unsigned int vp8_mse16x16_c(const unsigned char *src_ptr, int source_stride, con
st unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
324 unsigned int vp8_mse16x16_armv6(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
325 unsigned int vp8_mse16x16_neon(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
326 RTCD_EXTERN unsigned int (*vp8_mse16x16)(const unsigned char *src_ptr, int sourc
e_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); | |
327 | |
328 unsigned int vp8_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride); | |
329 unsigned int vp8_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride); | |
330 RTCD_EXTERN unsigned int (*vp8_get4x4sse_cs)(const unsigned char *src_ptr, int s
ource_stride, const unsigned char *ref_ptr, int ref_stride); | |
331 | |
332 void vp8_short_fdct4x4_c(short *input, short *output, int pitch); | |
333 void vp8_short_fdct4x4_armv6(short *input, short *output, int pitch); | |
334 void vp8_short_fdct4x4_neon(short *input, short *output, int pitch); | |
335 RTCD_EXTERN void (*vp8_short_fdct4x4)(short *input, short *output, int pitch); | |
336 | |
337 void vp8_short_fdct8x4_c(short *input, short *output, int pitch); | |
338 void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch); | |
339 void vp8_short_fdct8x4_neon(short *input, short *output, int pitch); | |
340 RTCD_EXTERN void (*vp8_short_fdct8x4)(short *input, short *output, int pitch); | |
341 | |
342 void vp8_short_walsh4x4_c(short *input, short *output, int pitch); | |
343 void vp8_short_walsh4x4_armv6(short *input, short *output, int pitch); | |
344 void vp8_short_walsh4x4_neon(short *input, short *output, int pitch); | |
345 RTCD_EXTERN void (*vp8_short_walsh4x4)(short *input, short *output, int pitch); | |
346 | |
347 void vp8_regular_quantize_b_c(struct block *, struct blockd *); | |
348 #define vp8_regular_quantize_b vp8_regular_quantize_b_c | |
349 | |
350 void vp8_fast_quantize_b_c(struct block *, struct blockd *); | |
351 void vp8_fast_quantize_b_armv6(struct block *, struct blockd *); | |
352 void vp8_fast_quantize_b_neon(struct block *, struct blockd *); | |
353 RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block *, struct blockd *); | |
354 | |
355 void vp8_regular_quantize_b_pair_c(struct block *b1, struct block *b2, struct bl
ockd *d1, struct blockd *d2); | |
356 #define vp8_regular_quantize_b_pair vp8_regular_quantize_b_pair_c | |
357 | |
358 void vp8_fast_quantize_b_pair_c(struct block *b1, struct block *b2, struct block
d *d1, struct blockd *d2); | |
359 void vp8_fast_quantize_b_pair_neon(struct block *b1, struct block *b2, struct bl
ockd *d1, struct blockd *d2); | |
360 RTCD_EXTERN void (*vp8_fast_quantize_b_pair)(struct block *b1, struct block *b2,
struct blockd *d1, struct blockd *d2); | |
361 | |
362 void vp8_quantize_mb_c(struct macroblock *); | |
363 void vp8_quantize_mb_neon(struct macroblock *); | |
364 RTCD_EXTERN void (*vp8_quantize_mb)(struct macroblock *); | |
365 | |
366 void vp8_quantize_mby_c(struct macroblock *); | |
367 void vp8_quantize_mby_neon(struct macroblock *); | |
368 RTCD_EXTERN void (*vp8_quantize_mby)(struct macroblock *); | |
369 | |
370 void vp8_quantize_mbuv_c(struct macroblock *); | |
371 void vp8_quantize_mbuv_neon(struct macroblock *); | |
372 RTCD_EXTERN void (*vp8_quantize_mbuv)(struct macroblock *); | |
373 | |
374 int vp8_block_error_c(short *coeff, short *dqcoeff); | |
375 #define vp8_block_error vp8_block_error_c | |
376 | |
377 int vp8_mbblock_error_c(struct macroblock *mb, int dc); | |
378 #define vp8_mbblock_error vp8_mbblock_error_c | |
379 | |
380 int vp8_mbuverror_c(struct macroblock *mb); | |
381 #define vp8_mbuverror vp8_mbuverror_c | |
382 | |
383 void vp8_subtract_b_c(struct block *be, struct blockd *bd, int pitch); | |
384 void vp8_subtract_b_armv6(struct block *be, struct blockd *bd, int pitch); | |
385 void vp8_subtract_b_neon(struct block *be, struct blockd *bd, int pitch); | |
386 RTCD_EXTERN void (*vp8_subtract_b)(struct block *be, struct blockd *bd, int pitc
h); | |
387 | |
388 void vp8_subtract_mby_c(short *diff, unsigned char *src, int src_stride, unsigne
d char *pred, int pred_stride); | |
389 void vp8_subtract_mby_armv6(short *diff, unsigned char *src, int src_stride, uns
igned char *pred, int pred_stride); | |
390 void vp8_subtract_mby_neon(short *diff, unsigned char *src, int src_stride, unsi
gned char *pred, int pred_stride); | |
391 RTCD_EXTERN void (*vp8_subtract_mby)(short *diff, unsigned char *src, int src_st
ride, unsigned char *pred, int pred_stride); | |
392 | |
393 void vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc,
int src_stride, unsigned char *upred, unsigned char *vpred, int pred_stride); | |
394 void vp8_subtract_mbuv_armv6(short *diff, unsigned char *usrc, unsigned char *vs
rc, int src_stride, unsigned char *upred, unsigned char *vpred, int pred_stride)
; | |
395 void vp8_subtract_mbuv_neon(short *diff, unsigned char *usrc, unsigned char *vsr
c, int src_stride, unsigned char *upred, unsigned char *vpred, int pred_stride); | |
396 RTCD_EXTERN void (*vp8_subtract_mbuv)(short *diff, unsigned char *usrc, unsigned
char *vsrc, int src_stride, unsigned char *upred, unsigned char *vpred, int pre
d_stride); | |
397 | |
398 int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *
d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *
fn_ptr, int *mvcost[2], union int_mv *center_mv); | |
399 #define vp8_full_search_sad vp8_full_search_sad_c | |
400 | |
401 int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct bloc
kd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtab
le *fn_ptr, int *mvcost[2], union int_mv *center_mv); | |
402 #define vp8_refining_search_sad vp8_refining_search_sad_c | |
403 | |
404 int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct block
d *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per
_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *
center_mv); | |
405 #define vp8_diamond_search_sad vp8_diamond_search_sad_c | |
406 | |
407 void vp8_yv12_copy_partial_frame_c(struct yv12_buffer_config *src_ybc, struct yv
12_buffer_config *dst_ybc); | |
408 void vp8_yv12_copy_partial_frame_neon(struct yv12_buffer_config *src_ybc, struct
yv12_buffer_config *dst_ybc); | |
409 RTCD_EXTERN void (*vp8_yv12_copy_partial_frame)(struct yv12_buffer_config *src_y
bc, struct yv12_buffer_config *dst_ybc); | |
410 | |
411 int vp8_denoiser_filter_c(struct yv12_buffer_config* mc_running_avg, struct yv12
_buffer_config* running_avg, struct macroblock* signal, unsigned int motion_magn
itude2, int y_offset, int uv_offset); | |
412 #define vp8_denoiser_filter vp8_denoiser_filter_c | |
413 | |
414 void vp8_horizontal_line_4_5_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
415 #define vp8_horizontal_line_4_5_scale vp8_horizontal_line_4_5_scale_c | |
416 | |
417 void vp8_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch,
unsigned int dest_width); | |
418 #define vp8_vertical_band_4_5_scale vp8_vertical_band_4_5_scale_c | |
419 | |
420 void vp8_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_p
itch, unsigned int dest_width); | |
421 #define vp8_last_vertical_band_4_5_scale vp8_last_vertical_band_4_5_scale_c | |
422 | |
423 void vp8_horizontal_line_2_3_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
424 #define vp8_horizontal_line_2_3_scale vp8_horizontal_line_2_3_scale_c | |
425 | |
426 void vp8_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch,
unsigned int dest_width); | |
427 #define vp8_vertical_band_2_3_scale vp8_vertical_band_2_3_scale_c | |
428 | |
429 void vp8_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_p
itch, unsigned int dest_width); | |
430 #define vp8_last_vertical_band_2_3_scale vp8_last_vertical_band_2_3_scale_c | |
431 | |
432 void vp8_horizontal_line_3_5_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
433 #define vp8_horizontal_line_3_5_scale vp8_horizontal_line_3_5_scale_c | |
434 | |
435 void vp8_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch,
unsigned int dest_width); | |
436 #define vp8_vertical_band_3_5_scale vp8_vertical_band_3_5_scale_c | |
437 | |
438 void vp8_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_p
itch, unsigned int dest_width); | |
439 #define vp8_last_vertical_band_3_5_scale vp8_last_vertical_band_3_5_scale_c | |
440 | |
441 void vp8_horizontal_line_3_4_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
442 #define vp8_horizontal_line_3_4_scale vp8_horizontal_line_3_4_scale_c | |
443 | |
444 void vp8_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch,
unsigned int dest_width); | |
445 #define vp8_vertical_band_3_4_scale vp8_vertical_band_3_4_scale_c | |
446 | |
447 void vp8_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_p
itch, unsigned int dest_width); | |
448 #define vp8_last_vertical_band_3_4_scale vp8_last_vertical_band_3_4_scale_c | |
449 | |
450 void vp8_horizontal_line_1_2_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
451 #define vp8_horizontal_line_1_2_scale vp8_horizontal_line_1_2_scale_c | |
452 | |
453 void vp8_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch,
unsigned int dest_width); | |
454 #define vp8_vertical_band_1_2_scale vp8_vertical_band_1_2_scale_c | |
455 | |
456 void vp8_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_p
itch, unsigned int dest_width); | |
457 #define vp8_last_vertical_band_1_2_scale vp8_last_vertical_band_1_2_scale_c | |
458 | |
459 void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
460 #define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c | |
461 | |
462 void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch
, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
463 #define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c | |
464 | |
465 void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
466 #define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c | |
467 | |
468 void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch
, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
469 #define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c | |
470 | |
471 void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int s
ource_width, unsigned char *dest, unsigned int dest_width); | |
472 #define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c | |
473 | |
474 void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch
, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
475 #define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c | |
476 | |
477 void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pit
ch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); | |
478 #define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c | |
479 | |
480 void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); | |
481 void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf); | |
482 RTCD_EXTERN void (*vp8_yv12_extend_frame_borders)(struct yv12_buffer_config *ybf
); | |
483 | |
484 void vp8_yv12_copy_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffe
r_config *dst_ybc); | |
485 void vp8_yv12_copy_frame_neon(struct yv12_buffer_config *src_ybc, struct yv12_bu
ffer_config *dst_ybc); | |
486 RTCD_EXTERN void (*vp8_yv12_copy_frame)(struct yv12_buffer_config *src_ybc, stru
ct yv12_buffer_config *dst_ybc); | |
487 | |
488 void vp8_yv12_copy_y_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_co
nfig *dst_ybc); | |
489 void vp8_yv12_copy_y_neon(struct yv12_buffer_config *src_ybc, struct yv12_buffer
_config *dst_ybc); | |
490 RTCD_EXTERN void (*vp8_yv12_copy_y)(struct yv12_buffer_config *src_ybc, struct y
v12_buffer_config *dst_ybc); | |
491 | |
492 void vpx_rtcd(void); | |
493 #include "vpx_config.h" | |
494 | |
495 #ifdef RTCD_C | |
496 #include "vpx_ports/arm.h" | |
497 static void setup_rtcd_internal(void) | |
498 { | |
499 int flags = arm_cpu_caps(); | |
500 | |
501 (void)flags; | |
502 | |
503 vp8_dequantize_b = vp8_dequantize_b_c; | |
504 if (flags & HAS_MEDIA) vp8_dequantize_b = vp8_dequantize_b_v6; | |
505 if (flags & HAS_NEON) vp8_dequantize_b = vp8_dequantize_b_neon; | |
506 | |
507 vp8_dequant_idct_add = vp8_dequant_idct_add_c; | |
508 if (flags & HAS_MEDIA) vp8_dequant_idct_add = vp8_dequant_idct_add_v6; | |
509 if (flags & HAS_NEON) vp8_dequant_idct_add = vp8_dequant_idct_add_neon; | |
510 | |
511 vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_c; | |
512 if (flags & HAS_MEDIA) vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y
_block_v6; | |
513 if (flags & HAS_NEON) vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_
block_neon; | |
514 | |
515 vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_c; | |
516 if (flags & HAS_MEDIA) vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_
uv_block_v6; | |
517 if (flags & HAS_NEON) vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_u
v_block_neon; | |
518 | |
519 vp8_loop_filter_mbv = vp8_loop_filter_mbv_c; | |
520 if (flags & HAS_MEDIA) vp8_loop_filter_mbv = vp8_loop_filter_mbv_armv6; | |
521 if (flags & HAS_NEON) vp8_loop_filter_mbv = vp8_loop_filter_mbv_neon; | |
522 | |
523 vp8_loop_filter_bv = vp8_loop_filter_bv_c; | |
524 if (flags & HAS_MEDIA) vp8_loop_filter_bv = vp8_loop_filter_bv_armv6; | |
525 if (flags & HAS_NEON) vp8_loop_filter_bv = vp8_loop_filter_bv_neon; | |
526 | |
527 vp8_loop_filter_mbh = vp8_loop_filter_mbh_c; | |
528 if (flags & HAS_MEDIA) vp8_loop_filter_mbh = vp8_loop_filter_mbh_armv6; | |
529 if (flags & HAS_NEON) vp8_loop_filter_mbh = vp8_loop_filter_mbh_neon; | |
530 | |
531 vp8_loop_filter_bh = vp8_loop_filter_bh_c; | |
532 if (flags & HAS_MEDIA) vp8_loop_filter_bh = vp8_loop_filter_bh_armv6; | |
533 if (flags & HAS_NEON) vp8_loop_filter_bh = vp8_loop_filter_bh_neon; | |
534 | |
535 vp8_loop_filter_simple_mbv = vp8_loop_filter_simple_vertical_edge_c; | |
536 if (flags & HAS_MEDIA) vp8_loop_filter_simple_mbv = vp8_loop_filter_simple_v
ertical_edge_armv6; | |
537 if (flags & HAS_NEON) vp8_loop_filter_simple_mbv = vp8_loop_filter_mbvs_neon
; | |
538 | |
539 vp8_loop_filter_simple_mbh = vp8_loop_filter_simple_horizontal_edge_c; | |
540 if (flags & HAS_MEDIA) vp8_loop_filter_simple_mbh = vp8_loop_filter_simple_h
orizontal_edge_armv6; | |
541 if (flags & HAS_NEON) vp8_loop_filter_simple_mbh = vp8_loop_filter_mbhs_neon
; | |
542 | |
543 vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_c; | |
544 if (flags & HAS_MEDIA) vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_armv6
; | |
545 if (flags & HAS_NEON) vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_neon; | |
546 | |
547 vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_c; | |
548 if (flags & HAS_MEDIA) vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_armv6
; | |
549 if (flags & HAS_NEON) vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_neon; | |
550 | |
551 vp8_short_idct4x4llm = vp8_short_idct4x4llm_c; | |
552 if (flags & HAS_MEDIA) vp8_short_idct4x4llm = vp8_short_idct4x4llm_v6_dual; | |
553 if (flags & HAS_NEON) vp8_short_idct4x4llm = vp8_short_idct4x4llm_neon; | |
554 | |
555 | |
556 vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_c; | |
557 if (flags & HAS_MEDIA) vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_v6; | |
558 if (flags & HAS_NEON) vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_neon; | |
559 | |
560 vp8_dc_only_idct_add = vp8_dc_only_idct_add_c; | |
561 if (flags & HAS_MEDIA) vp8_dc_only_idct_add = vp8_dc_only_idct_add_v6; | |
562 if (flags & HAS_NEON) vp8_dc_only_idct_add = vp8_dc_only_idct_add_neon; | |
563 | |
564 vp8_copy_mem16x16 = vp8_copy_mem16x16_c; | |
565 if (flags & HAS_MEDIA) vp8_copy_mem16x16 = vp8_copy_mem16x16_v6; | |
566 if (flags & HAS_NEON) vp8_copy_mem16x16 = vp8_copy_mem16x16_neon; | |
567 | |
568 vp8_copy_mem8x8 = vp8_copy_mem8x8_c; | |
569 if (flags & HAS_MEDIA) vp8_copy_mem8x8 = vp8_copy_mem8x8_v6; | |
570 if (flags & HAS_NEON) vp8_copy_mem8x8 = vp8_copy_mem8x8_neon; | |
571 | |
572 vp8_copy_mem8x4 = vp8_copy_mem8x4_c; | |
573 if (flags & HAS_MEDIA) vp8_copy_mem8x4 = vp8_copy_mem8x4_v6; | |
574 if (flags & HAS_NEON) vp8_copy_mem8x4 = vp8_copy_mem8x4_neon; | |
575 | |
576 | |
577 | |
578 vp8_intra4x4_predict = vp8_intra4x4_predict_c; | |
579 if (flags & HAS_MEDIA) vp8_intra4x4_predict = vp8_intra4x4_predict_armv6; | |
580 | |
581 | |
582 | |
583 | |
584 | |
585 | |
586 | |
587 | |
588 | |
589 | |
590 | |
591 vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_c; | |
592 if (flags & HAS_MEDIA) vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_arm
v6; | |
593 if (flags & HAS_NEON) vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_neon
; | |
594 | |
595 vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_c; | |
596 if (flags & HAS_MEDIA) vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_armv6; | |
597 if (flags & HAS_NEON) vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_neon; | |
598 | |
599 vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_c; | |
600 if (flags & HAS_MEDIA) vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_armv6; | |
601 if (flags & HAS_NEON) vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_neon; | |
602 | |
603 vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_c; | |
604 if (flags & HAS_MEDIA) vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_armv6; | |
605 if (flags & HAS_NEON) vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_neon; | |
606 | |
607 vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_c; | |
608 if (flags & HAS_MEDIA) vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16
_armv6; | |
609 if (flags & HAS_NEON) vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_
neon; | |
610 | |
611 vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_c; | |
612 if (flags & HAS_MEDIA) vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_arm
v6; | |
613 if (flags & HAS_NEON) vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_neon
; | |
614 | |
615 vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_c; | |
616 if (flags & HAS_MEDIA) vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_arm
v6; | |
617 if (flags & HAS_NEON) vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_neon
; | |
618 | |
619 vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_c; | |
620 if (flags & HAS_MEDIA) vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_arm
v6; | |
621 if (flags & HAS_NEON) vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_neon
; | |
622 | |
623 | |
624 vp8_variance8x8 = vp8_variance8x8_c; | |
625 if (flags & HAS_MEDIA) vp8_variance8x8 = vp8_variance8x8_armv6; | |
626 if (flags & HAS_NEON) vp8_variance8x8 = vp8_variance8x8_neon; | |
627 | |
628 vp8_variance8x16 = vp8_variance8x16_c; | |
629 if (flags & HAS_NEON) vp8_variance8x16 = vp8_variance8x16_neon; | |
630 | |
631 vp8_variance16x8 = vp8_variance16x8_c; | |
632 if (flags & HAS_NEON) vp8_variance16x8 = vp8_variance16x8_neon; | |
633 | |
634 vp8_variance16x16 = vp8_variance16x16_c; | |
635 if (flags & HAS_MEDIA) vp8_variance16x16 = vp8_variance16x16_armv6; | |
636 if (flags & HAS_NEON) vp8_variance16x16 = vp8_variance16x16_neon; | |
637 | |
638 | |
639 vp8_sub_pixel_variance8x8 = vp8_sub_pixel_variance8x8_c; | |
640 if (flags & HAS_MEDIA) vp8_sub_pixel_variance8x8 = vp8_sub_pixel_variance8x8
_armv6; | |
641 if (flags & HAS_NEON) vp8_sub_pixel_variance8x8 = vp8_sub_pixel_variance8x8_
neon; | |
642 | |
643 | |
644 | |
645 vp8_sub_pixel_variance16x16 = vp8_sub_pixel_variance16x16_c; | |
646 if (flags & HAS_MEDIA) vp8_sub_pixel_variance16x16 = vp8_sub_pixel_variance1
6x16_armv6; | |
647 if (flags & HAS_NEON) vp8_sub_pixel_variance16x16 = vp8_sub_pixel_variance16
x16_neon; | |
648 | |
649 vp8_variance_halfpixvar16x16_h = vp8_variance_halfpixvar16x16_h_c; | |
650 if (flags & HAS_MEDIA) vp8_variance_halfpixvar16x16_h = vp8_variance_halfpix
var16x16_h_armv6; | |
651 if (flags & HAS_NEON) vp8_variance_halfpixvar16x16_h = vp8_variance_halfpixv
ar16x16_h_neon; | |
652 | |
653 vp8_variance_halfpixvar16x16_v = vp8_variance_halfpixvar16x16_v_c; | |
654 if (flags & HAS_MEDIA) vp8_variance_halfpixvar16x16_v = vp8_variance_halfpix
var16x16_v_armv6; | |
655 if (flags & HAS_NEON) vp8_variance_halfpixvar16x16_v = vp8_variance_halfpixv
ar16x16_v_neon; | |
656 | |
657 vp8_variance_halfpixvar16x16_hv = vp8_variance_halfpixvar16x16_hv_c; | |
658 if (flags & HAS_MEDIA) vp8_variance_halfpixvar16x16_hv = vp8_variance_halfpi
xvar16x16_hv_armv6; | |
659 if (flags & HAS_NEON) vp8_variance_halfpixvar16x16_hv = vp8_variance_halfpix
var16x16_hv_neon; | |
660 | |
661 vp8_sad4x4 = vp8_sad4x4_c; | |
662 if (flags & HAS_NEON) vp8_sad4x4 = vp8_sad4x4_neon; | |
663 | |
664 vp8_sad8x8 = vp8_sad8x8_c; | |
665 if (flags & HAS_NEON) vp8_sad8x8 = vp8_sad8x8_neon; | |
666 | |
667 vp8_sad8x16 = vp8_sad8x16_c; | |
668 if (flags & HAS_NEON) vp8_sad8x16 = vp8_sad8x16_neon; | |
669 | |
670 vp8_sad16x8 = vp8_sad16x8_c; | |
671 if (flags & HAS_NEON) vp8_sad16x8 = vp8_sad16x8_neon; | |
672 | |
673 vp8_sad16x16 = vp8_sad16x16_c; | |
674 if (flags & HAS_MEDIA) vp8_sad16x16 = vp8_sad16x16_armv6; | |
675 if (flags & HAS_NEON) vp8_sad16x16 = vp8_sad16x16_neon; | |
676 | |
677 | |
678 | |
679 | |
680 | |
681 | |
682 | |
683 | |
684 | |
685 | |
686 | |
687 | |
688 | |
689 | |
690 | |
691 | |
692 | |
693 | |
694 vp8_mse16x16 = vp8_mse16x16_c; | |
695 if (flags & HAS_MEDIA) vp8_mse16x16 = vp8_mse16x16_armv6; | |
696 if (flags & HAS_NEON) vp8_mse16x16 = vp8_mse16x16_neon; | |
697 | |
698 vp8_get4x4sse_cs = vp8_get4x4sse_cs_c; | |
699 if (flags & HAS_NEON) vp8_get4x4sse_cs = vp8_get4x4sse_cs_neon; | |
700 | |
701 vp8_short_fdct4x4 = vp8_short_fdct4x4_c; | |
702 if (flags & HAS_MEDIA) vp8_short_fdct4x4 = vp8_short_fdct4x4_armv6; | |
703 if (flags & HAS_NEON) vp8_short_fdct4x4 = vp8_short_fdct4x4_neon; | |
704 | |
705 vp8_short_fdct8x4 = vp8_short_fdct8x4_c; | |
706 if (flags & HAS_MEDIA) vp8_short_fdct8x4 = vp8_short_fdct8x4_armv6; | |
707 if (flags & HAS_NEON) vp8_short_fdct8x4 = vp8_short_fdct8x4_neon; | |
708 | |
709 vp8_short_walsh4x4 = vp8_short_walsh4x4_c; | |
710 if (flags & HAS_MEDIA) vp8_short_walsh4x4 = vp8_short_walsh4x4_armv6; | |
711 if (flags & HAS_NEON) vp8_short_walsh4x4 = vp8_short_walsh4x4_neon; | |
712 | |
713 | |
714 vp8_fast_quantize_b = vp8_fast_quantize_b_c; | |
715 if (flags & HAS_MEDIA) vp8_fast_quantize_b = vp8_fast_quantize_b_armv6; | |
716 if (flags & HAS_NEON) vp8_fast_quantize_b = vp8_fast_quantize_b_neon; | |
717 | |
718 | |
719 vp8_fast_quantize_b_pair = vp8_fast_quantize_b_pair_c; | |
720 if (flags & HAS_NEON) vp8_fast_quantize_b_pair = vp8_fast_quantize_b_pair_ne
on; | |
721 | |
722 vp8_quantize_mb = vp8_quantize_mb_c; | |
723 if (flags & HAS_NEON) vp8_quantize_mb = vp8_quantize_mb_neon; | |
724 | |
725 vp8_quantize_mby = vp8_quantize_mby_c; | |
726 if (flags & HAS_NEON) vp8_quantize_mby = vp8_quantize_mby_neon; | |
727 | |
728 vp8_quantize_mbuv = vp8_quantize_mbuv_c; | |
729 if (flags & HAS_NEON) vp8_quantize_mbuv = vp8_quantize_mbuv_neon; | |
730 | |
731 | |
732 | |
733 | |
734 vp8_subtract_b = vp8_subtract_b_c; | |
735 if (flags & HAS_MEDIA) vp8_subtract_b = vp8_subtract_b_armv6; | |
736 if (flags & HAS_NEON) vp8_subtract_b = vp8_subtract_b_neon; | |
737 | |
738 vp8_subtract_mby = vp8_subtract_mby_c; | |
739 if (flags & HAS_MEDIA) vp8_subtract_mby = vp8_subtract_mby_armv6; | |
740 if (flags & HAS_NEON) vp8_subtract_mby = vp8_subtract_mby_neon; | |
741 | |
742 vp8_subtract_mbuv = vp8_subtract_mbuv_c; | |
743 if (flags & HAS_MEDIA) vp8_subtract_mbuv = vp8_subtract_mbuv_armv6; | |
744 if (flags & HAS_NEON) vp8_subtract_mbuv = vp8_subtract_mbuv_neon; | |
745 | |
746 | |
747 | |
748 | |
749 vp8_yv12_copy_partial_frame = vp8_yv12_copy_partial_frame_c; | |
750 if (flags & HAS_NEON) vp8_yv12_copy_partial_frame = vp8_yv12_copy_partial_fr
ame_neon; | |
751 | |
752 | |
753 | |
754 | |
755 | |
756 | |
757 | |
758 | |
759 | |
760 | |
761 | |
762 | |
763 | |
764 | |
765 | |
766 | |
767 | |
768 | |
769 | |
770 | |
771 | |
772 | |
773 | |
774 | |
775 vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_borders_c; | |
776 if (flags & HAS_NEON) vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_
borders_neon; | |
777 | |
778 vp8_yv12_copy_frame = vp8_yv12_copy_frame_c; | |
779 if (flags & HAS_NEON) vp8_yv12_copy_frame = vp8_yv12_copy_frame_neon; | |
780 | |
781 vp8_yv12_copy_y = vp8_yv12_copy_y_c; | |
782 if (flags & HAS_NEON) vp8_yv12_copy_y = vp8_yv12_copy_y_neon; | |
783 } | |
784 #endif | |
785 #endif | |
OLD | NEW |