diff --git a/vp9/common/arm/neon/vp9_recon_neon.c b/vp9/common/arm/neon/vp9_recon_neon.c index cc3f9f59d23b0f34c714d627cf6dd7954f9ea925..1bf7a29bdf5a9fda4461e7d8df9634f77a650f6f 100644 --- a/vp9/common/arm/neon/vp9_recon_neon.c +++ b/vp9/common/arm/neon/vp9_recon_neon.c @@ -15,7 +15,7 @@ extern void vp8_recon16x16mb_neon(unsigned char *pred_ptr, short *diff_ptr, unsigned char *dst_ptr, int ystride, unsigned char *udst_ptr, unsigned char *vdst_ptr); -void vp8_recon_mb_neon(const vp8_recon_rtcd_vtable_t *rtcd, MACROBLOCKD *xd) { +void vp8_recon_mb_neon(MACROBLOCKD *xd) { unsigned char *pred_ptr = &xd->predictor[0]; short *diff_ptr = &xd->diff[0]; unsigned char *dst_ptr = xd->dst.y_buffer; diff --git a/vp9/common/generic/vp9_systemdependent.c b/vp9/common/generic/vp9_systemdependent.c index 29d1c3057dd37e63e3f0d2c856a1ca0f815465bc..4c3a7d3f25151785b5e0dc8637fc437a9ec64332 100644 --- a/vp9/common/generic/vp9_systemdependent.c +++ b/vp9/common/generic/vp9_systemdependent.c @@ -22,16 +22,6 @@ void vp9_machine_specific_config(VP9_COMMON *ctx) { #if CONFIG_RUNTIME_CPU_DETECT VP9_COMMON_RTCD *rtcd = &ctx->rtcd; -#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; - rtcd->postproc.downacross = vp9_post_proc_down_and_across_c; - rtcd->postproc.addnoise = vp9_plane_add_noise_c; - rtcd->postproc.blend_mb_inner = vp9_blend_mb_inner_c; - rtcd->postproc.blend_mb_outer = vp9_blend_mb_outer_c; - rtcd->postproc.blend_b = vp9_blend_b_c; -#endif - #endif #if ARCH_X86 || ARCH_X86_64 diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h index 18750e76736b8c6dea5d1bfa2c9dee0b4f520fd5..2e0dcc0fdd64f14a9cd2baf0f67f0166937db447 100644 --- a/vp9/common/vp9_onyxc_int.h +++ b/vp9/common/vp9_onyxc_int.h @@ -147,9 +147,6 @@ typedef enum { typedef struct VP9_COMMON_RTCD { #if CONFIG_RUNTIME_CPU_DETECT -#if CONFIG_POSTPROC - vp9_postproc_rtcd_vtable_t postproc; -#endif int flags; #else int unused; diff --git a/vp9/common/vp9_postproc.c b/vp9/common/vp9_postproc.c index 5752fbd8240217dde8e7806cee0bfdeae8e10f24..aa8186be24f7b4e4d03f9a66a931ea88413a22dc 100644 --- a/vp9/common/vp9_postproc.c +++ b/vp9/common/vp9_postproc.c @@ -15,6 +15,8 @@ #include "vp9/common/vp9_textblit.h" #include "vpx_scale/vpxscale.h" #include "vp9_systemdependent.h" +#include "./vp9_rtcd.h" + #include <math.h> #include <stdlib.h> @@ -286,82 +288,78 @@ static void deblock_and_de_macro_block(YV12_BUFFER_CONFIG *source, YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, - int flag, - vp9_postproc_rtcd_vtable_t *rtcd) { + int flag) { double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; int ppl = (int)(level + .5); (void) low_var_thresh; (void) flag; - POSTPROC_INVOKE(rtcd, downacross)(source->y_buffer, post->y_buffer, - source->y_stride, post->y_stride, - source->y_height, source->y_width, ppl); - POSTPROC_INVOKE(rtcd, across)(post->y_buffer, post->y_stride, - post->y_height, post->y_width, q2mbl(q)); - POSTPROC_INVOKE(rtcd, down)(post->y_buffer, post->y_stride, - post->y_height, post->y_width, q2mbl(q)); - - POSTPROC_INVOKE(rtcd, downacross)(source->u_buffer, post->u_buffer, - source->uv_stride, post->uv_stride, - source->uv_height, source->uv_width, ppl); - POSTPROC_INVOKE(rtcd, downacross)(source->v_buffer, post->v_buffer, - source->uv_stride, post->uv_stride, - source->uv_height, source->uv_width, ppl); + vp9_post_proc_down_and_across(source->y_buffer, post->y_buffer, + source->y_stride, post->y_stride, + source->y_height, source->y_width, ppl); + + vp9_mbpost_proc_across_ip(post->y_buffer, post->y_stride, post->y_height, + post->y_width, q2mbl(q)); + + vp9_mbpost_proc_down(post->y_buffer, post->y_stride, post->y_height, + post->y_width, q2mbl(q)); + + vp9_post_proc_down_and_across(source->u_buffer, post->u_buffer, + source->uv_stride, post->uv_stride, + source->uv_height, source->uv_width, ppl); + vp9_post_proc_down_and_across(source->v_buffer, post->v_buffer, + source->uv_stride, post->uv_stride, + source->uv_height, source->uv_width, ppl); } void vp9_deblock(YV12_BUFFER_CONFIG *source, YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, - int flag, - vp9_postproc_rtcd_vtable_t *rtcd) { + int flag) { double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; int ppl = (int)(level + .5); (void) low_var_thresh; (void) flag; - POSTPROC_INVOKE(rtcd, downacross)(source->y_buffer, post->y_buffer, - source->y_stride, post->y_stride, - source->y_height, source->y_width, ppl); - POSTPROC_INVOKE(rtcd, downacross)(source->u_buffer, post->u_buffer, - source->uv_stride, post->uv_stride, - source->uv_height, source->uv_width, ppl); - POSTPROC_INVOKE(rtcd, downacross)(source->v_buffer, post->v_buffer, - source->uv_stride, post->uv_stride, - source->uv_height, source->uv_width, ppl); + vp9_post_proc_down_and_across(source->y_buffer, post->y_buffer, + source->y_stride, post->y_stride, + source->y_height, source->y_width, ppl); + + vp9_post_proc_down_and_across(source->u_buffer, post->u_buffer, + source->uv_stride, post->uv_stride, + source->uv_height, source->uv_width, ppl); + + vp9_post_proc_down_and_across(source->v_buffer, post->v_buffer, + source->uv_stride, post->uv_stride, + source->uv_height, source->uv_width, ppl); } void vp9_de_noise(YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, - int flag, - vp9_postproc_rtcd_vtable_t *rtcd) { + int flag) { double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; int ppl = (int)(level + .5); (void) post; (void) low_var_thresh; (void) flag; - POSTPROC_INVOKE(rtcd, downacross)(src->y_buffer + 2 * src->y_stride + 2, - src->y_buffer + 2 * src->y_stride + 2, - src->y_stride, - src->y_stride, - src->y_height - 4, - src->y_width - 4, - ppl); - POSTPROC_INVOKE(rtcd, downacross)(src->u_buffer + 2 * src->uv_stride + 2, - src->u_buffer + 2 * src->uv_stride + 2, - src->uv_stride, - src->uv_stride, - src->uv_height - 4, - src->uv_width - 4, ppl); - POSTPROC_INVOKE(rtcd, downacross)(src->v_buffer + 2 * src->uv_stride + 2, - src->v_buffer + 2 * src->uv_stride + 2, - src->uv_stride, - src->uv_stride, - src->uv_height - 4, - src->uv_width - 4, ppl); + vp9_post_proc_down_and_across(src->y_buffer + 2 * src->y_stride + 2, + src->y_buffer + 2 * src->y_stride + 2, + src->y_stride, src->y_stride, src->y_height - 4, + src->y_width - 4, ppl); + + vp9_post_proc_down_and_across(src->u_buffer + 2 * src->uv_stride + 2, + src->u_buffer + 2 * src->uv_stride + 2, + src->uv_stride, src->uv_stride, + src->uv_height - 4, src->uv_width - 4, ppl); + + vp9_post_proc_down_and_across(src->v_buffer + 2 * src->uv_stride + 2, + src->v_buffer + 2 * src->uv_stride + 2, + src->uv_stride, src->uv_stride, + src->uv_height - 4, src->uv_width - 4, ppl); } double vp9_gaussian(double sigma, double mu, double x) { @@ -620,13 +618,6 @@ static void constrain_line(int x0, int *x1, int y0, int *y1, } } - -#if CONFIG_RUNTIME_CPU_DETECT -#define RTCD_VTABLE(oci) (&(oci)->rtcd.postproc) -#else -#define RTCD_VTABLE(oci) NULL -#endif - int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp9_ppflags_t *ppflags) { int q = oci->filter_level * 10 / 6; @@ -657,11 +648,9 @@ int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, if (flags & VP9D_DEMACROBLOCK) { deblock_and_de_macro_block(oci->frame_to_show, &oci->post_proc_buffer, - q + (deblock_level - 5) * 10, 1, 0, - RTCD_VTABLE(oci)); + q + (deblock_level - 5) * 10, 1, 0); } else if (flags & VP9D_DEBLOCK) { - vp9_deblock(oci->frame_to_show, &oci->post_proc_buffer, - q, 1, 0, RTCD_VTABLE(oci)); + vp9_deblock(oci->frame_to_show, &oci->post_proc_buffer, q, 1, 0); } else { vp8_yv12_copy_frame(oci->frame_to_show, &oci->post_proc_buffer); } @@ -672,14 +661,14 @@ int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, fillrd(&oci->postproc_state, 63 - q, noise_level); } - POSTPROC_INVOKE(RTCD_VTABLE(oci), addnoise)(oci->post_proc_buffer.y_buffer, - oci->postproc_state.noise, - oci->postproc_state.blackclamp, - oci->postproc_state.whiteclamp, - oci->postproc_state.bothclamp, - oci->post_proc_buffer.y_width, - oci->post_proc_buffer.y_height, - oci->post_proc_buffer.y_stride); + vp9_plane_add_noise(oci->post_proc_buffer.y_buffer, + oci->postproc_state.noise, + oci->postproc_state.blackclamp, + oci->postproc_state.whiteclamp, + oci->postproc_state.bothclamp, + oci->post_proc_buffer.y_width, + oci->post_proc_buffer.y_height, + oci->post_proc_buffer.y_stride); } #if CONFIG_POSTPROC_VISUALIZER @@ -945,11 +934,8 @@ int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, U = B_PREDICTION_MODE_colors[bmi->as_mode.first][1]; V = B_PREDICTION_MODE_colors[bmi->as_mode.first][2]; - POSTPROC_INVOKE(RTCD_VTABLE(oci), blend_b)(yl + bx, - ul + (bx >> 1), - vl + (bx >> 1), - Y, U, V, - 0xc000, y_stride); + vp9_blend_b(yl + bx, ul + (bx >> 1), vl + (bx >> 1), Y, U, V, + 0xc000, y_stride); } bmi++; } @@ -963,11 +949,8 @@ int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, U = MB_PREDICTION_MODE_colors[mi->mbmi.mode][1]; V = MB_PREDICTION_MODE_colors[mi->mbmi.mode][2]; - POSTPROC_INVOKE(RTCD_VTABLE(oci), blend_mb_inner)(y_ptr + x, - u_ptr + (x >> 1), - v_ptr + (x >> 1), - Y, U, V, - 0xc000, y_stride); + vp9_blend_mb_inner(y_ptr + x, u_ptr + (x >> 1), v_ptr + (x >> 1), + Y, U, V, 0xc000, y_stride); } mi++; @@ -1002,11 +985,8 @@ int vp9_post_proc_frame(VP9_COMMON *oci, YV12_BUFFER_CONFIG *dest, U = MV_REFERENCE_FRAME_colors[mi->mbmi.ref_frame][1]; V = MV_REFERENCE_FRAME_colors[mi->mbmi.ref_frame][2]; - POSTPROC_INVOKE(RTCD_VTABLE(oci), blend_mb_outer)(y_ptr + x, - u_ptr + (x >> 1), - v_ptr + (x >> 1), - Y, U, V, - 0xc000, y_stride); + vp9_blend_mb_outer(y_ptr + x, u_ptr + (x >> 1), v_ptr + (x >> 1), + Y, U, V, 0xc000, y_stride); } mi++; diff --git a/vp9/common/vp9_postproc.h b/vp9/common/vp9_postproc.h index bf56b5692e9f37b80779fd5ba252f5f3413b48e7..de011b57577b4b7c21fbc5b6cba063c6d671b8f8 100644 --- a/vp9/common/vp9_postproc.h +++ b/vp9/common/vp9_postproc.h @@ -12,91 +12,6 @@ #ifndef POSTPROC_H #define POSTPROC_H -#define prototype_postproc_inplace(sym)\ - void sym(unsigned char *dst, int pitch, int rows, int cols, int flimit) - -#define prototype_postproc(sym)\ - void sym(unsigned char *src, unsigned char *dst, int src_pitch, \ - int dst_pitch, int rows, int cols, int flimit) - -#define prototype_postproc_addnoise(sym) \ - void sym(unsigned char *s, char *noise, char blackclamp[16], \ - char whiteclamp[16], char bothclamp[16], \ - unsigned int w, unsigned int h, int pitch) - -#define prototype_postproc_blend_mb_inner(sym)\ - void sym(unsigned char *y, unsigned char *u, unsigned char *v, \ - int y1, int u1, int v1, int alpha, int stride) - -#define prototype_postproc_blend_mb_outer(sym)\ - void sym(unsigned char *y, unsigned char *u, unsigned char *v, \ - int y1, int u1, int v1, int alpha, int stride) - -#define prototype_postproc_blend_b(sym)\ - void sym(unsigned char *y, unsigned char *u, unsigned char *v, \ - int y1, int u1, int v1, int alpha, int stride) - -#if ARCH_X86 || ARCH_X86_64 -#include "x86/vp9_postproc_x86.h" -#endif - -#ifndef vp9_postproc_down -#define vp9_postproc_down vp9_mbpost_proc_down_c -#endif -extern prototype_postproc_inplace(vp9_postproc_down); - -#ifndef vp9_postproc_across -#define vp9_postproc_across vp9_mbpost_proc_across_ip_c -#endif -extern prototype_postproc_inplace(vp9_postproc_across); - -#ifndef vp9_postproc_downacross -#define vp9_postproc_downacross vp9_post_proc_down_and_across_c -#endif -extern prototype_postproc(vp9_postproc_downacross); - -#ifndef vp9_postproc_addnoise -#define vp9_postproc_addnoise vp9_plane_add_noise_c -#endif -extern prototype_postproc_addnoise(vp9_postproc_addnoise); - -#ifndef vp9_postproc_blend_mb_inner -#define vp9_postproc_blend_mb_inner vp9_blend_mb_inner_c -#endif -extern prototype_postproc_blend_mb_inner(vp9_postproc_blend_mb_inner); - -#ifndef vp9_postproc_blend_mb_outer -#define vp9_postproc_blend_mb_outer vp9_blend_mb_outer_c -#endif -extern prototype_postproc_blend_mb_outer(vp9_postproc_blend_mb_outer); - -#ifndef vp9_postproc_blend_b -#define vp9_postproc_blend_b vp9_blend_b_c -#endif -extern prototype_postproc_blend_b(vp9_postproc_blend_b); - -typedef prototype_postproc((*vp9_postproc_fn_t)); -typedef prototype_postproc_inplace((*vp9_postproc_inplace_fn_t)); -typedef prototype_postproc_addnoise((*vp9_postproc_addnoise_fn_t)); -typedef prototype_postproc_blend_mb_inner((*vp9_postproc_blend_mb_inner_fn_t)); -typedef prototype_postproc_blend_mb_outer((*vp9_postproc_blend_mb_outer_fn_t)); -typedef prototype_postproc_blend_b((*vp9_postproc_blend_b_fn_t)); -typedef struct { - vp9_postproc_inplace_fn_t down; - vp9_postproc_inplace_fn_t across; - vp9_postproc_fn_t downacross; - vp9_postproc_addnoise_fn_t addnoise; - vp9_postproc_blend_mb_inner_fn_t blend_mb_inner; - vp9_postproc_blend_mb_outer_fn_t blend_mb_outer; - vp9_postproc_blend_b_fn_t blend_b; -} vp9_postproc_rtcd_vtable_t; - -#if CONFIG_RUNTIME_CPU_DETECT -#define POSTPROC_INVOKE(ctx,fn) (ctx)->fn -#else -#define POSTPROC_INVOKE(ctx,fn) vp9_postproc_##fn -#endif - #include "vpx_ports/mem.h" struct postproc_state { int last_q; @@ -116,13 +31,11 @@ void vp9_de_noise(YV12_BUFFER_CONFIG *source, YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, - int flag, - vp9_postproc_rtcd_vtable_t *rtcd); + int flag); void vp9_deblock(YV12_BUFFER_CONFIG *source, YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, - int flag, - vp9_postproc_rtcd_vtable_t *rtcd); + int flag); #endif diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh index ea134a8540a4f7af8f9d4b5fec8d92e3986bc209..ee9a66cdca7208f59ab97f1356d46e554031ae1f 100644 --- a/vp9/common/vp9_rtcd_defs.sh +++ b/vp9/common/vp9_rtcd_defs.sh @@ -218,6 +218,34 @@ vp9_loop_filter_simple_bh_sse2=vp9_loop_filter_bhs_sse2 vp9_loop_filter_simple_bh_media=vp9_loop_filter_bhs_armv6 vp9_loop_filter_simple_bh_neon=vp9_loop_filter_bhs_neon +# +# post proc +# +prototype void vp9_mbpost_proc_down "unsigned char *dst, int pitch, int rows, int cols, int flimit" +specialize vp9_mbpost_proc_down mmx sse2 +vp9_mbpost_proc_down_sse2=vp9_mbpost_proc_down_xmm + +prototype void vp9_mbpost_proc_across_ip "unsigned char *src, int pitch, int rows, int cols, int flimit" +specialize vp9_mbpost_proc_across_ip sse2 +vp9_mbpost_proc_across_ip_sse2=vp9_mbpost_proc_across_ip_xmm + +prototype void vp9_post_proc_down_and_across "unsigned char *src_ptr, unsigned char *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit" +specialize vp9_post_proc_down_and_across mmx sse2 +vp9_post_proc_down_and_across_sse2=vp9_post_proc_down_and_across_xmm + +prototype void vp9_plane_add_noise "unsigned char *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch" +specialize vp9_plane_add_noise mmx sse2 +vp9_plane_add_noise_sse2=vp9_plane_add_noise_wmt + +prototype void vp9_blend_mb_inner "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride" +specialize vp9_blend_mb_inner + +prototype void vp9_blend_mb_outer "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride" +specialize vp9_blend_mb_outer + +prototype void vp9_blend_b "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride" +specialize vp9_blend_b + # # sad 16x3, 3x16 # diff --git a/vp9/common/x86/vp9_x86_systemdependent.c b/vp9/common/x86/vp9_x86_systemdependent.c index 8a9f04c9a45b91016b42ed92877c443b83fdf85e..23b7a588a0be5d0a1f2ee053bfb4cfd821358ef4 100644 --- a/vp9/common/x86/vp9_x86_systemdependent.c +++ b/vp9/common/x86/vp9_x86_systemdependent.c @@ -31,12 +31,6 @@ void vp9_arch_x86_common_init(VP9_COMMON *ctx) { // The commented functions need to be re-written for vpx. if (flags & HAS_MMX) { -#if CONFIG_POSTPROC - rtcd->postproc.down = vp9_mbpost_proc_down_mmx; - /*rtcd->postproc.across = vp9_mbpost_proc_across_ip_c;*/ - rtcd->postproc.downacross = vp9_post_proc_down_and_across_mmx; - rtcd->postproc.addnoise = vp9_plane_add_noise_mmx; -#endif } #endif @@ -47,12 +41,6 @@ void vp9_arch_x86_common_init(VP9_COMMON *ctx) { // rtcd->idct.iwalsh16 = vp9_short_inv_walsh4x4_sse2; -#if CONFIG_POSTPROC - rtcd->postproc.down = vp9_mbpost_proc_down_xmm; - rtcd->postproc.across = vp9_mbpost_proc_across_ip_xmm; - rtcd->postproc.downacross = vp9_post_proc_down_and_across_xmm; - rtcd->postproc.addnoise = vp9_plane_add_noise_wmt; -#endif } #endif diff --git a/vp9/encoder/vp9_encodemb.h b/vp9/encoder/vp9_encodemb.h index 38d7c73d4160126a95997633dac5cf7f10e0d9e0..3857c66485dd97b4eaf4503d51a6be4aebdd8266 100644 --- a/vp9/encoder/vp9_encodemb.h +++ b/vp9/encoder/vp9_encodemb.h @@ -25,14 +25,6 @@ typedef struct { } MODE_DEFINITION; -#if CONFIG_RUNTIME_CPU_DETECT -#define ENCODEMB_INVOKE(ctx,fn) (ctx)->fn -#else -#define ENCODEMB_INVOKE(ctx,fn) vp9_encodemb_##fn -#endif - - - #include "vp9_onyx_int.h" struct VP9_ENCODER_RTCD; void vp9_encode_inter16x16(MACROBLOCK *x); diff --git a/vp9/encoder/vp9_mbgraph.c b/vp9/encoder/vp9_mbgraph.c index 0a3e24671e2850ca77340577737756ecc4dbcf37..059572e249d1277a68477d4fe1660475cacab5b4 100644 --- a/vp9/encoder/vp9_mbgraph.c +++ b/vp9/encoder/vp9_mbgraph.c @@ -184,7 +184,6 @@ static int do_16x16_zerozero_search // FIXME should really use something like near/nearest MV and/or MV prediction xd->pre.y_buffer = ref->y_buffer + mb_y_offset; xd->pre.y_stride = ref->y_stride; - // VARIANCE_INVOKE(&cpi->rtcd.variance, satd16x16) err = vp9_sad16x16(ref->y_buffer + mb_y_offset, ref->y_stride, xd->dst.y_buffer, xd->dst.y_stride, INT_MAX); diff --git a/vp9/encoder/vp9_mcomp.h b/vp9/encoder/vp9_mcomp.h index accb47b7bcbf9fc97a2cac94ef8ebaac519f757a..41ba3f8c7237f3c2edef8a4a711db567688311f6 100644 --- a/vp9/encoder/vp9_mcomp.h +++ b/vp9/encoder/vp9_mcomp.h @@ -82,10 +82,4 @@ typedef int (*vp9_diamond_search_fn_t)(MACROBLOCK *x, BLOCK *b, BLOCKD *d, int_mv *center_mv); -#if CONFIG_RUNTIME_CPU_DETECT -#define SEARCH_INVOKE(ctx,fn) (ctx)->fn -#else -#define SEARCH_INVOKE(ctx,fn) vp9_search_##fn -#endif - #endif diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index ec9f14e8a98fb99a1f92d9ba57937f05522a2050..3766dd1aecd72ec5bd896f6b2e65bf0b666adde1 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -30,7 +30,6 @@ #include "vpx_mem/vpx_mem.h" #include "vp9/common/vp9_swapyv12buffer.h" #include "vpx_ports/vpx_timer.h" -#include "vp9_temporal_filter.h" #include "vp9/common/vp9_seg_common.h" #include "vp9_mbgraph.h" @@ -3272,9 +3271,9 @@ static void encode_frame_to_data_rate if (cm->frame_type == KEY_FRAME) { - vp9_de_noise(cpi->Source, cpi->Source, l, 1, 0, RTCD(postproc)); + vp9_de_noise(cpi->Source, cpi->Source, l, 1, 0); } else { - vp9_de_noise(cpi->Source, cpi->Source, l, 1, 0, RTCD(postproc)); + vp9_de_noise(cpi->Source, cpi->Source, l, 1, 0); src = cpi->Source->y_buffer; @@ -4385,7 +4384,8 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags, double frame_psnr2, frame_ssim2 = 0; double weight = 0; #if CONFIG_POSTPROC - vp9_deblock(cm->frame_to_show, &cm->post_proc_buffer, cm->filter_level * 10 / 6, 1, 0, IF_RTCD(&cm->rtcd.postproc)); + vp9_deblock(cm->frame_to_show, &cm->post_proc_buffer, + cm->filter_level * 10 / 6, 1, 0); #endif vp9_clear_system_state(); diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h index 8cb77c352152d7d6d4b000c3b4b5f28db13cc7b3..4c4c226975b0a99a598b4f515052c17adea6be8c 100644 --- a/vp9/encoder/vp9_onyx_int.h +++ b/vp9/encoder/vp9_onyx_int.h @@ -26,7 +26,6 @@ #include "vpx_ports/mem.h" #include "vpx/internal/vpx_codec_internal.h" #include "vp9_mcomp.h" -#include "vp9_temporal_filter.h" #include "vp9/common/vp9_findnearmv.h" #include "vp9_lookahead.h" @@ -394,7 +393,6 @@ typedef struct { typedef struct VP9_ENCODER_RTCD { VP9_COMMON_RTCD *common; - vp9_temporal_rtcd_vtable_t temporal; } VP9_ENCODER_RTCD; enum BlockSize { diff --git a/vp9/encoder/vp9_temporal_filter.h b/vp9/encoder/vp9_temporal_filter.h deleted file mode 100644 index c22ff2bab5b920ed86dd9cf1e05cd8adaa35e12c..0000000000000000000000000000000000000000 --- a/vp9/encoder/vp9_temporal_filter.h +++ /dev/null @@ -1,51 +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. - */ - - -#ifndef __INC_TEMPORAL_FILTER_H -#define __INC_TEMPORAL_FILTER_H - -#define prototype_apply(sym)\ - void (sym) \ - ( \ - unsigned char *frame1, \ - unsigned int stride, \ - unsigned char *frame2, \ - unsigned int block_size, \ - int strength, \ - int filter_weight, \ - unsigned int *accumulator, \ - unsigned short *count \ - ) - -#if ARCH_X86 || ARCH_X86_64 -#include "x86/vp9_temporal_filter_x86.h" -#endif - -#ifndef vp9_temporal_filter_apply -#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c -#endif -extern prototype_apply(vp9_temporal_filter_apply); - -typedef struct { - prototype_apply(*apply); -} vp9_temporal_rtcd_vtable_t; - -#if CONFIG_RUNTIME_CPU_DETECT -#define TEMPORAL_INVOKE(ctx,fn) (ctx)->fn -#else -#define TEMPORAL_INVOKE(ctx,fn) vp9_temporal_filter_##fn -#endif - -struct VP9_COMP; - -extern void vp9_temporal_filter_prepare_c(struct VP9_COMP *cpi, int distance); - -#endif // __INC_TEMPORAL_FILTER_H diff --git a/vp9/encoder/x86/vp9_temporal_filter_x86.h b/vp9/encoder/x86/vp9_temporal_filter_x86.h deleted file mode 100644 index 8fae2200d9fd55fcacfb6dc1cde48a8b238014b4..0000000000000000000000000000000000000000 --- a/vp9/encoder/x86/vp9_temporal_filter_x86.h +++ /dev/null @@ -1,27 +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. - */ - - -#ifndef __INC_TEMPORAL_FILTER_X86_H -#define __INC_TEMPORAL_FILTER_X86_H - -#if HAVE_SSE2 -extern prototype_apply(vp9_temporal_filter_apply_sse2); - -#if !CONFIG_RUNTIME_CPU_DETECT - -#undef vp9_temporal_filter_apply -#define vp9_temporal_filter_apply vp9_temporal_filter_apply_sse2 - -#endif - -#endif - -#endif // __INC_TEMPORAL_FILTER_X86_H