Merge "move new neon subpixel function"
This commit is contained in:
commit
58f19cc697
@ -18,37 +18,6 @@ extern void (*vp8_yv12_copy_partial_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12
|
|||||||
extern void vp8_yv12_copy_partial_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc, int Fraction);
|
extern void vp8_yv12_copy_partial_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc, int Fraction);
|
||||||
extern void vpxyv12_copy_partial_frame_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc, int Fraction);
|
extern void vpxyv12_copy_partial_frame_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc, int Fraction);
|
||||||
|
|
||||||
extern unsigned int vp8_sub_pixel_variance16x16_neon_func
|
|
||||||
(
|
|
||||||
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
|
|
||||||
);
|
|
||||||
unsigned int vp8_sub_pixel_variance16x16_neon
|
|
||||||
(
|
|
||||||
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
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if (xoffset == 4 && yoffset == 0)
|
|
||||||
return vp8_variance_halfpixvar16x16_h_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
|
||||||
else if (xoffset == 0 && yoffset == 4)
|
|
||||||
return vp8_variance_halfpixvar16x16_v_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
|
||||||
else if (xoffset == 4 && yoffset == 4)
|
|
||||||
return vp8_variance_halfpixvar16x16_hv_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
|
||||||
else
|
|
||||||
return vp8_sub_pixel_variance16x16_neon_func(src_ptr, src_pixels_per_line, xoffset, yoffset, dst_ptr, dst_pixels_per_line, sse);
|
|
||||||
}
|
|
||||||
|
|
||||||
void vp8_arch_arm_encoder_init(VP8_COMP *cpi)
|
void vp8_arch_arm_encoder_init(VP8_COMP *cpi)
|
||||||
{
|
{
|
||||||
#if CONFIG_RUNTIME_CPU_DETECT
|
#if CONFIG_RUNTIME_CPU_DETECT
|
||||||
|
36
vp8/encoder/arm/variance_arm.c
Normal file
36
vp8/encoder/arm/variance_arm.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* 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 "vpx_config.h"
|
||||||
|
|
||||||
|
#if HAVE_ARMV7
|
||||||
|
|
||||||
|
unsigned int vp8_sub_pixel_variance16x16_neon
|
||||||
|
(
|
||||||
|
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
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if (xoffset == 4 && yoffset == 0)
|
||||||
|
return vp8_variance_halfpixvar16x16_h_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
||||||
|
else if (xoffset == 0 && yoffset == 4)
|
||||||
|
return vp8_variance_halfpixvar16x16_v_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
||||||
|
else if (xoffset == 4 && yoffset == 4)
|
||||||
|
return vp8_variance_halfpixvar16x16_hv_neon(src_ptr, src_pixels_per_line, dst_ptr, dst_pixels_per_line, sse);
|
||||||
|
else
|
||||||
|
return vp8_sub_pixel_variance16x16_neon_func(src_ptr, src_pixels_per_line, xoffset, yoffset, dst_ptr, dst_pixels_per_line, sse);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -30,6 +30,7 @@ extern prototype_subpixvariance(vp8_sub_pixel_variance8x8_neon);
|
|||||||
//extern prototype_subpixvariance(vp8_sub_pixel_variance8x16_c);
|
//extern prototype_subpixvariance(vp8_sub_pixel_variance8x16_c);
|
||||||
//extern prototype_subpixvariance(vp8_sub_pixel_variance16x8_c);
|
//extern prototype_subpixvariance(vp8_sub_pixel_variance16x8_c);
|
||||||
extern prototype_subpixvariance(vp8_sub_pixel_variance16x16_neon);
|
extern prototype_subpixvariance(vp8_sub_pixel_variance16x16_neon);
|
||||||
|
extern prototype_subpixvariance(vp8_sub_pixel_variance16x16_neon_func);
|
||||||
extern prototype_variance(vp8_variance_halfpixvar16x16_h_neon);
|
extern prototype_variance(vp8_variance_halfpixvar16x16_h_neon);
|
||||||
extern prototype_variance(vp8_variance_halfpixvar16x16_v_neon);
|
extern prototype_variance(vp8_variance_halfpixvar16x16_v_neon);
|
||||||
extern prototype_variance(vp8_variance_halfpixvar16x16_hv_neon);
|
extern prototype_variance(vp8_variance_halfpixvar16x16_hv_neon);
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/arm_csystemdependent.c
|
VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/arm_csystemdependent.c
|
||||||
|
|
||||||
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/encodemb_arm.c
|
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/encodemb_arm.c
|
||||||
|
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/variance_arm.c
|
||||||
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/quantize_arm.c
|
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/quantize_arm.c
|
||||||
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/picklpf_arm.c
|
VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/picklpf_arm.c
|
||||||
VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/boolhuff_arm.c
|
VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/boolhuff_arm.c
|
||||||
|
Loading…
x
Reference in New Issue
Block a user