Merge "remove subpixel invoke functions" into experimental
This commit is contained in:
commit
91d703b2b2
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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 =
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user