Merge "remove subpixel invoke functions" into experimental

This commit is contained in:
Jim Bankoski 2012-11-21 19:55:16 -08:00 committed by Gerrit Code Review
commit 91d703b2b2
7 changed files with 112 additions and 300 deletions

View File

@ -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;

View File

@ -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

View File

@ -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;
}
}

View File

@ -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"

View File

@ -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

View File

@ -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 =

View File

@ -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"