1// This file is generated. Do not edit. 2#ifndef VP8_RTCD_H_ 3#define VP8_RTCD_H_ 4 5#ifdef RTCD_C 6#define RTCD_EXTERN 7#else 8#define RTCD_EXTERN extern 9#endif 10 11/* 12 * VP8 13 */ 14 15struct blockd; 16struct macroblockd; 17struct loop_filter_info; 18 19/* Encoder forward decls */ 20struct block; 21struct macroblock; 22struct variance_vtable; 23union int_mv; 24struct yv12_buffer_config; 25 26#ifdef __cplusplus 27extern "C" { 28#endif 29 30void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 31void vp8_bilinear_predict16x16_sse2(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 32void vp8_bilinear_predict16x16_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 33#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_ssse3 34 35void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 36void vp8_bilinear_predict4x4_mmx(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 37#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_mmx 38 39void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 40void vp8_bilinear_predict8x4_mmx(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 41#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_mmx 42 43void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 44void vp8_bilinear_predict8x8_sse2(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 45void vp8_bilinear_predict8x8_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 46#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_ssse3 47 48void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 49#define vp8_blend_b vp8_blend_b_c 50 51void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 52#define vp8_blend_mb_inner vp8_blend_mb_inner_c 53 54void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 55#define vp8_blend_mb_outer vp8_blend_mb_outer_c 56 57int vp8_block_error_c(short *coeff, short *dqcoeff); 58int vp8_block_error_sse2(short *coeff, short *dqcoeff); 59#define vp8_block_error vp8_block_error_sse2 60 61void vp8_copy32xn_c(const unsigned char *src_ptr, int source_stride, unsigned char *dst_ptr, int dst_stride, int n); 62void vp8_copy32xn_sse2(const unsigned char *src_ptr, int source_stride, unsigned char *dst_ptr, int dst_stride, int n); 63void vp8_copy32xn_sse3(const unsigned char *src_ptr, int source_stride, unsigned char *dst_ptr, int dst_stride, int n); 64#define vp8_copy32xn vp8_copy32xn_sse3 65 66void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 67void vp8_copy_mem16x16_sse2(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 68#define vp8_copy_mem16x16 vp8_copy_mem16x16_sse2 69 70void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 71void vp8_copy_mem8x4_mmx(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 72#define vp8_copy_mem8x4 vp8_copy_mem8x4_mmx 73 74void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 75void vp8_copy_mem8x8_mmx(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 76#define vp8_copy_mem8x8 vp8_copy_mem8x8_mmx 77 78void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 79void vp8_dc_only_idct_add_mmx(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 80#define vp8_dc_only_idct_add vp8_dc_only_idct_add_mmx 81 82int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 83int vp8_denoiser_filter_sse2(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 84#define vp8_denoiser_filter vp8_denoiser_filter_sse2 85 86int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 87int vp8_denoiser_filter_uv_sse2(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 88#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_sse2 89 90void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride); 91void vp8_dequant_idct_add_mmx(short *input, short *dq, unsigned char *output, int stride); 92#define vp8_dequant_idct_add vp8_dequant_idct_add_mmx 93 94void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 95void vp8_dequant_idct_add_uv_block_sse2(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 96#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_sse2 97 98void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 99void vp8_dequant_idct_add_y_block_sse2(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 100#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_sse2 101 102void vp8_dequantize_b_c(struct blockd*, short *dqc); 103void vp8_dequantize_b_mmx(struct blockd*, short *dqc); 104#define vp8_dequantize_b vp8_dequantize_b_mmx 105 106int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *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); 107int vp8_diamond_search_sadx4(struct macroblock *x, struct block *b, struct blockd *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); 108#define vp8_diamond_search_sad vp8_diamond_search_sadx4 109 110void vp8_fast_quantize_b_c(struct block *, struct blockd *); 111void vp8_fast_quantize_b_sse2(struct block *, struct blockd *); 112void vp8_fast_quantize_b_ssse3(struct block *, struct blockd *); 113#define vp8_fast_quantize_b vp8_fast_quantize_b_ssse3 114 115void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 116void vp8_filter_by_weight16x16_sse2(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 117#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_sse2 118 119void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 120#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c 121 122void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 123void vp8_filter_by_weight8x8_sse2(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 124#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_sse2 125 126int 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); 127int vp8_full_search_sadx3(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); 128#define vp8_full_search_sad vp8_full_search_sadx3 129 130void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 131void vp8_loop_filter_bh_sse2(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 132#define vp8_loop_filter_bh vp8_loop_filter_bh_sse2 133 134void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 135void vp8_loop_filter_bv_sse2(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 136#define vp8_loop_filter_bv vp8_loop_filter_bv_sse2 137 138void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 139void vp8_loop_filter_mbh_sse2(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 140#define vp8_loop_filter_mbh vp8_loop_filter_mbh_sse2 141 142void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 143void vp8_loop_filter_mbv_sse2(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 144#define vp8_loop_filter_mbv vp8_loop_filter_mbv_sse2 145 146void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit); 147void vp8_loop_filter_bhs_sse2(unsigned char *y, int ystride, const unsigned char *blimit); 148#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_sse2 149 150void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit); 151void vp8_loop_filter_bvs_sse2(unsigned char *y, int ystride, const unsigned char *blimit); 152#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_sse2 153 154void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 155void vp8_loop_filter_simple_horizontal_edge_sse2(unsigned char *y, int ystride, const unsigned char *blimit); 156#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_sse2 157 158void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 159void vp8_loop_filter_simple_vertical_edge_sse2(unsigned char *y, int ystride, const unsigned char *blimit); 160#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_sse2 161 162int vp8_mbblock_error_c(struct macroblock *mb, int dc); 163int vp8_mbblock_error_sse2(struct macroblock *mb, int dc); 164#define vp8_mbblock_error vp8_mbblock_error_sse2 165 166int vp8_mbuverror_c(struct macroblock *mb); 167int vp8_mbuverror_sse2(struct macroblock *mb); 168#define vp8_mbuverror vp8_mbuverror_sse2 169 170int vp8_refining_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); 171int vp8_refining_search_sadx4(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); 172#define vp8_refining_search_sad vp8_refining_search_sadx4 173 174void vp8_regular_quantize_b_c(struct block *, struct blockd *); 175void vp8_regular_quantize_b_sse2(struct block *, struct blockd *); 176#define vp8_regular_quantize_b vp8_regular_quantize_b_sse2 177 178void vp8_short_fdct4x4_c(short *input, short *output, int pitch); 179void vp8_short_fdct4x4_sse2(short *input, short *output, int pitch); 180#define vp8_short_fdct4x4 vp8_short_fdct4x4_sse2 181 182void vp8_short_fdct8x4_c(short *input, short *output, int pitch); 183void vp8_short_fdct8x4_sse2(short *input, short *output, int pitch); 184#define vp8_short_fdct8x4 vp8_short_fdct8x4_sse2 185 186void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 187void vp8_short_idct4x4llm_mmx(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 188#define vp8_short_idct4x4llm vp8_short_idct4x4llm_mmx 189 190void vp8_short_inv_walsh4x4_c(short *input, short *output); 191void vp8_short_inv_walsh4x4_sse2(short *input, short *output); 192#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_sse2 193 194void vp8_short_inv_walsh4x4_1_c(short *input, short *output); 195#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c 196 197void vp8_short_walsh4x4_c(short *input, short *output, int pitch); 198void vp8_short_walsh4x4_sse2(short *input, short *output, int pitch); 199#define vp8_short_walsh4x4 vp8_short_walsh4x4_sse2 200 201void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 202void vp8_sixtap_predict16x16_sse2(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 203void vp8_sixtap_predict16x16_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 204#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_ssse3 205 206void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 207void vp8_sixtap_predict4x4_mmx(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 208void vp8_sixtap_predict4x4_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 209#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_ssse3 210 211void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 212void vp8_sixtap_predict8x4_sse2(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 213void vp8_sixtap_predict8x4_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 214#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_ssse3 215 216void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 217void vp8_sixtap_predict8x8_sse2(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 218void vp8_sixtap_predict8x8_ssse3(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 219#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_ssse3 220 221void vp8_rtcd(void); 222 223#ifdef RTCD_C 224#include "vpx_ports/x86.h" 225static void setup_rtcd_internal(void) 226{ 227 int flags = x86_simd_caps(); 228 229 (void)flags; 230 231} 232#endif 233 234#ifdef __cplusplus 235} // extern "C" 236#endif 237 238#endif 239