Removing get_scale_ref_frame_idx() function + cleanup.
Change-Id: Ic9472f361f8749a165aa464c2fa859681b66381b
This commit is contained in:
Родитель
eb4cb43397
Коммит
e4755db40b
|
@ -780,7 +780,8 @@ typedef struct VP9_COMP {
|
|||
PARTITION_CONTEXT left_seg_context[8];
|
||||
} VP9_COMP;
|
||||
|
||||
static int get_ref_frame_idx(VP9_COMP *cpi, MV_REFERENCE_FRAME ref_frame) {
|
||||
static int get_ref_frame_idx(const VP9_COMP *cpi,
|
||||
MV_REFERENCE_FRAME ref_frame) {
|
||||
if (ref_frame == LAST_FRAME) {
|
||||
return cpi->lst_fb_idx;
|
||||
} else if (ref_frame == GOLDEN_FRAME) {
|
||||
|
@ -790,17 +791,6 @@ static int get_ref_frame_idx(VP9_COMP *cpi, MV_REFERENCE_FRAME ref_frame) {
|
|||
}
|
||||
}
|
||||
|
||||
static int get_scale_ref_frame_idx(VP9_COMP *cpi,
|
||||
MV_REFERENCE_FRAME ref_frame) {
|
||||
if (ref_frame == LAST_FRAME) {
|
||||
return 0;
|
||||
} else if (ref_frame == GOLDEN_FRAME) {
|
||||
return 1;
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
static YV12_BUFFER_CONFIG *get_ref_frame_buffer(VP9_COMP *cpi,
|
||||
MV_REFERENCE_FRAME ref_frame) {
|
||||
VP9_COMMON *const cm = &cpi->common;
|
||||
|
|
|
@ -60,8 +60,8 @@ static int full_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
int buf_offset;
|
||||
int stride = xd->plane[0].pre[0].stride;
|
||||
|
||||
YV12_BUFFER_CONFIG *scaled_ref_frame = vp9_get_scaled_ref_frame(cpi, ref);
|
||||
|
||||
const YV12_BUFFER_CONFIG *scaled_ref_frame = vp9_get_scaled_ref_frame(cpi,
|
||||
ref);
|
||||
if (scaled_ref_frame) {
|
||||
int i;
|
||||
// Swap out the reference frame for a version that's been scaled to
|
||||
|
|
|
@ -2304,13 +2304,12 @@ void vp9_setup_buffer_inter(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
ref_frame, block_size);
|
||||
}
|
||||
|
||||
YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(VP9_COMP *cpi, int ref_frame) {
|
||||
YV12_BUFFER_CONFIG *scaled_ref_frame = NULL;
|
||||
int fb = get_ref_frame_idx(cpi, ref_frame);
|
||||
int fb_scale = get_scale_ref_frame_idx(cpi, ref_frame);
|
||||
if (cpi->scaled_ref_idx[fb_scale] != cpi->common.ref_frame_map[fb])
|
||||
scaled_ref_frame = &cpi->common.yv12_fb[cpi->scaled_ref_idx[fb_scale]];
|
||||
return scaled_ref_frame;
|
||||
const YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi,
|
||||
int ref_frame) {
|
||||
const VP9_COMMON *const cm = &cpi->common;
|
||||
const int ref_idx = cm->ref_frame_map[get_ref_frame_idx(cpi, ref_frame)];
|
||||
const int scaled_idx = cpi->scaled_ref_idx[ref_frame - 1];
|
||||
return (scaled_idx != ref_idx) ? &cm->yv12_fb[scaled_idx] : NULL;
|
||||
}
|
||||
|
||||
static INLINE int get_switchable_rate(const MACROBLOCK *x) {
|
||||
|
@ -2342,7 +2341,8 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
int tmp_row_min = x->mv_row_min;
|
||||
int tmp_row_max = x->mv_row_max;
|
||||
|
||||
YV12_BUFFER_CONFIG *scaled_ref_frame = vp9_get_scaled_ref_frame(cpi, ref);
|
||||
const YV12_BUFFER_CONFIG *scaled_ref_frame = vp9_get_scaled_ref_frame(cpi,
|
||||
ref);
|
||||
|
||||
int_mv pred_mv[3];
|
||||
pred_mv[0] = mbmi->ref_mvs[ref][0];
|
||||
|
@ -2489,7 +2489,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
struct buf_2d backup_yv12[2][MAX_MB_PLANE];
|
||||
struct buf_2d scaled_first_yv12 = xd->plane[0].pre[0];
|
||||
int last_besterr[2] = {INT_MAX, INT_MAX};
|
||||
YV12_BUFFER_CONFIG *const scaled_ref_frame[2] = {
|
||||
const YV12_BUFFER_CONFIG *const scaled_ref_frame[2] = {
|
||||
vp9_get_scaled_ref_frame(cpi, mbmi->ref_frame[0]),
|
||||
vp9_get_scaled_ref_frame(cpi, mbmi->ref_frame[1])
|
||||
};
|
||||
|
|
|
@ -46,7 +46,8 @@ void vp9_setup_buffer_inter(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
int_mv frame_near_mv[MAX_REF_FRAMES],
|
||||
struct buf_2d yv12_mb[4][MAX_MB_PLANE]);
|
||||
|
||||
YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(VP9_COMP *cpi, int ref_frame);
|
||||
const YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi,
|
||||
int ref_frame);
|
||||
|
||||
void vp9_rd_pick_intra_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int *r, int64_t *d, BLOCK_SIZE bsize,
|
||||
|
|
Загрузка…
Ссылка в новой задаче