1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/libvpx/vp8/common/variance.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,115 @@ 1.4 +/* 1.5 + * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 1.6 + * 1.7 + * Use of this source code is governed by a BSD-style license 1.8 + * that can be found in the LICENSE file in the root of the source 1.9 + * tree. An additional intellectual property rights grant can be found 1.10 + * in the file PATENTS. All contributing project authors may 1.11 + * be found in the AUTHORS file in the root of the source tree. 1.12 + */ 1.13 + 1.14 + 1.15 +#ifndef VARIANCE_H 1.16 +#define VARIANCE_H 1.17 + 1.18 +#include "vpx_config.h" 1.19 + 1.20 +typedef unsigned int(*vp8_sad_fn_t)( 1.21 + const unsigned char *src_ptr, 1.22 + int source_stride, 1.23 + const unsigned char *ref_ptr, 1.24 + int ref_stride, 1.25 + unsigned int max_sad); 1.26 + 1.27 +typedef void (*vp8_copy32xn_fn_t)( 1.28 + const unsigned char *src_ptr, 1.29 + int source_stride, 1.30 + const unsigned char *ref_ptr, 1.31 + int ref_stride, 1.32 + int n); 1.33 + 1.34 +typedef void (*vp8_sad_multi_fn_t)( 1.35 + const unsigned char *src_ptr, 1.36 + int source_stride, 1.37 + const unsigned char *ref_ptr, 1.38 + int ref_stride, 1.39 + unsigned int *sad_array); 1.40 + 1.41 +typedef void (*vp8_sad_multi1_fn_t) 1.42 + ( 1.43 + const unsigned char *src_ptr, 1.44 + int source_stride, 1.45 + const unsigned char *ref_ptr, 1.46 + int ref_stride, 1.47 + unsigned short *sad_array 1.48 + ); 1.49 + 1.50 +typedef void (*vp8_sad_multi_d_fn_t) 1.51 + ( 1.52 + const unsigned char *src_ptr, 1.53 + int source_stride, 1.54 + const unsigned char * const ref_ptr[], 1.55 + int ref_stride, 1.56 + unsigned int *sad_array 1.57 + ); 1.58 + 1.59 +typedef unsigned int (*vp8_variance_fn_t) 1.60 + ( 1.61 + const unsigned char *src_ptr, 1.62 + int source_stride, 1.63 + const unsigned char *ref_ptr, 1.64 + int ref_stride, 1.65 + unsigned int *sse 1.66 + ); 1.67 + 1.68 +typedef unsigned int (*vp8_subpixvariance_fn_t) 1.69 + ( 1.70 + const unsigned char *src_ptr, 1.71 + int source_stride, 1.72 + int xoffset, 1.73 + int yoffset, 1.74 + const unsigned char *ref_ptr, 1.75 + int Refstride, 1.76 + unsigned int *sse 1.77 + ); 1.78 + 1.79 +typedef void (*vp8_ssimpf_fn_t) 1.80 + ( 1.81 + unsigned char *s, 1.82 + int sp, 1.83 + unsigned char *r, 1.84 + int rp, 1.85 + unsigned long *sum_s, 1.86 + unsigned long *sum_r, 1.87 + unsigned long *sum_sq_s, 1.88 + unsigned long *sum_sq_r, 1.89 + unsigned long *sum_sxr 1.90 + ); 1.91 + 1.92 +typedef unsigned int (*vp8_getmbss_fn_t)(const short *); 1.93 + 1.94 +typedef unsigned int (*vp8_get16x16prederror_fn_t) 1.95 + ( 1.96 + const unsigned char *src_ptr, 1.97 + int source_stride, 1.98 + const unsigned char *ref_ptr, 1.99 + int ref_stride 1.100 + ); 1.101 + 1.102 +typedef struct variance_vtable 1.103 +{ 1.104 + vp8_sad_fn_t sdf; 1.105 + vp8_variance_fn_t vf; 1.106 + vp8_subpixvariance_fn_t svf; 1.107 + vp8_variance_fn_t svf_halfpix_h; 1.108 + vp8_variance_fn_t svf_halfpix_v; 1.109 + vp8_variance_fn_t svf_halfpix_hv; 1.110 + vp8_sad_multi_fn_t sdx3f; 1.111 + vp8_sad_multi1_fn_t sdx8f; 1.112 + vp8_sad_multi_d_fn_t sdx4df; 1.113 +#if ARCH_X86 || ARCH_X86_64 1.114 + vp8_copy32xn_fn_t copymem; 1.115 +#endif 1.116 +} vp8_variance_fn_ptr_t; 1.117 + 1.118 +#endif