From 3338af41092added3024a4ed4b9934262a578433 Mon Sep 17 00:00:00 2001 From: Jim Bankoski <jimbankoski@google.com> Date: Wed, 21 Nov 2012 09:16:30 -0800 Subject: [PATCH] remove subpixel invoke functions Removed the rtcd subpixel invoke functions. Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33 --- vp9/common/generic/systemdependent.c | 30 ----- vp9/common/onyxc_int.h | 1 - vp9/common/reconinter.c | 85 ++++--------- vp9/common/rtcd_defs.sh | 84 ++++++++++++ vp9/common/subpixel.h | 183 --------------------------- vp9/common/x86/x86_systemdependent.c | 28 ---- vp9/encoder/encodeframe.c | 1 - 7 files changed, 112 insertions(+), 300 deletions(-) diff --git a/vp9/common/generic/systemdependent.c b/vp9/common/generic/systemdependent.c index 51dfaea5fe..958e1146bb 100644 --- a/vp9/common/generic/systemdependent.c +++ b/vp9/common/generic/systemdependent.c @@ -35,36 +35,6 @@ void vp9_machine_specific_config(VP9_COMMON *ctx) { rtcd->idct.idct16x16 = vp9_short_idct16x16_c; rtcd->idct.idct10_16x16 = vp9_short_idct10_16x16_c; - rtcd->subpix.eighttap16x16 = vp9_eighttap_predict16x16_c; - rtcd->subpix.eighttap8x8 = vp9_eighttap_predict8x8_c; - rtcd->subpix.eighttap_avg16x16 = vp9_eighttap_predict_avg16x16_c; - rtcd->subpix.eighttap_avg8x8 = vp9_eighttap_predict_avg8x8_c; - rtcd->subpix.eighttap_avg4x4 = vp9_eighttap_predict_avg4x4_c; - rtcd->subpix.eighttap8x4 = vp9_eighttap_predict8x4_c; - rtcd->subpix.eighttap4x4 = vp9_eighttap_predict_c; - rtcd->subpix.eighttap16x16_sharp = vp9_eighttap_predict16x16_sharp_c; - rtcd->subpix.eighttap8x8_sharp = vp9_eighttap_predict8x8_sharp_c; - rtcd->subpix.eighttap_avg16x16_sharp = vp9_eighttap_predict_avg16x16_sharp_c; - rtcd->subpix.eighttap_avg8x8_sharp = vp9_eighttap_predict_avg8x8_sharp_c; - rtcd->subpix.eighttap_avg4x4_sharp = vp9_eighttap_predict_avg4x4_sharp_c; - rtcd->subpix.eighttap8x4_sharp = vp9_eighttap_predict8x4_sharp_c; - rtcd->subpix.eighttap4x4_sharp = vp9_eighttap_predict_sharp_c; - - rtcd->subpix.sixtap16x16 = vp9_sixtap_predict16x16_c; - rtcd->subpix.sixtap8x8 = vp9_sixtap_predict8x8_c; - rtcd->subpix.sixtap_avg16x16 = vp9_sixtap_predict_avg16x16_c; - rtcd->subpix.sixtap_avg8x8 = vp9_sixtap_predict_avg8x8_c; - rtcd->subpix.sixtap8x4 = vp9_sixtap_predict8x4_c; - rtcd->subpix.sixtap4x4 = vp9_sixtap_predict_c; - rtcd->subpix.sixtap_avg4x4 = vp9_sixtap_predict_avg_c; - rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_c; - rtcd->subpix.bilinear8x8 = vp9_bilinear_predict8x8_c; - rtcd->subpix.bilinear_avg16x16 = vp9_bilinear_predict_avg16x16_c; - rtcd->subpix.bilinear_avg8x8 = vp9_bilinear_predict_avg8x8_c; - rtcd->subpix.bilinear8x4 = vp9_bilinear_predict8x4_c; - rtcd->subpix.bilinear4x4 = vp9_bilinear_predict4x4_c; - rtcd->subpix.bilinear_avg4x4 = vp9_bilinear_predict_avg4x4_c; - #if CONFIG_POSTPROC || (CONFIG_VP9_ENCODER && CONFIG_INTERNAL_STATS) rtcd->postproc.down = vp9_mbpost_proc_down_c; rtcd->postproc.across = vp9_mbpost_proc_across_ip_c; diff --git a/vp9/common/onyxc_int.h b/vp9/common/onyxc_int.h index beefdbc055..fbb4e599f9 100644 --- a/vp9/common/onyxc_int.h +++ b/vp9/common/onyxc_int.h @@ -149,7 +149,6 @@ typedef enum { typedef struct VP9_COMMON_RTCD { #if CONFIG_RUNTIME_CPU_DETECT vp9_idct_rtcd_vtable_t idct; - vp9_subpix_rtcd_vtable_t subpix; #if CONFIG_POSTPROC vp9_postproc_rtcd_vtable_t postproc; #endif diff --git a/vp9/common/reconinter.c b/vp9/common/reconinter.c index b67cec798c..37478f71e8 100644 --- a/vp9/common/reconinter.c +++ b/vp9/common/reconinter.c @@ -11,7 +11,6 @@ #include "vpx_ports/config.h" #include "vpx/vpx_integer.h" -#include "subpixel.h" #include "blockd.h" #include "reconinter.h" #include "vp9/common/reconintra.h" @@ -23,66 +22,38 @@ void vp9_setup_interp_filters(MACROBLOCKD *xd, INTERPOLATIONFILTERTYPE mcomp_filter_type, VP9_COMMON *cm) { if (mcomp_filter_type == SIXTAP) { - xd->subpixel_predict = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap4x4); - xd->subpixel_predict8x4 = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap8x4); - xd->subpixel_predict8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap8x8); - xd->subpixel_predict16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap16x16); - xd->subpixel_predict_avg = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap_avg4x4); - xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap_avg8x8); - xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, sixtap_avg16x16); + xd->subpixel_predict = vp9_sixtap_predict; + xd->subpixel_predict8x4 = vp9_sixtap_predict8x4; + xd->subpixel_predict8x8 = vp9_sixtap_predict8x8; + xd->subpixel_predict16x16 = vp9_sixtap_predict16x16; + xd->subpixel_predict_avg = vp9_sixtap_predict_avg; + xd->subpixel_predict_avg8x8 = vp9_sixtap_predict_avg8x8; + xd->subpixel_predict_avg16x16 = vp9_sixtap_predict_avg16x16; } else if (mcomp_filter_type == EIGHTTAP || mcomp_filter_type == SWITCHABLE) { - xd->subpixel_predict = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap4x4); - xd->subpixel_predict8x4 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap8x4); - xd->subpixel_predict8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap8x8); - xd->subpixel_predict16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap16x16); - xd->subpixel_predict_avg = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg4x4); - xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg8x8); - xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg16x16); + xd->subpixel_predict = vp9_eighttap_predict; + xd->subpixel_predict8x4 = vp9_eighttap_predict8x4; + xd->subpixel_predict8x8 = vp9_eighttap_predict8x8; + xd->subpixel_predict16x16 = vp9_eighttap_predict16x16; + xd->subpixel_predict_avg = vp9_eighttap_predict_avg4x4; + xd->subpixel_predict_avg8x8 = vp9_eighttap_predict_avg8x8; + xd->subpixel_predict_avg16x16 = vp9_eighttap_predict_avg16x16; } else if (mcomp_filter_type == EIGHTTAP_SHARP) { - xd->subpixel_predict = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap4x4_sharp); - xd->subpixel_predict8x4 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap8x4_sharp); - xd->subpixel_predict8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap8x8_sharp); - xd->subpixel_predict16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap16x16_sharp); - xd->subpixel_predict_avg = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg4x4_sharp); - xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg8x8_sharp); - xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, eighttap_avg16x16_sharp); + xd->subpixel_predict = vp9_eighttap_predict_sharp; + xd->subpixel_predict8x4 = vp9_eighttap_predict8x4_sharp; + xd->subpixel_predict8x8 = vp9_eighttap_predict8x8_sharp; + xd->subpixel_predict16x16 = vp9_eighttap_predict16x16_sharp; + xd->subpixel_predict_avg = vp9_eighttap_predict_avg4x4_sharp; + xd->subpixel_predict_avg8x8 = vp9_eighttap_predict_avg8x8_sharp; + xd->subpixel_predict_avg16x16 = vp9_eighttap_predict_avg16x16_sharp_c; } else { - xd->subpixel_predict = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear4x4); - xd->subpixel_predict8x4 = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear8x4); - xd->subpixel_predict8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear8x8); - xd->subpixel_predict16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear16x16); - xd->subpixel_predict_avg = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear_avg4x4); - xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear_avg8x8); - xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE( - &cm->rtcd.subpix, bilinear_avg16x16); + xd->subpixel_predict = vp9_bilinear_predict4x4; + xd->subpixel_predict8x4 = vp9_bilinear_predict8x4; + xd->subpixel_predict8x8 = vp9_bilinear_predict8x8; + xd->subpixel_predict16x16 = vp9_bilinear_predict16x16; + xd->subpixel_predict_avg = vp9_bilinear_predict_avg4x4; + xd->subpixel_predict_avg8x8 = vp9_bilinear_predict_avg8x8; + xd->subpixel_predict_avg16x16 = vp9_bilinear_predict_avg16x16; } } diff --git a/vp9/common/rtcd_defs.sh b/vp9/common/rtcd_defs.sh index db389500c9..260214261d 100644 --- a/vp9/common/rtcd_defs.sh +++ b/vp9/common/rtcd_defs.sh @@ -227,6 +227,90 @@ specialize vp9_sad16x3 sse2 prototype unsigned int vp9_sad3x16 "const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, int max_sad" specialize vp9_sad3x16 sse2 +prototype void vp9_eighttap_predict16x16 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict16x16 + +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" +specialize vp9_eighttap_predict8x8 + +prototype void vp9_eighttap_predict_avg16x16 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_avg16x16 + +prototype void vp9_eighttap_predict_avg8x8 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_avg8x8 + +prototype void vp9_eighttap_predict_avg4x4 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_avg4x4 + +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" +specialize vp9_eighttap_predict8x4 + +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" +specialize vp9_eighttap_predict + +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_pitch" +specialize vp9_eighttap_predict16x16_sharp + +prototype void vp9_eighttap_predict8x8_sharp "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict8x8_sharp + +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 dst_pitch" +specialize vp9_eighttap_predict_avg16x16_sharp + +prototype void vp9_eighttap_predict_avg8x8_sharp "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_avg8x8_sharp + +prototype void vp9_eighttap_predict_avg4x4_sharp "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_avg4x4_sharp + +prototype void vp9_eighttap_predict8x4_sharp "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict8x4_sharp + +prototype void vp9_eighttap_predict_sharp "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_eighttap_predict_sharp + +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" +specialize vp9_sixtap_predict16x16 + +prototype void vp9_sixtap_predict8x8 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict8x8 + +prototype void vp9_sixtap_predict_avg16x16 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict_avg16x16 + +prototype void vp9_sixtap_predict_avg8x8 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict_avg8x8 + +prototype void vp9_sixtap_predict8x4 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict8x4 + +prototype void vp9_sixtap_predict "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict + +prototype void vp9_sixtap_predict_avg "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_sixtap_predict_avg + +prototype void vp9_bilinear_predict16x16 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_bilinear_predict16x16 mmx sse2 + +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" +specialize vp9_bilinear_predict8x8 mmx sse2 + +prototype void vp9_bilinear_predict_avg16x16 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_bilinear_predict_avg16x16 + +prototype void vp9_bilinear_predict_avg8x8 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_bilinear_predict_avg8x8 + +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" +specialize vp9_bilinear_predict8x4 mmx + +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" +specialize vp9_bilinear_predict4x4 mmx + +prototype void vp9_bilinear_predict_avg4x4 "unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch" +specialize vp9_bilinear_predict_avg4x4 + if [ "$CONFIG_SUPERBLOCKS" = "yes" ]; then prototype unsigned int vp9_sad32x3 "const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, int max_sad" diff --git a/vp9/common/subpixel.h b/vp9/common/subpixel.h index 03bb9f2286..2b84291988 100644 --- a/vp9/common/subpixel.h +++ b/vp9/common/subpixel.h @@ -16,189 +16,6 @@ void sym(unsigned char *src, int src_pitch, int xofst, int yofst, \ unsigned char *dst, int dst_pitch) -#if ARCH_X86 || ARCH_X86_64 -#include "x86/subpixel_x86.h" -#endif - -#if ARCH_ARM -#include "arm/subpixel_arm.h" -#endif - -#ifndef vp9_subpix_sixtap16x16 -#define vp9_subpix_sixtap16x16 vp9_sixtap_predict16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap16x16); - -#ifndef vp9_subpix_sixtap8x8 -#define vp9_subpix_sixtap8x8 vp9_sixtap_predict8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap8x8); - -#ifndef vp9_subpix_sixtap_avg16x16 -#define vp9_subpix_sixtap_avg16x16 vp9_sixtap_predict_avg16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap_avg16x16); - -#ifndef vp9_subpix_sixtap_avg8x8 -#define vp9_subpix_sixtap_avg8x8 vp9_sixtap_predict_avg8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap_avg8x8); -#ifndef vp9_subpix_sixtap8x4 -#define vp9_subpix_sixtap8x4 vp9_sixtap_predict8x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap8x4); - -#ifndef vp9_subpix_sixtap4x4 -#define vp9_subpix_sixtap4x4 vp9_sixtap_predict_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap4x4); - -#ifndef vp9_subpix_sixtap_avg4x4 -#define vp9_subpix_sixtap_avg4x4 vp9_sixtap_predict_avg_c -#endif -extern prototype_subpixel_predict(vp9_subpix_sixtap_avg4x4); - -#ifndef vp9_subpix_eighttap16x16 -#define vp9_subpix_eighttap16x16 vp9_eighttap_predict16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap16x16); - -#ifndef vp9_subpix_eighttap8x8 -#define vp9_subpix_eighttap8x8 vp9_eighttap_predict8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap8x8); - -#ifndef vp9_subpix_eighttap_avg16x16 -#define vp9_subpix_eighttap_avg16x16 vp9_eighttap_predict_avg16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg16x16); - -#ifndef vp9_subpix_eighttap_avg8x8 -#define vp9_subpix_eighttap_avg8x8 vp9_eighttap_predict_avg8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg8x8); - -#ifndef vp9_subpix_eighttap8x4 -#define vp9_subpix_eighttap8x4 vp9_eighttap_predict8x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap8x4); - -#ifndef vp9_subpix_eighttap4x4 -#define vp9_subpix_eighttap4x4 vp9_eighttap_predict_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap4x4); - -#ifndef vp9_subpix_eighttap_avg4x4 -#define vp9_subpix_eighttap_avg4x4 vp9_eighttap_predict_avg4x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg4x4); - -#ifndef vp9_subpix_eighttap16x16_sharp -#define vp9_subpix_eighttap16x16_sharp vp9_eighttap_predict16x16_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap16x16_sharp); - -#ifndef vp9_subpix_eighttap8x8_sharp -#define vp9_subpix_eighttap8x8_sharp vp9_eighttap_predict8x8_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap8x8_sharp); - -#ifndef vp9_subpix_eighttap_avg16x16_sharp -#define vp9_subpix_eighttap_avg16x16_sharp vp9_eighttap_predict_avg16x16_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg16x16_sharp); - -#ifndef vp9_subpix_eighttap_avg8x8_sharp -#define vp9_subpix_eighttap_avg8x8_sharp vp9_eighttap_predict_avg8x8_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg8x8_sharp); - -#ifndef vp9_subpix_eighttap8x4_sharp -#define vp9_subpix_eighttap8x4_sharp vp9_eighttap_predict8x4_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap8x4_sharp); - -#ifndef vp9_subpix_eighttap4x4_sharp -#define vp9_subpix_eighttap4x4_sharp vp9_eighttap_predict_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap4x4_sharp); - -#ifndef vp9_subpix_eighttap_avg4x4_sharp -#define vp9_subpix_eighttap_avg4x4_sharp vp9_eighttap_predict_avg4x4_sharp_c -#endif -extern prototype_subpixel_predict(vp9_subpix_eighttap_avg4x4_sharp); - -#ifndef vp9_subpix_bilinear16x16 -#define vp9_subpix_bilinear16x16 vp9_bilinear_predict16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear16x16); - -#ifndef vp9_subpix_bilinear8x8 -#define vp9_subpix_bilinear8x8 vp9_bilinear_predict8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear8x8); - -#ifndef vp9_subpix_bilinear_avg16x16 -#define vp9_subpix_bilinear_avg16x16 vp9_bilinear_predict_avg16x16_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear_avg16x16); - -#ifndef vp9_subpix_bilinear_avg8x8 -#define vp9_subpix_bilinear_avg8x8 vp9_bilinear_predict_avg8x8_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear_avg8x8); - -#ifndef vp9_subpix_bilinear8x4 -#define vp9_subpix_bilinear8x4 vp9_bilinear_predict8x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear8x4); - -#ifndef vp9_subpix_bilinear4x4 -#define vp9_subpix_bilinear4x4 vp9_bilinear_predict4x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear4x4); - -#ifndef vp9_subpix_bilinear_avg4x4 -#define vp9_subpix_bilinear_avg4x4 vp9_bilinear_predict_avg4x4_c -#endif -extern prototype_subpixel_predict(vp9_subpix_bilinear_avg4x4); - typedef prototype_subpixel_predict((*vp9_subpix_fn_t)); -typedef struct { - vp9_subpix_fn_t eighttap16x16; - vp9_subpix_fn_t eighttap8x8; - vp9_subpix_fn_t eighttap_avg16x16; - vp9_subpix_fn_t eighttap_avg8x8; - vp9_subpix_fn_t eighttap_avg4x4; - vp9_subpix_fn_t eighttap8x4; - vp9_subpix_fn_t eighttap4x4; - vp9_subpix_fn_t eighttap16x16_sharp; - vp9_subpix_fn_t eighttap8x8_sharp; - vp9_subpix_fn_t eighttap_avg16x16_sharp; - vp9_subpix_fn_t eighttap_avg8x8_sharp; - vp9_subpix_fn_t eighttap_avg4x4_sharp; - vp9_subpix_fn_t eighttap8x4_sharp; - vp9_subpix_fn_t eighttap4x4_sharp; - vp9_subpix_fn_t sixtap16x16; - vp9_subpix_fn_t sixtap8x8; - vp9_subpix_fn_t sixtap_avg16x16; - vp9_subpix_fn_t sixtap_avg8x8; - vp9_subpix_fn_t sixtap8x4; - vp9_subpix_fn_t sixtap4x4; - vp9_subpix_fn_t sixtap_avg4x4; - vp9_subpix_fn_t bilinear16x16; - vp9_subpix_fn_t bilinear8x8; - vp9_subpix_fn_t bilinear_avg16x16; - vp9_subpix_fn_t bilinear_avg8x8; - vp9_subpix_fn_t bilinear8x4; - vp9_subpix_fn_t bilinear4x4; - vp9_subpix_fn_t bilinear_avg4x4; -} vp9_subpix_rtcd_vtable_t; - -#if CONFIG_RUNTIME_CPU_DETECT -#define SUBPIX_INVOKE(ctx,fn) (ctx)->fn -#else -#define SUBPIX_INVOKE(ctx,fn) vp9_subpix_##fn -#endif #endif diff --git a/vp9/common/x86/x86_systemdependent.c b/vp9/common/x86/x86_systemdependent.c index 6e8e9add87..3cf3810916 100644 --- a/vp9/common/x86/x86_systemdependent.c +++ b/vp9/common/x86/x86_systemdependent.c @@ -10,7 +10,6 @@ #include "vpx_config.h" #include "vpx_ports/x86.h" -#include "vp9/common/subpixel.h" #include "vp9/common/loopfilter.h" #include "vp9/common/idct.h" #include "vp9/common/pragmas.h" @@ -38,17 +37,6 @@ void vp9_arch_x86_common_init(VP9_COMMON *ctx) { // rtcd->idct.iwalsh16 = vp9_short_inv_walsh4x4_mmx; // rtcd->idct.iwalsh1 = vp9_short_inv_walsh4x4_1_mmx; - /* Disabled due to unsupported enhanced interpolation/high_prec mv - rtcd->subpix.sixtap16x16 = vp9_sixtap_predict16x16_mmx; - rtcd->subpix.sixtap8x8 = vp9_sixtap_predict8x8_mmx; - rtcd->subpix.sixtap8x4 = vp9_sixtap_predict8x4_mmx; - rtcd->subpix.sixtap4x4 = vp9_sixtap_predict4x4_mmx; - */ - rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_mmx; - rtcd->subpix.bilinear8x8 = vp9_bilinear_predict8x8_mmx; - rtcd->subpix.bilinear8x4 = vp9_bilinear_predict8x4_mmx; - rtcd->subpix.bilinear4x4 = vp9_bilinear_predict4x4_mmx; - #if CONFIG_POSTPROC rtcd->postproc.down = vp9_mbpost_proc_down_mmx; /*rtcd->postproc.across = vp9_mbpost_proc_across_ip_c;*/ @@ -65,14 +53,6 @@ void vp9_arch_x86_common_init(VP9_COMMON *ctx) { // rtcd->idct.iwalsh16 = vp9_short_inv_walsh4x4_sse2; - /* Disabled due to unsupported enhanced interpolation/high_prec mv - rtcd->subpix.sixtap16x16 = vp9_sixtap_predict16x16_sse2; - rtcd->subpix.sixtap8x8 = vp9_sixtap_predict8x8_sse2; - rtcd->subpix.sixtap8x4 = vp9_sixtap_predict8x4_sse2; - */ - rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_sse2; - rtcd->subpix.bilinear8x8 = vp9_bilinear_predict8x8_sse2; - #if CONFIG_POSTPROC rtcd->postproc.down = vp9_mbpost_proc_down_xmm; rtcd->postproc.across = vp9_mbpost_proc_across_ip_xmm; @@ -86,14 +66,6 @@ void vp9_arch_x86_common_init(VP9_COMMON *ctx) { #if HAVE_SSSE3 if (flags & HAS_SSSE3) { - /* Disabled due to unsupported enhanced interpolation/high_prec mv - rtcd->subpix.sixtap16x16 = vp9_sixtap_predict16x16_ssse3; - rtcd->subpix.sixtap8x8 = vp9_sixtap_predict8x8_ssse3; - rtcd->subpix.sixtap8x4 = vp9_sixtap_predict8x4_ssse3; - rtcd->subpix.sixtap4x4 = vp9_sixtap_predict4x4_ssse3; - rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_ssse3; - rtcd->subpix.bilinear8x8 = vp9_bilinear_predict8x8_ssse3; - */ /* these are disable because of unsupported diagonal pred modes rtcd->recon.build_intra_predictors_mbuv = diff --git a/vp9/encoder/encodeframe.c b/vp9/encoder/encodeframe.c index a3fe052f43..7d72dcc301 100644 --- a/vp9/encoder/encodeframe.c +++ b/vp9/encoder/encodeframe.c @@ -33,7 +33,6 @@ #include <stdio.h> #include <math.h> #include <limits.h> -#include "vp9/common/subpixel.h" #include "vpx_ports/vpx_timer.h" #include "vp9/common/pred_common.h" #include "vp9/common/mvref_common.h" -- GitLab