Remove temporal alt ref from realtime only build
authorAttila Nagy <attilanagy@google.com>
Tue, 22 Feb 2011 08:29:23 +0000 (10:29 +0200)
committerAttila Nagy <attilanagy@google.com>
Tue, 22 Feb 2011 10:53:32 +0000 (12:53 +0200)
It is not used in realtime mode. Reduces memory footprint.

Change-Id: I7f163225762368df5457cfd413050161d3704a3f

vp8/encoder/generic/csystemdependent.c
vp8/encoder/onyx_if.c
vp8/encoder/onyx_int.h
vp8/encoder/x86/x86_csystemdependent.c
vp8/vp8cx.mk

index d9f5474..fc0580d 100644 (file)
@@ -95,9 +95,10 @@ void vp8_cmachine_specific_config(VP8_COMP *cpi)
     cpi->rtcd.search.full_search             = vp8_full_search_sad;
 #endif
     cpi->rtcd.search.diamond_search          = vp8_diamond_search_sad;
-
+#if !(CONFIG_REALTIME_ONLY)
     cpi->rtcd.temporal.apply                 = vp8_temporal_filter_apply_c;
 #endif
+#endif
 
     // Pure C:
     vp8_yv12_copy_partial_frame_ptr = vp8_yv12_copy_partial_frame;
index f7c2c4a..e1a1ed6 100644 (file)
@@ -261,35 +261,31 @@ static void setup_features(VP8_COMP *cpi)
 
 void vp8_dealloc_compressor_data(VP8_COMP *cpi)
 {
-        vpx_free(cpi->tplist);
+    vpx_free(cpi->tplist);
     cpi->tplist = NULL;
 
     // Delete last frame MV storage buffers
-        vpx_free(cpi->lfmv);
-
+    vpx_free(cpi->lfmv);
     cpi->lfmv = 0;
 
-        vpx_free(cpi->lf_ref_frame_sign_bias);
-
+    vpx_free(cpi->lf_ref_frame_sign_bias);
     cpi->lf_ref_frame_sign_bias = 0;
 
-        vpx_free(cpi->lf_ref_frame);
-
+    vpx_free(cpi->lf_ref_frame);
     cpi->lf_ref_frame = 0;
 
     // Delete sementation map
-        vpx_free(cpi->segmentation_map);
-
+    vpx_free(cpi->segmentation_map);
     cpi->segmentation_map = 0;
 
-        vpx_free(cpi->active_map);
-
+    vpx_free(cpi->active_map);
     cpi->active_map = 0;
 
+#if !(CONFIG_REALTIME_ONLY)
     // Delete first pass motion map
-        vpx_free(cpi->fp_motion_map);
-
+    vpx_free(cpi->fp_motion_map);
     cpi->fp_motion_map = 0;
+#endif
 
     vp8_de_alloc_frame_buffers(&cpi->common);
 
@@ -311,21 +307,17 @@ void vp8_dealloc_compressor_data(VP8_COMP *cpi)
     cpi->tok = 0;
 
     // Structure used to monitor GF usage
-        vpx_free(cpi->gf_active_flags);
-
+    vpx_free(cpi->gf_active_flags);
     cpi->gf_active_flags = 0;
 
-        vpx_free(cpi->mb.pip);
-
+    vpx_free(cpi->mb.pip);
     cpi->mb.pip = 0;
 
 #if !(CONFIG_REALTIME_ONLY)
-        vpx_free(cpi->total_stats);
-
+    vpx_free(cpi->total_stats);
     cpi->total_stats = 0;
 
-        vpx_free(cpi->this_frame_stats);
-
+    vpx_free(cpi->this_frame_stats);
     cpi->this_frame_stats = 0;
 #endif
 }
@@ -2161,9 +2153,11 @@ VP8_PTR vp8_create_compressor(VP8_CONFIG *oxcf)
     vpx_memset(cpi->active_map , 1, (cpi->common.mb_rows * cpi->common.mb_cols));
     cpi->active_map_enabled = 0;
 
+#if !(CONFIG_REALTIME_ONLY)
     // Create the first pass motion map structure and set to 0
     // Allocate space for maximum of 15 buffers
     CHECK_MEM_ERROR(cpi->fp_motion_map, vpx_calloc(15*cpi->common.MBs, 1));
+#endif
 
 #if 0
     // Experimental code for lagged and one pass
index a9ccc89..b66131d 100644 (file)
@@ -51,7 +51,9 @@
 #define MV_ZBIN_BOOST        4
 #define ZBIN_OQ_MAX 192
 
+#if !(CONFIG_REALTIME_ONLY)
 #define VP8_TEMPORAL_ALT_REF 1
+#endif
 
 typedef struct
 {
@@ -492,9 +494,11 @@ typedef struct
     FIRSTPASS_STATS *stats_in, *stats_in_end;
     struct vpx_codec_pkt_list  *output_pkt_list;
     int                          first_pass_done;
-    unsigned char *fp_motion_map;
 
+#if !(CONFIG_REALTIME_ONLY)
+    unsigned char *fp_motion_map;
     unsigned char *fp_motion_map_stats, *fp_motion_map_stats_save;
+#endif
 
 #if 0
     // Experimental code for lagged and one pass
index 4e3ce07..61c6032 100644 (file)
@@ -301,7 +301,9 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
 #endif
         cpi->rtcd.quantize.fastquantb            = vp8_fast_quantize_b_sse2;
 
+#if !(CONFIG_REALTIME_ONLY)
         cpi->rtcd.temporal.apply                 = vp8_temporal_filter_apply_sse2;
+#endif
     }
 #endif
 
index a84188f..ed2fedd 100644 (file)
@@ -85,6 +85,7 @@ VP8_CX_SRCS-yes += encoder/temporal_filter.h
 
 ifeq ($(CONFIG_REALTIME_ONLY),yes)
 VP8_CX_SRCS_REMOVE-yes += encoder/firstpass.c
+VP8_CX_SRCS_REMOVE-yes += encoder/temporal_filter.c
 endif
 
 VP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/encodemb_x86.h
@@ -114,4 +115,9 @@ VP8_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/sad_sse4.asm
 VP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/quantize_mmx.asm
 VP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/encodeopt.asm
 
+ifeq ($(CONFIG_REALTIME_ONLY),yes)
+VP8_CX_SRCS_REMOVE-$(HAVE_SSE2) += encoder/x86/temporal_filter_apply_sse2.asm
+endif
+
+
 VP8_CX_SRCS-yes := $(filter-out $(VP8_CX_SRCS_REMOVE-yes),$(VP8_CX_SRCS-yes))