Clean out some legacy code.
Removed some unused legacy code relating to GF activity. Change-Id: I0b0fe90a1a5208aaa81d7393ba6cf75ab412dbda
This commit is contained in:
@@ -551,9 +551,6 @@ static void set_offsets(VP9_COMP *cpi,
|
|||||||
xd->above_context = cm->above_context + mb_col;
|
xd->above_context = cm->above_context + mb_col;
|
||||||
xd->left_context = cm->left_context + (mb_row & 3);
|
xd->left_context = cm->left_context + (mb_row & 3);
|
||||||
|
|
||||||
// GF active flags data structure
|
|
||||||
x->gf_active_ptr = (signed char *)&cpi->gf_active_flags[idx_map];
|
|
||||||
|
|
||||||
// Activity map pointer
|
// Activity map pointer
|
||||||
x->mb_activity_ptr = &cpi->mb_activity_map[idx_map];
|
x->mb_activity_ptr = &cpi->mb_activity_map[idx_map];
|
||||||
x->active_ptr = cpi->active_map + idx_map;
|
x->active_ptr = cpi->active_map + idx_map;
|
||||||
|
@@ -332,10 +332,6 @@ static void dealloc_compressor_data(VP9_COMP *cpi) {
|
|||||||
vpx_free(cpi->tok);
|
vpx_free(cpi->tok);
|
||||||
cpi->tok = 0;
|
cpi->tok = 0;
|
||||||
|
|
||||||
// Structure used to monitor GF usage
|
|
||||||
vpx_free(cpi->gf_active_flags);
|
|
||||||
cpi->gf_active_flags = 0;
|
|
||||||
|
|
||||||
// Activity mask based per mb zbin adjustments
|
// Activity mask based per mb zbin adjustments
|
||||||
vpx_free(cpi->mb_activity_map);
|
vpx_free(cpi->mb_activity_map);
|
||||||
cpi->mb_activity_map = 0;
|
cpi->mb_activity_map = 0;
|
||||||
@@ -909,13 +905,6 @@ void vp9_alloc_compressor_data(VP9_COMP *cpi) {
|
|||||||
cpi->gf_bad_count = 0;
|
cpi->gf_bad_count = 0;
|
||||||
cpi->gf_update_recommended = 0;
|
cpi->gf_update_recommended = 0;
|
||||||
|
|
||||||
|
|
||||||
// Structures used to minitor GF usage
|
|
||||||
vpx_free(cpi->gf_active_flags);
|
|
||||||
CHECK_MEM_ERROR(cpi->gf_active_flags,
|
|
||||||
vpx_calloc(1, cm->mb_rows * cm->mb_cols));
|
|
||||||
cpi->gf_active_count = cm->mb_rows * cm->mb_cols;
|
|
||||||
|
|
||||||
vpx_free(cpi->mb_activity_map);
|
vpx_free(cpi->mb_activity_map);
|
||||||
CHECK_MEM_ERROR(cpi->mb_activity_map,
|
CHECK_MEM_ERROR(cpi->mb_activity_map,
|
||||||
vpx_calloc(sizeof(unsigned int),
|
vpx_calloc(sizeof(unsigned int),
|
||||||
@@ -2231,12 +2220,6 @@ static void scale_and_extend_frame(YV12_BUFFER_CONFIG *src_fb,
|
|||||||
|
|
||||||
|
|
||||||
static void update_alt_ref_frame_stats(VP9_COMP *cpi) {
|
static void update_alt_ref_frame_stats(VP9_COMP *cpi) {
|
||||||
VP9_COMMON *cm = &cpi->common;
|
|
||||||
|
|
||||||
// Update data structure that monitors level of reference to last GF
|
|
||||||
vpx_memset(cpi->gf_active_flags, 1, (cm->mb_rows * cm->mb_cols));
|
|
||||||
cpi->gf_active_count = cm->mb_rows * cm->mb_cols;
|
|
||||||
|
|
||||||
// this frame refreshes means next frames don't unless specified by user
|
// this frame refreshes means next frames don't unless specified by user
|
||||||
cpi->common.frames_since_golden = 0;
|
cpi->common.frames_since_golden = 0;
|
||||||
|
|
||||||
@@ -2248,18 +2231,10 @@ static void update_alt_ref_frame_stats(VP9_COMP *cpi) {
|
|||||||
|
|
||||||
// Set the alternate reference frame active flag
|
// Set the alternate reference frame active flag
|
||||||
cpi->source_alt_ref_active = 1;
|
cpi->source_alt_ref_active = 1;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
static void update_golden_frame_stats(VP9_COMP *cpi) {
|
static void update_golden_frame_stats(VP9_COMP *cpi) {
|
||||||
VP9_COMMON *cm = &cpi->common;
|
|
||||||
|
|
||||||
// Update the Golden frame usage counts.
|
// Update the Golden frame usage counts.
|
||||||
if (cpi->refresh_golden_frame) {
|
if (cpi->refresh_golden_frame) {
|
||||||
// Update data structure that monitors level of reference to last GF
|
|
||||||
vpx_memset(cpi->gf_active_flags, 1, (cm->mb_rows * cm->mb_cols));
|
|
||||||
cpi->gf_active_count = cm->mb_rows * cm->mb_cols;
|
|
||||||
|
|
||||||
// this frame refreshes means next frames don't unless specified by user
|
// this frame refreshes means next frames don't unless specified by user
|
||||||
cpi->refresh_golden_frame = 0;
|
cpi->refresh_golden_frame = 0;
|
||||||
cpi->common.frames_since_golden = 0;
|
cpi->common.frames_since_golden = 0;
|
||||||
@@ -3293,28 +3268,9 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the GF usage maps.
|
|
||||||
// This is done after completing the compression of a frame when all modes
|
|
||||||
// etc. are finalized but before loop filter
|
|
||||||
vp9_update_gf_useage_maps(cpi, cm, &cpi->mb);
|
|
||||||
|
|
||||||
if (cm->frame_type == KEY_FRAME)
|
if (cm->frame_type == KEY_FRAME)
|
||||||
cpi->refresh_last_frame = 1;
|
cpi->refresh_last_frame = 1;
|
||||||
|
|
||||||
#if 0
|
|
||||||
{
|
|
||||||
FILE *f = fopen("gfactive.stt", "a");
|
|
||||||
fprintf(f, "%8d %8d %8d %8d %8d\n",
|
|
||||||
cm->current_video_frame,
|
|
||||||
(100 * cpi->gf_active_count)
|
|
||||||
/ (cpi->common.mb_rows * cpi->common.mb_cols),
|
|
||||||
cpi->this_iiratio,
|
|
||||||
cpi->next_iiratio,
|
|
||||||
cpi->refresh_golden_frame);
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
cm->frame_to_show = &cm->yv12_fb[cm->new_fb_idx];
|
cm->frame_to_show = &cm->yv12_fb[cm->new_fb_idx];
|
||||||
|
|
||||||
#if WRITE_RECON_BUFFER
|
#if WRITE_RECON_BUFFER
|
||||||
|
@@ -658,12 +658,6 @@ typedef struct VP9_COMP {
|
|||||||
unsigned int activity_avg;
|
unsigned int activity_avg;
|
||||||
unsigned int *mb_activity_map;
|
unsigned int *mb_activity_map;
|
||||||
int *mb_norm_activity_map;
|
int *mb_norm_activity_map;
|
||||||
|
|
||||||
// Record of which MBs still refer to last golden frame either
|
|
||||||
// directly or through 0,0
|
|
||||||
unsigned char *gf_active_flags;
|
|
||||||
int gf_active_count;
|
|
||||||
|
|
||||||
int output_partition;
|
int output_partition;
|
||||||
|
|
||||||
// Store last frame's MV info for next frame MV prediction
|
// Store last frame's MV info for next frame MV prediction
|
||||||
|
@@ -15,50 +15,6 @@
|
|||||||
#include "vp9/common/vp9_pred_common.h"
|
#include "vp9/common/vp9_pred_common.h"
|
||||||
#include "vp9/common/vp9_tile_common.h"
|
#include "vp9/common/vp9_tile_common.h"
|
||||||
|
|
||||||
void vp9_update_gf_useage_maps(VP9_COMP *cpi, VP9_COMMON *cm, MACROBLOCK *x) {
|
|
||||||
int mb_row, mb_col;
|
|
||||||
|
|
||||||
MODE_INFO *this_mb_mode_info = cm->mi;
|
|
||||||
|
|
||||||
x->gf_active_ptr = (signed char *)cpi->gf_active_flags;
|
|
||||||
|
|
||||||
if ((cm->frame_type == KEY_FRAME) || (cpi->refresh_golden_frame)) {
|
|
||||||
// Reset Gf useage monitors
|
|
||||||
vpx_memset(cpi->gf_active_flags, 1, (cm->mb_rows * cm->mb_cols));
|
|
||||||
cpi->gf_active_count = cm->mb_rows * cm->mb_cols;
|
|
||||||
} else {
|
|
||||||
// for each macroblock row in image
|
|
||||||
for (mb_row = 0; mb_row < cm->mb_rows; mb_row++) {
|
|
||||||
// for each macroblock col in image
|
|
||||||
for (mb_col = 0; mb_col < cm->mb_cols; mb_col++) {
|
|
||||||
|
|
||||||
// If using golden then set GF active flag if not already set.
|
|
||||||
// If using last frame 0,0 mode then leave flag as it is
|
|
||||||
// else if using non 0,0 motion or intra modes then clear
|
|
||||||
// flag if it is currently set
|
|
||||||
if ((this_mb_mode_info->mbmi.ref_frame == GOLDEN_FRAME) ||
|
|
||||||
(this_mb_mode_info->mbmi.ref_frame == ALTREF_FRAME)) {
|
|
||||||
if (*(x->gf_active_ptr) == 0) {
|
|
||||||
*(x->gf_active_ptr) = 1;
|
|
||||||
cpi->gf_active_count++;
|
|
||||||
}
|
|
||||||
} else if ((this_mb_mode_info->mbmi.mode != ZEROMV) &&
|
|
||||||
*(x->gf_active_ptr)) {
|
|
||||||
*(x->gf_active_ptr) = 0;
|
|
||||||
cpi->gf_active_count--;
|
|
||||||
}
|
|
||||||
|
|
||||||
x->gf_active_ptr++; // Step onto next entry
|
|
||||||
this_mb_mode_info++; // skip to next mb
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is to account for the border
|
|
||||||
this_mb_mode_info++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void vp9_enable_segmentation(VP9_PTR ptr) {
|
void vp9_enable_segmentation(VP9_PTR ptr) {
|
||||||
VP9_COMP *cpi = (VP9_COMP *)(ptr);
|
VP9_COMP *cpi = (VP9_COMP *)(ptr);
|
||||||
|
|
||||||
|
@@ -15,8 +15,6 @@
|
|||||||
#include "vp9/common/vp9_blockd.h"
|
#include "vp9/common/vp9_blockd.h"
|
||||||
#include "vp9/encoder/vp9_onyx_int.h"
|
#include "vp9/encoder/vp9_onyx_int.h"
|
||||||
|
|
||||||
void vp9_update_gf_useage_maps(VP9_COMP *cpi, VP9_COMMON *cm, MACROBLOCK *x);
|
|
||||||
|
|
||||||
void vp9_enable_segmentation(VP9_PTR ptr);
|
void vp9_enable_segmentation(VP9_PTR ptr);
|
||||||
void vp9_disable_segmentation(VP9_PTR ptr);
|
void vp9_disable_segmentation(VP9_PTR ptr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user