| Index: source/libvpx/vp8/common/x86/variance_sse2.c
|
| diff --git a/source/libvpx/vp8/common/x86/variance_sse2.c b/source/libvpx/vp8/common/x86/variance_sse2.c
|
| deleted file mode 100644
|
| index f6dfb27871db78bbe7b845e5a193b6de755c0f85..0000000000000000000000000000000000000000
|
| --- a/source/libvpx/vp8/common/x86/variance_sse2.c
|
| +++ /dev/null
|
| @@ -1,417 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#include "./vp8_rtcd.h"
|
| -#include "vpx_config.h"
|
| -#include "vp8/common/variance.h"
|
| -#include "vpx_ports/mem.h"
|
| -#include "vp8/common/x86/filter_x86.h"
|
| -
|
| -extern void filter_block1d_h6_mmx(const unsigned char *src_ptr, unsigned short *output_ptr, unsigned int src_pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *filter);
|
| -extern void filter_block1d_v6_mmx(const short *src_ptr, unsigned char *output_ptr, unsigned int pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *filter);
|
| -extern void filter_block1d8_h6_sse2(const unsigned char *src_ptr, unsigned short *output_ptr, unsigned int src_pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *filter);
|
| -extern void filter_block1d8_v6_sse2(const short *src_ptr, unsigned char *output_ptr, unsigned int pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *filter);
|
| -
|
| -extern void vp8_filter_block2d_bil4x4_var_mmx
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - const short *HFilter,
|
| - const short *VFilter,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -
|
| -void vp8_filter_block2d_bil_var_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int xoffset,
|
| - int yoffset,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_horiz_vert_variance8x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_horiz_vert_variance16x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_horiz_variance8x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_horiz_variance16x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_vert_variance8x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -void vp8_half_vert_variance16x_h_sse2
|
| -(
|
| - const unsigned char *ref_ptr,
|
| - int ref_pixels_per_line,
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - unsigned int Height,
|
| - int *sum,
|
| - unsigned int *sumsquared
|
| -);
|
| -
|
| -unsigned int vp8_sub_pixel_variance4x4_wmt
|
| -(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -)
|
| -{
|
| - int xsum;
|
| - unsigned int xxsum;
|
| - vp8_filter_block2d_bil4x4_var_mmx(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line,
|
| - vp8_bilinear_filters_x86_4[xoffset], vp8_bilinear_filters_x86_4[yoffset],
|
| - &xsum, &xxsum
|
| - );
|
| - *sse = xxsum;
|
| - return (xxsum - (((unsigned int)xsum * xsum) >> 4));
|
| -}
|
| -
|
| -
|
| -unsigned int vp8_sub_pixel_variance8x8_wmt
|
| -(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -)
|
| -{
|
| - int xsum;
|
| - unsigned int xxsum;
|
| -
|
| - if (xoffset == 4 && yoffset == 0)
|
| - {
|
| - vp8_half_horiz_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum, &xxsum);
|
| - }
|
| - else if (xoffset == 0 && yoffset == 4)
|
| - {
|
| - vp8_half_vert_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum, &xxsum);
|
| - }
|
| - else if (xoffset == 4 && yoffset == 4)
|
| - {
|
| - vp8_half_horiz_vert_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum, &xxsum);
|
| - }
|
| - else
|
| - {
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - xoffset, yoffset,
|
| - &xsum, &xxsum);
|
| - }
|
| -
|
| - *sse = xxsum;
|
| - return (xxsum - (((unsigned int)xsum * xsum) >> 6));
|
| -}
|
| -
|
| -unsigned int vp8_sub_pixel_variance16x16_wmt
|
| -(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -)
|
| -{
|
| - int xsum0, xsum1;
|
| - unsigned int xxsum0, xxsum1;
|
| -
|
| -
|
| - /* note we could avoid these if statements if the calling function
|
| - * just called the appropriate functions inside.
|
| - */
|
| - if (xoffset == 4 && yoffset == 0)
|
| - {
|
| - vp8_half_horiz_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else if (xoffset == 0 && yoffset == 4)
|
| - {
|
| - vp8_half_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else if (xoffset == 4 && yoffset == 4)
|
| - {
|
| - vp8_half_horiz_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else
|
| - {
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - xoffset, yoffset,
|
| - &xsum0, &xxsum0
|
| - );
|
| -
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr + 8, src_pixels_per_line,
|
| - dst_ptr + 8, dst_pixels_per_line, 16,
|
| - xoffset, yoffset,
|
| - &xsum1, &xxsum1
|
| - );
|
| - xsum0 += xsum1;
|
| - xxsum0 += xxsum1;
|
| - }
|
| -
|
| - *sse = xxsum0;
|
| - return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 8));
|
| -}
|
| -
|
| -unsigned int vp8_sub_pixel_mse16x16_wmt(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -)
|
| -{
|
| - vp8_sub_pixel_variance16x16_wmt(src_ptr, src_pixels_per_line, xoffset, yoffset, dst_ptr, dst_pixels_per_line, sse);
|
| - return *sse;
|
| -}
|
| -
|
| -unsigned int vp8_sub_pixel_variance16x8_wmt
|
| -(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -
|
| -)
|
| -{
|
| - int xsum0, xsum1;
|
| - unsigned int xxsum0, xxsum1;
|
| -
|
| - if (xoffset == 4 && yoffset == 0)
|
| - {
|
| - vp8_half_horiz_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else if (xoffset == 0 && yoffset == 4)
|
| - {
|
| - vp8_half_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else if (xoffset == 4 && yoffset == 4)
|
| - {
|
| - vp8_half_horiz_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - &xsum0, &xxsum0);
|
| - }
|
| - else
|
| - {
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 8,
|
| - xoffset, yoffset,
|
| - &xsum0, &xxsum0);
|
| -
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr + 8, src_pixels_per_line,
|
| - dst_ptr + 8, dst_pixels_per_line, 8,
|
| - xoffset, yoffset,
|
| - &xsum1, &xxsum1);
|
| - xsum0 += xsum1;
|
| - xxsum0 += xxsum1;
|
| - }
|
| -
|
| - *sse = xxsum0;
|
| - return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 7));
|
| -}
|
| -
|
| -unsigned int vp8_sub_pixel_variance8x16_wmt
|
| -(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - int xoffset,
|
| - int yoffset,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse
|
| -)
|
| -{
|
| - int xsum;
|
| - unsigned int xxsum;
|
| -
|
| - if (xoffset == 4 && yoffset == 0)
|
| - {
|
| - vp8_half_horiz_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum, &xxsum);
|
| - }
|
| - else if (xoffset == 0 && yoffset == 4)
|
| - {
|
| - vp8_half_vert_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum, &xxsum);
|
| - }
|
| - else if (xoffset == 4 && yoffset == 4)
|
| - {
|
| - vp8_half_horiz_vert_variance8x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum, &xxsum);
|
| - }
|
| - else
|
| - {
|
| - vp8_filter_block2d_bil_var_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - xoffset, yoffset,
|
| - &xsum, &xxsum);
|
| - }
|
| -
|
| - *sse = xxsum;
|
| - return (xxsum - (((unsigned int)xsum * xsum) >> 7));
|
| -}
|
| -
|
| -
|
| -unsigned int vp8_variance_halfpixvar16x16_h_wmt(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse)
|
| -{
|
| - int xsum0;
|
| - unsigned int xxsum0;
|
| -
|
| - vp8_half_horiz_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| -
|
| - *sse = xxsum0;
|
| - return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 8));
|
| -}
|
| -
|
| -
|
| -unsigned int vp8_variance_halfpixvar16x16_v_wmt(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse)
|
| -{
|
| - int xsum0;
|
| - unsigned int xxsum0;
|
| - vp8_half_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| -
|
| - *sse = xxsum0;
|
| - return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 8));
|
| -}
|
| -
|
| -
|
| -unsigned int vp8_variance_halfpixvar16x16_hv_wmt(
|
| - const unsigned char *src_ptr,
|
| - int src_pixels_per_line,
|
| - const unsigned char *dst_ptr,
|
| - int dst_pixels_per_line,
|
| - unsigned int *sse)
|
| -{
|
| - int xsum0;
|
| - unsigned int xxsum0;
|
| -
|
| - vp8_half_horiz_vert_variance16x_h_sse2(
|
| - src_ptr, src_pixels_per_line,
|
| - dst_ptr, dst_pixels_per_line, 16,
|
| - &xsum0, &xxsum0);
|
| -
|
| - *sse = xxsum0;
|
| - return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 8));
|
| -}
|
|
|