OLD | NEW |
(Empty) | |
| 1 vp9_common_forward_decls() { |
| 2 cat <<EOF |
| 3 /* |
| 4 * VP9 |
| 5 */ |
| 6 |
| 7 struct loop_filter_info; |
| 8 struct blockd; |
| 9 struct macroblockd; |
| 10 struct loop_filter_info; |
| 11 |
| 12 /* Encoder forward decls */ |
| 13 struct block; |
| 14 struct macroblock; |
| 15 struct variance_vtable; |
| 16 |
| 17 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2] |
| 18 union int_mv; |
| 19 struct yv12_buffer_config; |
| 20 EOF |
| 21 } |
| 22 forward_decls vp9_common_forward_decls |
| 23 |
| 24 prototype void vp9_filter_block2d_4x4_8 "const unsigned char *src_ptr, const uns
igned int src_stride, const short *HFilter_aligned16, const short *VFilter_align
ed16, unsigned char *dst_ptr, unsigned int dst_stride" |
| 25 prototype void vp9_filter_block2d_8x4_8 "const unsigned char *src_ptr, const uns
igned int src_stride, const short *HFilter_aligned16, const short *VFilter_align
ed16, unsigned char *dst_ptr, unsigned int dst_stride" |
| 26 prototype void vp9_filter_block2d_8x8_8 "const unsigned char *src_ptr, const uns
igned int src_stride, const short *HFilter_aligned16, const short *VFilter_align
ed16, unsigned char *dst_ptr, unsigned int dst_stride" |
| 27 prototype void vp9_filter_block2d_16x16_8 "const unsigned char *src_ptr, const u
nsigned int src_stride, const short *HFilter_aligned16, const short *VFilter_ali
gned16, unsigned char *dst_ptr, unsigned int dst_stride" |
| 28 |
| 29 # At the very least, MSVC 2008 has compiler bug exhibited by this code; code |
| 30 # compiles warning free but a dissassembly of generated code show bugs. To be |
| 31 # on the safe side, only enabled when compiled with 'gcc'. |
| 32 if [ "$CONFIG_GCC" = "yes" ]; then |
| 33 specialize vp9_filter_block2d_4x4_8 sse4_1 sse2 |
| 34 fi |
| 35 specialize vp9_filter_block2d_8x4_8 ssse3 #sse4_1 sse2 |
| 36 specialize vp9_filter_block2d_8x8_8 ssse3 #sse4_1 sse2 |
| 37 specialize vp9_filter_block2d_16x16_8 ssse3 #sse4_1 sse2 |
| 38 |
| 39 # |
| 40 # Dequant |
| 41 # |
| 42 prototype void vp9_dequantize_b "struct blockd *x" |
| 43 specialize vp9_dequantize_b mmx |
| 44 |
| 45 prototype void vp9_dequantize_b_2x2 "struct blockd *x" |
| 46 specialize vp9_dequantize_b_2x2 |
| 47 |
| 48 prototype void vp9_dequant_dc_idct_add_y_block_8x8 "short *q, const short *dq, u
nsigned char *pre, unsigned char *dst, int stride, unsigned short *eobs, const s
hort *dc, struct macroblockd *xd" |
| 49 specialize vp9_dequant_dc_idct_add_y_block_8x8 |
| 50 |
| 51 prototype void vp9_dequant_idct_add_y_block_8x8 "short *q, const short *dq, unsi
gned char *pre, unsigned char *dst, int stride, unsigned short *eobs, struct mac
roblockd *xd" |
| 52 specialize vp9_dequant_idct_add_y_block_8x8 |
| 53 |
| 54 prototype void vp9_dequant_idct_add_uv_block_8x8 "short *q, const short *dq, uns
igned char *pre, unsigned char *dstu, unsigned char *dstv, int stride, unsigned
short *eobs, struct macroblockd *xd" |
| 55 specialize vp9_dequant_idct_add_uv_block_8x8 |
| 56 |
| 57 prototype void vp9_dequant_idct_add_16x16 "short *input, const short *dq, unsign
ed char *pred, unsigned char *dest, int pitch, int stride, unsigned short eobs" |
| 58 specialize vp9_dequant_idct_add_16x16 |
| 59 |
| 60 prototype void vp9_dequant_idct_add_8x8 "short *input, const short *dq, unsigned
char *pred, unsigned char *dest, int pitch, int stride, int dc, unsigned short
eobs" |
| 61 specialize vp9_dequant_idct_add_8x8 |
| 62 |
| 63 prototype void vp9_dequant_idct_add "short *input, const short *dq, unsigned cha
r *pred, unsigned char *dest, int pitch, int stride" |
| 64 specialize vp9_dequant_idct_add |
| 65 |
| 66 prototype void vp9_dequant_dc_idct_add "short *input, const short *dq, unsigned
char *pred, unsigned char *dest, int pitch, int stride, int Dc" |
| 67 specialize vp9_dequant_dc_idct_add |
| 68 |
| 69 prototype void vp9_dequant_dc_idct_add_y_block "short *q, const short *dq, unsig
ned char *pre, unsigned char *dst, int stride, unsigned short *eobs, const short
*dc" |
| 70 specialize vp9_dequant_dc_idct_add_y_block mmx |
| 71 |
| 72 prototype void vp9_dequant_idct_add_y_block "short *q, const short *dq, unsigned
char *pre, unsigned char *dst, int stride, unsigned short *eobs" |
| 73 specialize vp9_dequant_idct_add_y_block mmx |
| 74 |
| 75 prototype void vp9_dequant_idct_add_uv_block "short *q, const short *dq, unsigne
d char *pre, unsigned char *dstu, unsigned char *dstv, int stride, unsigned shor
t *eobs" |
| 76 specialize vp9_dequant_idct_add_uv_block mmx |
| 77 |
| 78 # |
| 79 # RECON |
| 80 # |
| 81 prototype void vp9_copy_mem16x16 "unsigned char *src, int src_pitch, unsigned ch
ar *dst, int dst_pitch" |
| 82 specialize vp9_copy_mem16x16 mmx sse2 dspr2 |
| 83 vp9_copy_mem16x16_dspr2=vp9_copy_mem16x16_dspr2 |
| 84 |
| 85 prototype void vp9_copy_mem8x8 "unsigned char *src, int src_pitch, unsigned char
*dst, int dst_pitch" |
| 86 specialize vp9_copy_mem8x8 mmx dspr2 |
| 87 vp9_copy_mem8x8_dspr2=vp9_copy_mem8x8_dspr2 |
| 88 |
| 89 prototype void vp9_copy_mem8x4 "unsigned char *src, int src_pitch, unsigned char
*dst, int dst_pitch" |
| 90 specialize vp9_copy_mem8x4 mmx |
| 91 |
| 92 prototype void vp9_avg_mem16x16 "unsigned char *src, int src_pitch, unsigned cha
r *dst, int dst_pitch" |
| 93 specialize vp9_avg_mem16x16 |
| 94 |
| 95 prototype void vp9_avg_mem8x8 "unsigned char *src, int src_pitch, unsigned char
*dst, int dst_pitch" |
| 96 specialize vp9_avg_mem8x8 |
| 97 |
| 98 prototype void vp9_copy_mem8x4 "unsigned char *src, int src_pitch, unsigned char
*dst, int dst_pitch" |
| 99 specialize vp9_copy_mem8x4 mmx dspr2 |
| 100 vp9_copy_mem8x4_dspr2=vp9_copy_mem8x4_dspr2 |
| 101 |
| 102 prototype void vp9_recon_b "unsigned char *pred_ptr, short *diff_ptr, unsigned c
har *dst_ptr, int stride" |
| 103 specialize vp9_recon_b |
| 104 |
| 105 prototype void vp9_recon_uv_b "unsigned char *pred_ptr, short *diff_ptr, unsigne
d char *dst_ptr, int stride" |
| 106 specialize vp9_recon_uv_b |
| 107 |
| 108 prototype void vp9_recon2b "unsigned char *pred_ptr, short *diff_ptr, unsigned c
har *dst_ptr, int stride" |
| 109 specialize vp9_recon2b sse2 |
| 110 |
| 111 prototype void vp9_recon4b "unsigned char *pred_ptr, short *diff_ptr, unsigned c
har *dst_ptr, int stride" |
| 112 specialize vp9_recon4b sse2 |
| 113 |
| 114 prototype void vp9_recon_mb "struct macroblockd *x" |
| 115 specialize vp9_recon_mb |
| 116 |
| 117 prototype void vp9_recon_mby "struct macroblockd *x" |
| 118 specialize vp9_recon_mby |
| 119 |
| 120 prototype void vp9_recon_mby_s "struct macroblockd *x, unsigned char *dst" |
| 121 specialize vp9_recon_mby_s |
| 122 |
| 123 prototype void vp9_recon_mbuv_s "struct macroblockd *x, unsigned char *udst, uns
igned char *vdst" |
| 124 specialize void vp9_recon_mbuv_s |
| 125 |
| 126 prototype void vp9_build_intra_predictors_mby_s "struct macroblockd *x" |
| 127 specialize vp9_build_intra_predictors_mby_s |
| 128 |
| 129 prototype void vp9_build_intra_predictors_sby_s "struct macroblockd *x" |
| 130 specialize vp9_build_intra_predictors_sby_s; |
| 131 |
| 132 prototype void vp9_build_intra_predictors_sbuv_s "struct macroblockd *x" |
| 133 specialize vp9_build_intra_predictors_sbuv_s; |
| 134 |
| 135 prototype void vp9_build_intra_predictors_mby "struct macroblockd *x" |
| 136 specialize vp9_build_intra_predictors_mby; |
| 137 |
| 138 prototype void vp9_build_comp_intra_predictors_mby "struct macroblockd *x" |
| 139 specialize vp9_build_comp_intra_predictors_mby; |
| 140 |
| 141 prototype void vp9_build_intra_predictors_mby_s "struct macroblockd *x" |
| 142 specialize vp9_build_intra_predictors_mby_s; |
| 143 |
| 144 prototype void vp9_build_intra_predictors_mbuv "struct macroblockd *x" |
| 145 specialize vp9_build_intra_predictors_mbuv; |
| 146 |
| 147 prototype void vp9_build_intra_predictors_mbuv_s "struct macroblockd *x" |
| 148 specialize vp9_build_intra_predictors_mbuv_s; |
| 149 |
| 150 prototype void vp9_build_comp_intra_predictors_mbuv "struct macroblockd *x" |
| 151 specialize vp9_build_comp_intra_predictors_mbuv; |
| 152 |
| 153 prototype void vp9_intra4x4_predict "struct blockd *x, int b_mode, unsigned char
*predictor" |
| 154 specialize vp9_intra4x4_predict; |
| 155 |
| 156 prototype void vp9_comp_intra4x4_predict "struct blockd *x, int b_mode, int seco
nd_mode, unsigned char *predictor" |
| 157 specialize vp9_comp_intra4x4_predict; |
| 158 |
| 159 prototype void vp9_intra8x8_predict "struct blockd *x, int b_mode, unsigned char
*predictor" |
| 160 specialize vp9_intra8x8_predict; |
| 161 |
| 162 prototype void vp9_comp_intra8x8_predict "struct blockd *x, int b_mode, int seco
nd_mode, unsigned char *predictor" |
| 163 specialize vp9_comp_intra8x8_predict; |
| 164 |
| 165 prototype void vp9_intra_uv4x4_predict "struct blockd *x, int b_mode, unsigned c
har *predictor" |
| 166 specialize vp9_intra_uv4x4_predict; |
| 167 |
| 168 prototype void vp9_comp_intra_uv4x4_predict "struct blockd *x, int b_mode, int s
econd_mode, unsigned char *predictor" |
| 169 specialize vp9_comp_intra_uv4x4_predict; |
| 170 |
| 171 # |
| 172 # Loopfilter |
| 173 # |
| 174 prototype void vp9_loop_filter_mbv "unsigned char *y, unsigned char *u, unsigned
char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 175 specialize vp9_loop_filter_mbv sse2 |
| 176 |
| 177 prototype void vp9_loop_filter_bv "unsigned char *y, unsigned char *u, unsigned
char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 178 specialize vp9_loop_filter_bv sse2 |
| 179 |
| 180 prototype void vp9_loop_filter_bv8x8 "unsigned char *y, unsigned char *u, unsign
ed char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 181 specialize vp9_loop_filter_bv8x8 sse2 |
| 182 |
| 183 prototype void vp9_loop_filter_mbh "unsigned char *y, unsigned char *u, unsigned
char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 184 specialize vp9_loop_filter_mbh sse2 |
| 185 |
| 186 prototype void vp9_loop_filter_bh "unsigned char *y, unsigned char *u, unsigned
char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 187 specialize vp9_loop_filter_bh sse2 |
| 188 |
| 189 prototype void vp9_loop_filter_bh8x8 "unsigned char *y, unsigned char *u, unsign
ed char *v, int ystride, int uv_stride, struct loop_filter_info *lfi" |
| 190 specialize vp9_loop_filter_bh8x8 sse2 |
| 191 |
| 192 prototype void vp9_loop_filter_simple_mbv "unsigned char *y, int ystride, const
unsigned char *blimit" |
| 193 specialize vp9_loop_filter_simple_mbv mmx sse2 |
| 194 vp9_loop_filter_simple_mbv_c=vp9_loop_filter_simple_vertical_edge_c |
| 195 vp9_loop_filter_simple_mbv_mmx=vp9_loop_filter_simple_vertical_edge_mmx |
| 196 vp9_loop_filter_simple_mbv_sse2=vp9_loop_filter_simple_vertical_edge_sse2 |
| 197 |
| 198 prototype void vp9_loop_filter_simple_mbh "unsigned char *y, int ystride, const
unsigned char *blimit" |
| 199 specialize vp9_loop_filter_simple_mbh mmx sse2 |
| 200 vp9_loop_filter_simple_mbh_c=vp9_loop_filter_simple_horizontal_edge_c |
| 201 vp9_loop_filter_simple_mbh_mmx=vp9_loop_filter_simple_horizontal_edge_mmx |
| 202 vp9_loop_filter_simple_mbh_sse2=vp9_loop_filter_simple_horizontal_edge_sse2 |
| 203 |
| 204 prototype void vp9_loop_filter_simple_bv "unsigned char *y, int ystride, const u
nsigned char *blimit" |
| 205 specialize vp9_loop_filter_simple_bv mmx sse2 |
| 206 vp9_loop_filter_simple_bv_c=vp9_loop_filter_bvs_c |
| 207 vp9_loop_filter_simple_bv_mmx=vp9_loop_filter_bvs_mmx |
| 208 vp9_loop_filter_simple_bv_sse2=vp9_loop_filter_bvs_sse2 |
| 209 |
| 210 prototype void vp9_loop_filter_simple_bh "unsigned char *y, int ystride, const u
nsigned char *blimit" |
| 211 specialize vp9_loop_filter_simple_bh mmx sse2 |
| 212 vp9_loop_filter_simple_bh_c=vp9_loop_filter_bhs_c |
| 213 vp9_loop_filter_simple_bh_mmx=vp9_loop_filter_bhs_mmx |
| 214 vp9_loop_filter_simple_bh_sse2=vp9_loop_filter_bhs_sse2 |
| 215 |
| 216 # |
| 217 # post proc |
| 218 # |
| 219 prototype void vp9_mbpost_proc_down "unsigned char *dst, int pitch, int rows, in
t cols, int flimit" |
| 220 specialize vp9_mbpost_proc_down mmx sse2 |
| 221 vp9_mbpost_proc_down_sse2=vp9_mbpost_proc_down_xmm |
| 222 |
| 223 prototype void vp9_mbpost_proc_across_ip "unsigned char *src, int pitch, int row
s, int cols, int flimit" |
| 224 specialize vp9_mbpost_proc_across_ip sse2 |
| 225 vp9_mbpost_proc_across_ip_sse2=vp9_mbpost_proc_across_ip_xmm |
| 226 |
| 227 prototype void vp9_post_proc_down_and_across "unsigned char *src_ptr, unsigned c
har *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int co
ls, int flimit" |
| 228 specialize vp9_post_proc_down_and_across mmx sse2 |
| 229 vp9_post_proc_down_and_across_sse2=vp9_post_proc_down_and_across_xmm |
| 230 |
| 231 prototype void vp9_plane_add_noise "unsigned char *Start, char *noise, char blac
kclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigne
d int Height, int Pitch" |
| 232 specialize vp9_plane_add_noise mmx sse2 |
| 233 vp9_plane_add_noise_sse2=vp9_plane_add_noise_wmt |
| 234 |
| 235 prototype void vp9_blend_mb_inner "unsigned char *y, unsigned char *u, unsigned
char *v, int y1, int u1, int v1, int alpha, int stride" |
| 236 specialize vp9_blend_mb_inner |
| 237 |
| 238 prototype void vp9_blend_mb_outer "unsigned char *y, unsigned char *u, unsigned
char *v, int y1, int u1, int v1, int alpha, int stride" |
| 239 specialize vp9_blend_mb_outer |
| 240 |
| 241 prototype void vp9_blend_b "unsigned char *y, unsigned char *u, unsigned char *v
, int y1, int u1, int v1, int alpha, int stride" |
| 242 specialize vp9_blend_b |
| 243 |
| 244 # |
| 245 # sad 16x3, 3x16 |
| 246 # |
| 247 prototype unsigned int vp9_sad16x3 "const unsigned char *src_ptr, int src_strid
e, const unsigned char *ref_ptr, int ref_stride" |
| 248 specialize vp9_sad16x3 sse2 |
| 249 |
| 250 prototype unsigned int vp9_sad3x16 "const unsigned char *src_ptr, int src_strid
e, const unsigned char *ref_ptr, int ref_stride" |
| 251 specialize vp9_sad3x16 sse2 |
| 252 |
| 253 # |
| 254 # Sub Pixel Filters |
| 255 # |
| 256 prototype void vp9_eighttap_predict16x16 "unsigned char *src_ptr, int src_pixel
s_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 257 specialize vp9_eighttap_predict16x16 |
| 258 |
| 259 prototype void vp9_eighttap_predict8x8 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 260 specialize vp9_eighttap_predict8x8 |
| 261 |
| 262 prototype void vp9_eighttap_predict_avg16x16 "unsigned char *src_ptr, int src_p
ixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pit
ch" |
| 263 specialize vp9_eighttap_predict_avg16x16 |
| 264 |
| 265 prototype void vp9_eighttap_predict_avg8x8 "unsigned char *src_ptr, int src_pix
els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch
" |
| 266 specialize vp9_eighttap_predict_avg8x8 |
| 267 |
| 268 prototype void vp9_eighttap_predict_avg4x4 "unsigned char *src_ptr, int src_pix
els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch
" |
| 269 specialize vp9_eighttap_predict_avg4x4 |
| 270 |
| 271 prototype void vp9_eighttap_predict8x4 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 272 specialize vp9_eighttap_predict8x4 |
| 273 |
| 274 prototype void vp9_eighttap_predict "unsigned char *src_ptr, int src_pixels_per
_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 275 specialize vp9_eighttap_predict |
| 276 |
| 277 prototype void vp9_eighttap_predict16x16_sharp "unsigned char *src_ptr, int src
_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_p
itch" |
| 278 specialize vp9_eighttap_predict16x16_sharp |
| 279 |
| 280 prototype void vp9_eighttap_predict8x8_sharp "unsigned char *src_ptr, int src_p
ixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pit
ch" |
| 281 specialize vp9_eighttap_predict8x8_sharp |
| 282 |
| 283 prototype void vp9_eighttap_predict_avg16x16_sharp "unsigned char *src_ptr, int
src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int d
st_pitch" |
| 284 specialize vp9_eighttap_predict_avg16x16_sharp |
| 285 |
| 286 prototype void vp9_eighttap_predict_avg8x8_sharp "unsigned char *src_ptr, int s
rc_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst
_pitch" |
| 287 specialize vp9_eighttap_predict_avg8x8_sharp |
| 288 |
| 289 prototype void vp9_eighttap_predict_avg4x4_sharp "unsigned char *src_ptr, int s
rc_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst
_pitch" |
| 290 specialize vp9_eighttap_predict_avg4x4_sharp |
| 291 |
| 292 prototype void vp9_eighttap_predict8x4_sharp "unsigned char *src_ptr, int src_p
ixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pit
ch" |
| 293 specialize vp9_eighttap_predict8x4_sharp |
| 294 |
| 295 prototype void vp9_eighttap_predict_sharp "unsigned char *src_ptr, int src_pixe
ls_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 296 specialize vp9_eighttap_predict_sharp |
| 297 |
| 298 prototype void vp9_sixtap_predict16x16 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 299 specialize vp9_sixtap_predict16x16 |
| 300 |
| 301 prototype void vp9_sixtap_predict8x8 "unsigned char *src_ptr, int src_pixels_pe
r_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 302 specialize vp9_sixtap_predict8x8 |
| 303 |
| 304 prototype void vp9_sixtap_predict_avg16x16 "unsigned char *src_ptr, int src_pix
els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch
" |
| 305 specialize vp9_sixtap_predict_avg16x16 |
| 306 |
| 307 prototype void vp9_sixtap_predict_avg8x8 "unsigned char *src_ptr, int src_pixel
s_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 308 specialize vp9_sixtap_predict_avg8x8 |
| 309 |
| 310 prototype void vp9_sixtap_predict8x4 "unsigned char *src_ptr, int src_pixels_pe
r_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 311 specialize vp9_sixtap_predict8x4 |
| 312 |
| 313 prototype void vp9_sixtap_predict "unsigned char *src_ptr, int src_pixels_per_l
ine, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 314 specialize vp9_sixtap_predict |
| 315 |
| 316 prototype void vp9_sixtap_predict_avg "unsigned char *src_ptr, int src_pixels_p
er_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 317 specialize vp9_sixtap_predict_avg |
| 318 |
| 319 prototype void vp9_bilinear_predict16x16 "unsigned char *src_ptr, int src_pixel
s_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 320 specialize vp9_bilinear_predict16x16 mmx sse2 |
| 321 |
| 322 prototype void vp9_bilinear_predict8x8 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 323 specialize vp9_bilinear_predict8x8 mmx sse2 |
| 324 |
| 325 prototype void vp9_bilinear_predict_avg16x16 "unsigned char *src_ptr, int src_p
ixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pit
ch" |
| 326 specialize vp9_bilinear_predict_avg16x16 |
| 327 |
| 328 prototype void vp9_bilinear_predict_avg8x8 "unsigned char *src_ptr, int src_pix
els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch
" |
| 329 specialize vp9_bilinear_predict_avg8x8 |
| 330 |
| 331 prototype void vp9_bilinear_predict8x4 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 332 specialize vp9_bilinear_predict8x4 mmx |
| 333 |
| 334 prototype void vp9_bilinear_predict4x4 "unsigned char *src_ptr, int src_pixels_
per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" |
| 335 specialize vp9_bilinear_predict4x4 mmx |
| 336 |
| 337 prototype void vp9_bilinear_predict_avg4x4 "unsigned char *src_ptr, int src_pix
els_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch
" |
| 338 specialize vp9_bilinear_predict_avg4x4 |
| 339 |
| 340 # |
| 341 # dct |
| 342 # |
| 343 prototype void vp9_short_idct4x4llm_1 "short *input, short *output, int pitch" |
| 344 specialize vp9_short_idct4x4llm_1 mmx |
| 345 |
| 346 prototype void vp9_short_idct4x4llm "short *input, short *output, int pitch" |
| 347 specialize vp9_short_idct4x4llm mmx |
| 348 |
| 349 prototype void vp9_short_idct8x8 "short *input, short *output, int pitch" |
| 350 specialize vp9_short_idct8x8 |
| 351 |
| 352 prototype void vp9_short_idct10_8x8 "short *input, short *output, int pitch" |
| 353 specialize vp9_short_idct10_8x8 |
| 354 |
| 355 prototype void vp9_short_ihaar2x2 "short *input, short *output, int pitch" |
| 356 specialize vp9_short_ihaar2x2 |
| 357 |
| 358 prototype void vp9_short_idct16x16 "short *input, short *output, int pitch" |
| 359 specialize vp9_short_idct16x16 |
| 360 |
| 361 prototype void vp9_short_idct10_16x16 "short *input, short *output, int pitch" |
| 362 specialize vp9_short_idct10_16x16 |
| 363 |
| 364 prototype void vp9_ihtllm "const short *input, short *output, int pitch, int tx_
type, int tx_dim" |
| 365 specialize vp9_ihtllm |
| 366 |
| 367 # |
| 368 # 2nd order |
| 369 # |
| 370 prototype void vp9_short_inv_walsh4x4_1 "short *in, short *out" |
| 371 specialize vp9_short_inv_walsh4x4_1 |
| 372 |
| 373 prototype void vp9_short_inv_walsh4x4 "short *in, short *out" |
| 374 specialize vp9_short_inv_walsh4x4_ |
| 375 |
| 376 |
| 377 # dct and add |
| 378 prototype void vp9_dc_only_idct_add_8x8 "short input_dc, unsigned char *pred_ptr
, unsigned char *dst_ptr, int pitch, int stride" |
| 379 specialize vp9_dc_only_idct_add_8x8 |
| 380 |
| 381 prototype void vp9_dc_only_idct_add "short input_dc, unsigned char *pred_ptr, un
signed char *dst_ptr, int pitch, int stride" |
| 382 specialize vp9_dc_only_idct_add |
| 383 |
| 384 if [ "$CONFIG_LOSSLESS" = "yes" ]; then |
| 385 prototype void vp9_short_inv_walsh4x4_1_x8 "short *input, short *output, int pit
ch" |
| 386 prototype void vp9_short_inv_walsh4x4_x8 "short *input, short *output, int pitch
" |
| 387 prototype void vp9_dc_only_inv_walsh_add "short input_dc, unsigned char *pred_pt
r, unsigned char *dst_ptr, int pitch, int stride" |
| 388 prototype void vp9_short_inv_walsh4x4_1_lossless "short *in, short *out" |
| 389 prototype void vp9_short_inv_walsh4x4_lossless "short *in, short *out" |
| 390 fi |
| 391 |
| 392 |
| 393 |
| 394 if [ "$CONFIG_SUPERBLOCKS" = "yes" ]; then |
| 395 |
| 396 prototype unsigned int vp9_sad32x3 "const unsigned char *src_ptr, int src_strid
e, const unsigned char *ref_ptr, int ref_stride, int max_sad" |
| 397 specialize vp9_sad32x3 |
| 398 |
| 399 prototype unsigned int vp9_sad3x32 "const unsigned char *src_ptr, int src_strid
e, const unsigned char *ref_ptr, int ref_stride, int max_sad" |
| 400 specialize vp9_sad3x32 |
| 401 |
| 402 fi |
| 403 |
| 404 # |
| 405 # Encoder functions below this point. |
| 406 # |
| 407 if [ "$CONFIG_VP9_ENCODER" = "yes" ]; then |
| 408 |
| 409 |
| 410 # variance |
| 411 [ $arch = "x86_64" ] && mmx_x86_64=mmx && sse2_x86_64=sse2 |
| 412 |
| 413 prototype unsigned int vp9_variance32x32 "const unsigned char *src_ptr, int sour
ce_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 414 specialize vp9_variance32x32 |
| 415 |
| 416 prototype unsigned int vp9_variance16x16 "const unsigned char *src_ptr, int sour
ce_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 417 specialize vp9_variance16x16 mmx sse2 |
| 418 vp9_variance16x16_sse2=vp9_variance16x16_wmt |
| 419 vp9_variance16x16_mmx=vp9_variance16x16_mmx |
| 420 |
| 421 prototype unsigned int vp9_variance16x8 "const unsigned char *src_ptr, int sourc
e_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 422 specialize vp9_variance16x8 mmx sse2 |
| 423 vp9_variance16x8_sse2=vp9_variance16x8_wmt |
| 424 vp9_variance16x8_mmx=vp9_variance16x8_mmx |
| 425 |
| 426 prototype unsigned int vp9_variance8x16 "const unsigned char *src_ptr, int sourc
e_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 427 specialize vp9_variance8x16 mmx sse2 |
| 428 vp9_variance8x16_sse2=vp9_variance8x16_wmt |
| 429 vp9_variance8x16_mmx=vp9_variance8x16_mmx |
| 430 |
| 431 prototype unsigned int vp9_variance8x8 "const unsigned char *src_ptr, int source
_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 432 specialize vp9_variance8x8 mmx sse2 |
| 433 vp9_variance8x8_sse2=vp9_variance8x8_wmt |
| 434 vp9_variance8x8_mmx=vp9_variance8x8_mmx |
| 435 |
| 436 prototype unsigned int vp9_variance4x4 "const unsigned char *src_ptr, int source
_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse" |
| 437 specialize vp9_variance4x4 mmx sse2 |
| 438 vp9_variance4x4_sse2=vp9_variance4x4_wmt |
| 439 vp9_variance4x4_mmx=vp9_variance4x4_mmx |
| 440 |
| 441 prototype unsigned int vp9_sub_pixel_variance32x32 "const unsigned char *src_ptr
, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, in
t Refstride, unsigned int *sse" |
| 442 specialize vp9_sub_pixel_variance32x32 |
| 443 |
| 444 prototype unsigned int vp9_sub_pixel_variance16x16 "const unsigned char *src_ptr
, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, in
t Refstride, unsigned int *sse" |
| 445 specialize vp9_sub_pixel_variance16x16 sse2 mmx ssse3 |
| 446 vp9_sub_pixel_variance16x16_sse2=vp9_sub_pixel_variance16x16_wmt |
| 447 |
| 448 prototype unsigned int vp9_sub_pixel_variance8x16 "const unsigned char *src_ptr,
int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse" |
| 449 specialize vp9_sub_pixel_variance8x16 sse2 mmx |
| 450 vp9_sub_pixel_variance8x16_sse2=vp9_sub_pixel_variance8x16_wmt |
| 451 |
| 452 prototype unsigned int vp9_sub_pixel_variance16x8 "const unsigned char *src_ptr,
int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse" |
| 453 specialize vp9_sub_pixel_variance16x8 sse2 mmx ssse3 |
| 454 vp9_sub_pixel_variance16x8_sse2=vp9_sub_pixel_variance16x8_ssse3; |
| 455 vp9_sub_pixel_variance16x8_sse2=vp9_sub_pixel_variance16x8_wmt |
| 456 |
| 457 prototype unsigned int vp9_sub_pixel_variance8x8 "const unsigned char *src_ptr,
int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse" |
| 458 specialize vp9_sub_pixel_variance8x8 sse2 mmx |
| 459 vp9_sub_pixel_variance8x8_sse2=vp9_sub_pixel_variance8x8_wmt |
| 460 |
| 461 prototype unsigned int vp9_sub_pixel_variance4x4 "const unsigned char *src_ptr,
int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse" |
| 462 specialize vp9_sub_pixel_variance4x4 sse2 mmx |
| 463 vp9_sub_pixel_variance4x4_sse2=vp9_sub_pixel_variance4x4_wmt |
| 464 |
| 465 prototype unsigned int vp9_sad32x32 "const unsigned char *src_ptr, int source_st
ride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 466 specialize vp9_sad32x32 |
| 467 |
| 468 prototype unsigned int vp9_sad16x16 "const unsigned char *src_ptr, int source_st
ride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 469 specialize vp9_sad16x16 mmx sse2 sse3 |
| 470 vp9_sad16x16_sse2=vp9_sad16x16_wmt |
| 471 |
| 472 prototype unsigned int vp9_sad16x8 "const unsigned char *src_ptr, int source_str
ide, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 473 specialize vp9_sad16x8 mmx sse2 |
| 474 vp9_sad16x8_sse2=vp9_sad16x8_wmt |
| 475 |
| 476 prototype unsigned int vp9_sad8x16 "const unsigned char *src_ptr, int source_str
ide, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 477 specialize vp9_sad8x16 mmx sse2 |
| 478 vp9_sad8x16_sse2=vp9_sad8x16_wmt |
| 479 |
| 480 prototype unsigned int vp9_sad8x8 "const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 481 specialize vp9_sad8x8 mmx sse2 |
| 482 vp9_sad8x8_sse2=vp9_sad8x8_wmt |
| 483 |
| 484 prototype unsigned int vp9_sad4x4 "const unsigned char *src_ptr, int source_stri
de, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad" |
| 485 specialize vp9_sad4x4 mmx sse2 |
| 486 vp9_sad4x4_sse2=vp9_sad4x4_wmt |
| 487 |
| 488 prototype unsigned int vp9_variance_halfpixvar16x16_h "const unsigned char *src_
ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned i
nt *sse" |
| 489 specialize vp9_variance_halfpixvar16x16_h mmx sse2 |
| 490 vp9_variance_halfpixvar16x16_h_sse2=vp9_variance_halfpixvar16x16_h_wmt |
| 491 |
| 492 prototype unsigned int vp9_variance_halfpixvar16x16_v "const unsigned char *src_
ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned i
nt *sse" |
| 493 specialize vp9_variance_halfpixvar16x16_v mmx sse2 |
| 494 vp9_variance_halfpixvar16x16_v_sse2=vp9_variance_halfpixvar16x16_v_wmt |
| 495 |
| 496 prototype unsigned int vp9_variance_halfpixvar16x16_hv "const unsigned char *src
_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned
int *sse" |
| 497 specialize vp9_variance_halfpixvar16x16_hv mmx sse2 |
| 498 vp9_variance_halfpixvar16x16_hv_sse2=vp9_variance_halfpixvar16x16_hv_wmt |
| 499 |
| 500 prototype unsigned int vp9_variance_halfpixvar32x32_h "const unsigned char *src_
ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned i
nt *sse" |
| 501 specialize vp9_variance_halfpixvar32x32_h |
| 502 |
| 503 prototype unsigned int vp9_variance_halfpixvar32x32_v "const unsigned char *src_
ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned i
nt *sse" |
| 504 specialize vp9_variance_halfpixvar32x32_v |
| 505 |
| 506 prototype unsigned int vp9_variance_halfpixvar32x32_hv "const unsigned char *src
_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned
int *sse" |
| 507 specialize vp9_variance_halfpixvar32x32_hv |
| 508 |
| 509 prototype void vp9_sad32x32x3 "const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 510 specialize vp9_sad32x32x3 |
| 511 |
| 512 prototype void vp9_sad16x16x3 "const unsigned char *src_ptr, int source_stride,
const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 513 specialize vp9_sad16x16x3 sse3 ssse3 |
| 514 |
| 515 prototype void vp9_sad16x8x3 "const unsigned char *src_ptr, int source_stride, c
onst unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 516 specialize vp9_sad16x8x3 sse3 ssse3 |
| 517 |
| 518 prototype void vp9_sad8x16x3 "const unsigned char *src_ptr, int source_stride, c
onst unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 519 specialize vp9_sad8x16x3 sse3 |
| 520 |
| 521 prototype void vp9_sad8x8x3 "const unsigned char *src_ptr, int source_stride, co
nst unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 522 specialize vp9_sad8x8x3 sse3 |
| 523 |
| 524 prototype void vp9_sad4x4x3 "const unsigned char *src_ptr, int source_stride, co
nst unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array" |
| 525 specialize vp9_sad4x4x3 sse3 |
| 526 |
| 527 prototype void vp9_sad32x32x8 "const unsigned char *src_ptr, int src_stride, co
nst unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 528 specialize vp9_sad32x32x8 |
| 529 |
| 530 prototype void vp9_sad16x16x8 "const unsigned char *src_ptr, int src_stride, co
nst unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 531 specialize vp9_sad16x16x8 sse4 |
| 532 |
| 533 prototype void vp9_sad16x8x8 "const unsigned char *src_ptr, int src_stride, con
st unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 534 specialize vp9_sad16x8x8 sse4 |
| 535 |
| 536 prototype void vp9_sad8x16x8 "const unsigned char *src_ptr, int src_stride, con
st unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 537 specialize vp9_sad8x16x8 sse4 |
| 538 |
| 539 prototype void vp9_sad8x8x8 "const unsigned char *src_ptr, int src_stride, cons
t unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 540 specialize vp9_sad8x8x8 sse4 |
| 541 |
| 542 prototype void vp9_sad4x4x8 "const unsigned char *src_ptr, int src_stride, cons
t unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array" |
| 543 specialize vp9_sad4x4x8 sse4 |
| 544 |
| 545 prototype void vp9_sad32x32x4d "const unsigned char *src_ptr, int src_stride, c
onst unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 546 specialize vp9_sad32x32x4d |
| 547 |
| 548 prototype void vp9_sad16x16x4d "const unsigned char *src_ptr, int src_stride, c
onst unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 549 specialize vp9_sad16x16x4d sse3 |
| 550 |
| 551 prototype void vp9_sad16x8x4d "const unsigned char *src_ptr, int src_stride, co
nst unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 552 specialize vp9_sad16x8x4d sse3 |
| 553 |
| 554 prototype void vp9_sad8x16x4d "const unsigned char *src_ptr, int src_stride, co
nst unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 555 specialize vp9_sad8x16x4d sse3 |
| 556 |
| 557 prototype void vp9_sad8x8x4d "const unsigned char *src_ptr, int src_stride, con
st unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 558 specialize vp9_sad8x8x4d sse3 |
| 559 |
| 560 prototype void vp9_sad4x4x4d "const unsigned char *src_ptr, int src_stride, con
st unsigned char **ref_ptr, int ref_stride, unsigned int *sad_array" |
| 561 specialize vp9_sad4x4x4d sse3 |
| 562 |
| 563 # |
| 564 # Block copy |
| 565 # |
| 566 case $arch in |
| 567 x86*) |
| 568 prototype void vp9_copy32xn "const unsigned char *src_ptr, int source_stride
, const unsigned char *ref_ptr, int ref_stride, int n" |
| 569 specialize vp9_copy32xn sse2 sse3 |
| 570 ;; |
| 571 esac |
| 572 |
| 573 prototype unsigned int vp9_sub_pixel_mse16x16 "const unsigned char *src_ptr, in
t src_pixels_per_line, int xoffset, int yoffset, const unsigned char *dst_ptr
, int dst_pixels_per_line, unsigned int *sse" |
| 574 specialize vp9_sub_pixel_mse16x16 sse2 mmx |
| 575 vp9_sub_pixel_mse16x16_sse2=vp9_sub_pixel_mse16x16_wmt |
| 576 |
| 577 prototype unsigned int vp9_mse16x16 "const unsigned char *src_ptr, int source_s
tride, const unsigned char *ref_ptr, int recon_stride, unsigned int *sse" |
| 578 specialize vp9_mse16x16 mmx sse2 |
| 579 vp9_mse16x16_sse2=vp9_mse16x16_wmt |
| 580 |
| 581 prototype unsigned int vp9_sub_pixel_mse32x32 "const unsigned char *src_ptr, in
t source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int
Refstride, unsigned int *sse" |
| 582 specialize vp9_sub_pixel_mse32x32 |
| 583 |
| 584 prototype unsigned int vp9_get_mb_ss "const short *" |
| 585 specialize vp9_get_mb_ss mmx sse2 |
| 586 # ENCODEMB INVOKE |
| 587 prototype int vp9_mbblock_error "struct macroblock *mb, int dc" |
| 588 specialize vp9_mbblock_error mmx sse2 |
| 589 vp9_mbblock_error_sse2=vp9_mbblock_error_xmm |
| 590 |
| 591 prototype int vp9_block_error "short *coeff, short *dqcoeff, int block_size" |
| 592 specialize vp9_block_error mmx sse2 |
| 593 vp9_block_error_sse2=vp9_block_error_xmm |
| 594 |
| 595 prototype void vp9_subtract_b "struct block *be, struct blockd *bd, int pitch" |
| 596 specialize vp9_subtract_b mmx sse2 |
| 597 |
| 598 prototype int vp9_mbuverror "struct macroblock *mb" |
| 599 specialize vp9_mbuverror mmx sse2 |
| 600 vp9_mbuverror_sse2=vp9_mbuverror_xmm |
| 601 |
| 602 prototype void vp9_subtract_b "struct block *be, struct blockd *bd, int pitch" |
| 603 specialize vp9_subtract_b mmx sse2 |
| 604 |
| 605 prototype void vp9_subtract_mby "short *diff, unsigned char *src, unsigned char
*pred, int stride" |
| 606 specialize vp9_subtract_mby mmx sse2 |
| 607 |
| 608 prototype void vp9_subtract_mbuv "short *diff, unsigned char *usrc, unsigned cha
r *vsrc, unsigned char *pred, int stride" |
| 609 specialize vp9_subtract_mbuv mmx sse2 |
| 610 |
| 611 # |
| 612 # Structured Similarity (SSIM) |
| 613 # |
| 614 if [ "$CONFIG_INTERNAL_STATS" = "yes" ]; then |
| 615 [ $arch = "x86_64" ] && sse2_on_x86_64=sse2 |
| 616 |
| 617 prototype void vp9_ssim_parms_8x8 "unsigned char *s, int sp, unsigned char *
r, int rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s,
unsigned long *sum_sq_r, unsigned long *sum_sxr" |
| 618 specialize vp9_ssim_parms_8x8 $sse2_on_x86_64 |
| 619 |
| 620 prototype void vp9_ssim_parms_16x16 "unsigned char *s, int sp, unsigned char
*r, int rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s
, unsigned long *sum_sq_r, unsigned long *sum_sxr" |
| 621 specialize vp9_ssim_parms_16x16 $sse2_on_x86_64 |
| 622 fi |
| 623 |
| 624 # fdct functions |
| 625 prototype void vp9_fht "const short *input, int pitch, short *output, int tx_typ
e, int tx_dim" |
| 626 specialize vp9_fht |
| 627 |
| 628 prototype void vp9_short_fdct8x8 "short *InputData, short *OutputData, int pitch
" |
| 629 specialize vp9_short_fdct8x8 |
| 630 |
| 631 prototype void vp9_short_fhaar2x2 "short *InputData, short *OutputData, int pitc
h" |
| 632 specialize vp9_short_fhaar2x2 |
| 633 |
| 634 prototype void vp9_short_fdct4x4 "short *InputData, short *OutputData, int pitch
" |
| 635 specialize vp9_short_fdct4x4 |
| 636 |
| 637 prototype void vp9_short_fdct8x4 "short *InputData, short *OutputData, int pitch
" |
| 638 specialize vp9_short_fdct8x4 |
| 639 |
| 640 prototype void vp9_short_walsh4x4 "short *InputData, short *OutputData, int pitc
h" |
| 641 specialize vp9_short_walsh4x4 |
| 642 |
| 643 prototype void vp9_short_fdct16x16 "short *InputData, short *OutputData, int pit
ch" |
| 644 specialize vp9_short_fdct16x16 |
| 645 |
| 646 prototype void vp9_short_walsh4x4_lossless "short *InputData, short *OutputData,
int pitch" |
| 647 specialize vp9_short_walsh4x4_lossless |
| 648 |
| 649 prototype void vp9_short_walsh4x4_x8 "short *InputData, short *OutputData, int p
itch" |
| 650 specialize vp9_short_walsh4x4_x8 |
| 651 |
| 652 prototype void vp9_short_walsh8x4_x8 "short *InputData, short *OutputData, int p
itch" |
| 653 specialize vp9_short_walsh8x4_x8 |
| 654 |
| 655 # |
| 656 # Motion search |
| 657 # |
| 658 prototype int vp9_full_search_sad "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, DEC_MVCOSTS, union int_mv *center_mv" |
| 659 specialize vp9_full_search_sad sse3 sse4_1 |
| 660 vp9_full_search_sad_sse3=vp9_full_search_sadx3 |
| 661 vp9_full_search_sad_sse4_1=vp9_full_search_sadx8 |
| 662 |
| 663 prototype int vp9_refining_search_sad "struct macroblock *x, struct block *b, st
ruct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct vari
ance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv" |
| 664 specialize vp9_refining_search_sad sse3 |
| 665 vp9_refining_search_sad_sse3=vp9_refining_search_sadx4 |
| 666 |
| 667 prototype int vp9_diamond_search_sad "struct macroblock *x, struct block *b, str
uct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, in
t sad_per_bit, int *num00, struct variance_vtable *fn_ptr, DEC_MVCOSTS, union in
t_mv *center_mv" |
| 668 specialize vp9_diamond_search_sad sse3 |
| 669 vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4 |
| 670 |
| 671 prototype void vp9_temporal_filter_apply "unsigned char *frame1, unsigned int st
ride, unsigned char *frame2, unsigned int block_size, int strength, int filter_w
eight, unsigned int *accumulator, unsigned short *count" |
| 672 specialize vp9_temporal_filter_apply sse2 |
| 673 |
| 674 prototype void vp9_yv12_copy_partial_frame "struct yv12_buffer_config *src_ybc,
struct yv12_buffer_config *dst_ybc, int fraction" |
| 675 specialize vp9_yv12_copy_partial_frame |
| 676 |
| 677 |
| 678 fi |
| 679 # end encoder functions |
OLD | NEW |