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

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

Issue 11555023: libvpx: Add VP9 decoder. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(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 RTCD_EXTERN void (*vp9_dequantize_b)(struct blockd *x);
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 RTCD_EXTERN void (*vp9_dequant_dc_idct_add_y_block)(short *q, const short *dq, u nsigned char *pre, unsigned char *dst, int stride, unsigned short *eobs, const s hort *dc);
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 RTCD_EXTERN void (*vp9_dequant_idct_add_y_block)(short *q, const short *dq, unsi gned char *pre, unsigned char *dst, int stride, unsigned short *eobs);
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 RTCD_EXTERN void (*vp9_dequant_idct_add_uv_block)(short *q, const short *dq, uns igned char *pre, unsigned char *dstu, unsigned char *dstv, int stride, unsigned short *eobs);
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 RTCD_EXTERN void (*vp9_copy_mem16x16)(unsigned char *src, int src_pitch, unsigne d char *dst, int dst_pitch);
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 RTCD_EXTERN void (*vp9_copy_mem8x8)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
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 RTCD_EXTERN void (*vp9_copy_mem8x4)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
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 RTCD_EXTERN void (*vp9_copy_mem8x4)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
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 RTCD_EXTERN void (*vp9_recon2b)(unsigned char *pred_ptr, short *diff_ptr, unsign ed char *dst_ptr, int stride);
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 RTCD_EXTERN void (*vp9_recon4b)(unsigned char *pred_ptr, short *diff_ptr, unsign ed char *dst_ptr, int stride);
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 RTCD_EXTERN void (*vp9_loop_filter_mbv)(unsigned char *y, unsigned char *u, unsi gned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_bv)(unsigned char *y, unsigned char *u, unsig ned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_bv8x8)(unsigned char *y, unsigned char *u, un signed char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_mbh)(unsigned char *y, unsigned char *u, unsi gned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_bh)(unsigned char *y, unsigned char *u, unsig ned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_bh8x8)(unsigned char *y, unsigned char *u, un signed char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
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 RTCD_EXTERN void (*vp9_loop_filter_simple_mbv)(unsigned char *y, int ystride, co nst unsigned char *blimit);
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 RTCD_EXTERN void (*vp9_loop_filter_simple_mbh)(unsigned char *y, int ystride, co nst unsigned char *blimit);
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 RTCD_EXTERN void (*vp9_loop_filter_simple_bv)(unsigned char *y, int ystride, con st unsigned char *blimit);
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 RTCD_EXTERN void (*vp9_loop_filter_simple_bh)(unsigned char *y, int ystride, con st unsigned char *blimit);
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 RTCD_EXTERN void (*vp9_mbpost_proc_down)(unsigned char *dst, int pitch, int rows , int cols, int flimit);
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 RTCD_EXTERN void (*vp9_mbpost_proc_across_ip)(unsigned char *src, int pitch, int rows, int cols, int flimit);
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 RTCD_EXTERN void (*vp9_post_proc_down_and_across)(unsigned char *src_ptr, unsign ed char *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, in t cols, int flimit);
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 RTCD_EXTERN void (*vp9_plane_add_noise)(unsigned char *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, uns igned int Height, int Pitch);
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 RTCD_EXTERN unsigned int (*vp9_sad16x3)(const unsigned char *src_ptr, int src_s tride, const unsigned char *ref_ptr, int ref_stride);
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 RTCD_EXTERN unsigned int (*vp9_sad3x16)(const unsigned char *src_ptr, int src_s tride, const unsigned char *ref_ptr, int ref_stride);
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 RTCD_EXTERN void (*vp9_bilinear_predict16x16)(unsigned char *src_ptr, int src_p ixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pit ch);
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 RTCD_EXTERN void (*vp9_bilinear_predict8x8)(unsigned char *src_ptr, int src_pix els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch );
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 RTCD_EXTERN void (*vp9_bilinear_predict8x4)(unsigned char *src_ptr, int src_pix els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch );
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 RTCD_EXTERN void (*vp9_bilinear_predict4x4)(unsigned char *src_ptr, int src_pix els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch );
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 RTCD_EXTERN void (*vp9_short_idct4x4llm_1)(short *input, short *output, int pitc h);
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 RTCD_EXTERN void (*vp9_short_idct4x4llm)(short *input, short *output, int pitch) ;
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_c;
398 if (flags & HAS_SSE2) vp9_filter_block2d_4x4_8 = vp9_filter_block2d_4x4_8_ss e2;
399 if (flags & HAS_SSE4_1) vp9_filter_block2d_4x4_8 = vp9_filter_block2d_4x4_8_ sse4_1;
400
401 vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_c;
402 if (flags & HAS_SSSE3) vp9_filter_block2d_8x4_8 = vp9_filter_block2d_8x4_8_s sse3;
403
404 vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_c;
405 if (flags & HAS_SSSE3) vp9_filter_block2d_8x8_8 = vp9_filter_block2d_8x8_8_s sse3;
406
407 vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16_8_c;
408 if (flags & HAS_SSSE3) vp9_filter_block2d_16x16_8 = vp9_filter_block2d_16x16 _8_ssse3;
409
410 vp9_dequantize_b = vp9_dequantize_b_c;
411 if (flags & HAS_MMX) vp9_dequantize_b = vp9_dequantize_b_mmx;
412
413
414
415
416
417
418
419
420
421 vp9_dequant_dc_idct_add_y_block = vp9_dequant_dc_idct_add_y_block_c;
422 if (flags & HAS_MMX) vp9_dequant_dc_idct_add_y_block = vp9_dequant_dc_idct_a dd_y_block_mmx;
423
424 vp9_dequant_idct_add_y_block = vp9_dequant_idct_add_y_block_c;
425 if (flags & HAS_MMX) vp9_dequant_idct_add_y_block = vp9_dequant_idct_add_y_b lock_mmx;
426
427 vp9_dequant_idct_add_uv_block = vp9_dequant_idct_add_uv_block_c;
428 if (flags & HAS_MMX) vp9_dequant_idct_add_uv_block = vp9_dequant_idct_add_uv _block_mmx;
429
430 vp9_copy_mem16x16 = vp9_copy_mem16x16_c;
431 if (flags & HAS_MMX) vp9_copy_mem16x16 = vp9_copy_mem16x16_mmx;
432 if (flags & HAS_SSE2) vp9_copy_mem16x16 = vp9_copy_mem16x16_sse2;
433
434 vp9_copy_mem8x8 = vp9_copy_mem8x8_c;
435 if (flags & HAS_MMX) vp9_copy_mem8x8 = vp9_copy_mem8x8_mmx;
436
437 vp9_copy_mem8x4 = vp9_copy_mem8x4_c;
438 if (flags & HAS_MMX) vp9_copy_mem8x4 = vp9_copy_mem8x4_mmx;
439
440
441
442 vp9_copy_mem8x4 = vp9_copy_mem8x4_c;
443 if (flags & HAS_MMX) vp9_copy_mem8x4 = vp9_copy_mem8x4_mmx;
444
445
446
447 vp9_recon2b = vp9_recon2b_c;
448 if (flags & HAS_SSE2) vp9_recon2b = vp9_recon2b_sse2;
449
450 vp9_recon4b = vp9_recon4b_c;
451 if (flags & HAS_SSE2) vp9_recon4b = vp9_recon4b_sse2;
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472 vp9_loop_filter_mbv = vp9_loop_filter_mbv_c;
473 if (flags & HAS_SSE2) vp9_loop_filter_mbv = vp9_loop_filter_mbv_sse2;
474
475 vp9_loop_filter_bv = vp9_loop_filter_bv_c;
476 if (flags & HAS_SSE2) vp9_loop_filter_bv = vp9_loop_filter_bv_sse2;
477
478 vp9_loop_filter_bv8x8 = vp9_loop_filter_bv8x8_c;
479 if (flags & HAS_SSE2) vp9_loop_filter_bv8x8 = vp9_loop_filter_bv8x8_sse2;
480
481 vp9_loop_filter_mbh = vp9_loop_filter_mbh_c;
482 if (flags & HAS_SSE2) vp9_loop_filter_mbh = vp9_loop_filter_mbh_sse2;
483
484 vp9_loop_filter_bh = vp9_loop_filter_bh_c;
485 if (flags & HAS_SSE2) vp9_loop_filter_bh = vp9_loop_filter_bh_sse2;
486
487 vp9_loop_filter_bh8x8 = vp9_loop_filter_bh8x8_c;
488 if (flags & HAS_SSE2) vp9_loop_filter_bh8x8 = vp9_loop_filter_bh8x8_sse2;
489
490 vp9_loop_filter_simple_mbv = vp9_loop_filter_simple_vertical_edge_c;
491 if (flags & HAS_MMX) vp9_loop_filter_simple_mbv = vp9_loop_filter_simple_ver tical_edge_mmx;
492 if (flags & HAS_SSE2) vp9_loop_filter_simple_mbv = vp9_loop_filter_simple_ve rtical_edge_sse2;
493
494 vp9_loop_filter_simple_mbh = vp9_loop_filter_simple_horizontal_edge_c;
495 if (flags & HAS_MMX) vp9_loop_filter_simple_mbh = vp9_loop_filter_simple_hor izontal_edge_mmx;
496 if (flags & HAS_SSE2) vp9_loop_filter_simple_mbh = vp9_loop_filter_simple_ho rizontal_edge_sse2;
497
498 vp9_loop_filter_simple_bv = vp9_loop_filter_bvs_c;
499 if (flags & HAS_MMX) vp9_loop_filter_simple_bv = vp9_loop_filter_bvs_mmx;
500 if (flags & HAS_SSE2) vp9_loop_filter_simple_bv = vp9_loop_filter_bvs_sse2;
501
502 vp9_loop_filter_simple_bh = vp9_loop_filter_bhs_c;
503 if (flags & HAS_MMX) vp9_loop_filter_simple_bh = vp9_loop_filter_bhs_mmx;
504 if (flags & HAS_SSE2) vp9_loop_filter_simple_bh = vp9_loop_filter_bhs_sse2;
505
506 vp9_mbpost_proc_down = vp9_mbpost_proc_down_c;
507 if (flags & HAS_MMX) vp9_mbpost_proc_down = vp9_mbpost_proc_down_mmx;
508 if (flags & HAS_SSE2) vp9_mbpost_proc_down = vp9_mbpost_proc_down_xmm;
509
510 vp9_mbpost_proc_across_ip = vp9_mbpost_proc_across_ip_c;
511 if (flags & HAS_SSE2) vp9_mbpost_proc_across_ip = vp9_mbpost_proc_across_ip_ xmm;
512
513 vp9_post_proc_down_and_across = vp9_post_proc_down_and_across_c;
514 if (flags & HAS_MMX) vp9_post_proc_down_and_across = vp9_post_proc_down_and_ across_mmx;
515 if (flags & HAS_SSE2) vp9_post_proc_down_and_across = vp9_post_proc_down_and _across_xmm;
516
517 vp9_plane_add_noise = vp9_plane_add_noise_c;
518 if (flags & HAS_MMX) vp9_plane_add_noise = vp9_plane_add_noise_mmx;
519 if (flags & HAS_SSE2) vp9_plane_add_noise = vp9_plane_add_noise_wmt;
520
521
522
523
524 vp9_sad16x3 = vp9_sad16x3_c;
525 if (flags & HAS_SSE2) vp9_sad16x3 = vp9_sad16x3_sse2;
526
527 vp9_sad3x16 = vp9_sad3x16_c;
528 if (flags & HAS_SSE2) vp9_sad3x16 = vp9_sad3x16_sse2;
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551 vp9_bilinear_predict16x16 = vp9_bilinear_predict16x16_c;
552 if (flags & HAS_MMX) vp9_bilinear_predict16x16 = vp9_bilinear_predict16x16_m mx;
553 if (flags & HAS_SSE2) vp9_bilinear_predict16x16 = vp9_bilinear_predict16x16_ sse2;
554
555 vp9_bilinear_predict8x8 = vp9_bilinear_predict8x8_c;
556 if (flags & HAS_MMX) vp9_bilinear_predict8x8 = vp9_bilinear_predict8x8_mmx;
557 if (flags & HAS_SSE2) vp9_bilinear_predict8x8 = vp9_bilinear_predict8x8_sse2 ;
558
559
560
561 vp9_bilinear_predict8x4 = vp9_bilinear_predict8x4_c;
562 if (flags & HAS_MMX) vp9_bilinear_predict8x4 = vp9_bilinear_predict8x4_mmx;
563
564 vp9_bilinear_predict4x4 = vp9_bilinear_predict4x4_c;
565 if (flags & HAS_MMX) vp9_bilinear_predict4x4 = vp9_bilinear_predict4x4_mmx;
566
567
568 vp9_short_idct4x4llm_1 = vp9_short_idct4x4llm_1_c;
569 if (flags & HAS_MMX) vp9_short_idct4x4llm_1 = vp9_short_idct4x4llm_1_mmx;
570
571 vp9_short_idct4x4llm = vp9_short_idct4x4llm_c;
572 if (flags & HAS_MMX) vp9_short_idct4x4llm = vp9_short_idct4x4llm_mmx;
573 }
574 #endif
575 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698