shithub: libvpx

Download patch

ref: b38b6abccc4fa469b7cc3c22df2b92578a90fcea
parent: 166d24d07ef4298aaf981e9b37d44b8d9655aa84
parent: cb98b832393b2327f659c698e903da03d600ee93
author: Jim Bankoski <jimbankoski@google.com>
date: Sat Nov 17 04:53:02 EST 2012

Merge "removal of temporal invoke" into experimental

--- a/vp9/common/rtcd_defs.sh
+++ b/vp9/common/rtcd_defs.sh
@@ -501,7 +501,12 @@
 vp9_refining_search_sad_sse3=vp9_refining_search_sadx4
 
 prototype int vp9_diamond_search_sad "struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv"
+specialize vp9_diamond_search_sad sse3
 vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4
+
+prototype void vp9_temporal_filter_apply "unsigned char *frame1, unsigned int stride, unsigned char *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, unsigned short *count"
+specialize vp9_temporal_filter_apply sse2
+
 
 fi
 # end encoder functions
--- a/vp9/encoder/generic/csystemdependent.c
+++ b/vp9/encoder/generic/csystemdependent.c
@@ -27,7 +27,6 @@
 void vp9_cmachine_specific_config(VP9_COMP *cpi) {
 #if CONFIG_RUNTIME_CPU_DETECT
   cpi->rtcd.common                    = &cpi->common.rtcd;
-  cpi->rtcd.temporal.apply                 = vp9_temporal_filter_apply_c;
 #endif
 
   vp9_yv12_copy_partial_frame_ptr = vp9_yv12_copy_partial_frame;
--- a/vp9/encoder/temporal_filter.c
+++ b/vp9/encoder/temporal_filter.c
@@ -317,35 +317,17 @@
            predictor);
 
           // Apply the filter (YUV)
-          TEMPORAL_INVOKE(&cpi->rtcd.temporal, apply)
-          (f->y_buffer + mb_y_offset,
-           f->y_stride,
-           predictor,
-           16,
-           strength,
-           filter_weight,
-           accumulator,
-           count);
+          vp9_temporal_filter_apply(f->y_buffer + mb_y_offset, f->y_stride,
+                                    predictor, 16, strength, filter_weight,
+                                    accumulator, count);
 
-          TEMPORAL_INVOKE(&cpi->rtcd.temporal, apply)
-          (f->u_buffer + mb_uv_offset,
-           f->uv_stride,
-           predictor + 256,
-           8,
-           strength,
-           filter_weight,
-           accumulator + 256,
-           count + 256);
+          vp9_temporal_filter_apply(f->u_buffer + mb_uv_offset, f->uv_stride,
+                                    predictor + 256, 8, strength, filter_weight,
+                                    accumulator + 256, count + 256);
 
-          TEMPORAL_INVOKE(&cpi->rtcd.temporal, apply)
-          (f->v_buffer + mb_uv_offset,
-           f->uv_stride,
-           predictor + 320,
-           8,
-           strength,
-           filter_weight,
-           accumulator + 320,
-           count + 320);
+          vp9_temporal_filter_apply(f->v_buffer + mb_uv_offset, f->uv_stride,
+                                    predictor + 320, 8, strength, filter_weight,
+                                    accumulator + 320, count + 320);
         }
       }
 
--- a/vp9/encoder/x86/x86_csystemdependent.c
+++ b/vp9/encoder/x86/x86_csystemdependent.c
@@ -90,8 +90,6 @@
   /* Override default functions with fastest ones for this CPU. */
 #if HAVE_SSE2
   if (flags & HAS_SSE2) {
-    cpi->rtcd.temporal.apply                 = vp9_temporal_filter_apply_sse2;
-
   }
 #endif