Remove temporal alt ref from realtime only build

It is not used in realtime mode. Reduces memory footprint.

Change-Id: I7f163225762368df5457cfd413050161d3704a3f
This commit is contained in:
Attila Nagy 2011-02-22 10:29:23 +02:00
parent 945dad277d
commit 7af0d906e3
5 changed files with 30 additions and 23 deletions

View File

@ -95,8 +95,9 @@ 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:

View 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

View 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

View 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

View 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))