vp9_reconinter.h static functions in header converted to global
Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
This commit is contained in:
parent
3d12e65483
commit
e5e9b05d68
@ -1213,7 +1213,7 @@ void vp9_loop_filter_rows(const YV12_BUFFER_CONFIG *frame_buffer,
|
||||
for (mi_col = 0; mi_col < cm->mi_cols; mi_col += MI_BLOCK_SIZE) {
|
||||
int plane;
|
||||
|
||||
setup_dst_planes(xd, frame_buffer, mi_row, mi_col);
|
||||
vp9_setup_dst_planes(xd, frame_buffer, mi_row, mi_col);
|
||||
|
||||
// TODO(JBB): Make setup_mask work for non 420.
|
||||
if (use_420)
|
||||
|
@ -385,3 +385,38 @@ void vp9_dec_build_inter_predictors_sb(MACROBLOCKD *xd, int mi_row, int mi_col,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void vp9_setup_dst_planes(MACROBLOCKD *xd,
|
||||
const YV12_BUFFER_CONFIG *src,
|
||||
int mi_row, int mi_col) {
|
||||
uint8_t *const buffers[4] = {src->y_buffer, src->u_buffer, src->v_buffer,
|
||||
src->alpha_buffer};
|
||||
const int strides[4] = {src->y_stride, src->uv_stride, src->uv_stride,
|
||||
src->alpha_stride};
|
||||
int i;
|
||||
|
||||
for (i = 0; i < MAX_MB_PLANE; ++i) {
|
||||
struct macroblockd_plane *const pd = &xd->plane[i];
|
||||
setup_pred_plane(&pd->dst, buffers[i], strides[i], mi_row, mi_col, NULL,
|
||||
pd->subsampling_x, pd->subsampling_y);
|
||||
}
|
||||
}
|
||||
|
||||
void vp9_setup_pre_planes(MACROBLOCKD *xd, int idx,
|
||||
const YV12_BUFFER_CONFIG *src,
|
||||
int mi_row, int mi_col,
|
||||
const struct scale_factors *sf) {
|
||||
if (src != NULL) {
|
||||
int i;
|
||||
uint8_t *const buffers[4] = {src->y_buffer, src->u_buffer, src->v_buffer,
|
||||
src->alpha_buffer};
|
||||
const int strides[4] = {src->y_stride, src->uv_stride, src->uv_stride,
|
||||
src->alpha_stride};
|
||||
|
||||
for (i = 0; i < MAX_MB_PLANE; ++i) {
|
||||
struct macroblockd_plane *const pd = &xd->plane[i];
|
||||
setup_pred_plane(&pd->pre[idx], buffers[i], strides[i], mi_row, mi_col,
|
||||
sf, pd->subsampling_x, pd->subsampling_y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -57,41 +57,12 @@ static INLINE void setup_pred_plane(struct buf_2d *dst,
|
||||
dst->stride = stride;
|
||||
}
|
||||
|
||||
// TODO(jkoleszar): audit all uses of this that don't set mb_row, mb_col
|
||||
static void setup_dst_planes(MACROBLOCKD *xd,
|
||||
const YV12_BUFFER_CONFIG *src,
|
||||
int mi_row, int mi_col) {
|
||||
uint8_t *const buffers[4] = {src->y_buffer, src->u_buffer, src->v_buffer,
|
||||
src->alpha_buffer};
|
||||
const int strides[4] = {src->y_stride, src->uv_stride, src->uv_stride,
|
||||
src->alpha_stride};
|
||||
int i;
|
||||
void vp9_setup_dst_planes(MACROBLOCKD *xd, const YV12_BUFFER_CONFIG *src,
|
||||
int mi_row, int mi_col);
|
||||
|
||||
for (i = 0; i < MAX_MB_PLANE; ++i) {
|
||||
struct macroblockd_plane *const pd = &xd->plane[i];
|
||||
setup_pred_plane(&pd->dst, buffers[i], strides[i], mi_row, mi_col, NULL,
|
||||
pd->subsampling_x, pd->subsampling_y);
|
||||
}
|
||||
}
|
||||
|
||||
static void setup_pre_planes(MACROBLOCKD *xd, int idx,
|
||||
const YV12_BUFFER_CONFIG *src,
|
||||
int mi_row, int mi_col,
|
||||
const struct scale_factors *sf) {
|
||||
if (src != NULL) {
|
||||
int i;
|
||||
uint8_t *const buffers[4] = {src->y_buffer, src->u_buffer, src->v_buffer,
|
||||
src->alpha_buffer};
|
||||
const int strides[4] = {src->y_stride, src->uv_stride, src->uv_stride,
|
||||
src->alpha_stride};
|
||||
|
||||
for (i = 0; i < MAX_MB_PLANE; ++i) {
|
||||
struct macroblockd_plane *const pd = &xd->plane[i];
|
||||
setup_pred_plane(&pd->pre[idx], buffers[i], strides[i], mi_row, mi_col,
|
||||
sf, pd->subsampling_x, pd->subsampling_y);
|
||||
}
|
||||
}
|
||||
}
|
||||
void vp9_setup_pre_planes(MACROBLOCKD *xd, int idx,
|
||||
const YV12_BUFFER_CONFIG *src, int mi_row, int mi_col,
|
||||
const struct scale_factors *sf);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
@ -362,7 +362,7 @@ static void set_offsets(VP9_COMMON *const cm, MACROBLOCKD *const xd,
|
||||
// as they are always compared to values that are in 1/8th pel units
|
||||
set_mi_row_col(xd, tile, mi_row, bh, mi_col, bw, cm->mi_rows, cm->mi_cols);
|
||||
|
||||
setup_dst_planes(xd, get_frame_new_buffer(cm), mi_row, mi_col);
|
||||
vp9_setup_dst_planes(xd, get_frame_new_buffer(cm), mi_row, mi_col);
|
||||
}
|
||||
|
||||
static void set_ref(VP9_COMMON *const cm, MACROBLOCKD *const xd,
|
||||
@ -373,7 +373,8 @@ static void set_ref(VP9_COMMON *const cm, MACROBLOCKD *const xd,
|
||||
if (!vp9_is_valid_scale(&ref_buffer->sf))
|
||||
vpx_internal_error(&cm->error, VPX_CODEC_UNSUP_BITSTREAM,
|
||||
"Invalid scale factors");
|
||||
setup_pre_planes(xd, idx, ref_buffer->buf, mi_row, mi_col, &ref_buffer->sf);
|
||||
vp9_setup_pre_planes(xd, idx, ref_buffer->buf, mi_row, mi_col,
|
||||
&ref_buffer->sf);
|
||||
xd->corrupted |= ref_buffer->buf->corrupted;
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ static void loop_filter_rows_mt(const YV12_BUFFER_CONFIG *const frame_buffer,
|
||||
|
||||
sync_read(lf_sync, r, c);
|
||||
|
||||
setup_dst_planes(xd, frame_buffer, mi_row, mi_col);
|
||||
vp9_setup_dst_planes(xd, frame_buffer, mi_row, mi_col);
|
||||
vp9_setup_mask(cm, mi_row, mi_col, mi_8x8 + mi_col, cm->mode_info_stride,
|
||||
&lfm);
|
||||
|
||||
|
@ -607,7 +607,7 @@ static void set_offsets(VP9_COMP *cpi, const TileInfo *const tile,
|
||||
mbmi = &xd->mi_8x8[0]->mbmi;
|
||||
|
||||
// Set up destination pointers
|
||||
setup_dst_planes(xd, get_frame_new_buffer(cm), mi_row, mi_col);
|
||||
vp9_setup_dst_planes(xd, get_frame_new_buffer(cm), mi_row, mi_col);
|
||||
|
||||
// Set up limit values for MV components
|
||||
// mv beyond the range do not produce new/different prediction block
|
||||
@ -2083,8 +2083,9 @@ static void init_encode_frame_mb_context(VP9_COMP *cpi) {
|
||||
vp9_setup_src_planes(x, cpi->Source, 0, 0);
|
||||
|
||||
// TODO(jkoleszar): are these initializations required?
|
||||
setup_pre_planes(xd, 0, get_ref_frame_buffer(cpi, LAST_FRAME), 0, 0, NULL);
|
||||
setup_dst_planes(xd, get_frame_new_buffer(cm), 0, 0);
|
||||
vp9_setup_pre_planes(xd, 0, get_ref_frame_buffer(cpi, LAST_FRAME), 0, 0,
|
||||
NULL);
|
||||
vp9_setup_dst_planes(xd, get_frame_new_buffer(cm), 0, 0);
|
||||
|
||||
vp9_setup_block_planes(&x->e_mbd, cm->subsampling_x, cm->subsampling_y);
|
||||
|
||||
@ -2806,7 +2807,8 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
|
||||
for (ref = 0; ref < 1 + is_compound; ++ref) {
|
||||
YV12_BUFFER_CONFIG *cfg = get_ref_frame_buffer(cpi,
|
||||
mbmi->ref_frame[ref]);
|
||||
setup_pre_planes(xd, ref, cfg, mi_row, mi_col, &xd->block_refs[ref]->sf);
|
||||
vp9_setup_pre_planes(xd, ref, cfg, mi_row, mi_col,
|
||||
&xd->block_refs[ref]->sf);
|
||||
}
|
||||
vp9_build_inter_predictors_sb(xd, mi_row, mi_col, MAX(bsize, BLOCK_8X8));
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
#include "vp9/common/vp9_entropymv.h"
|
||||
#include "vp9/common/vp9_quant_common.h"
|
||||
#include "vp9/common/vp9_reconinter.h" // setup_dst_planes()
|
||||
#include "vp9/common/vp9_reconinter.h" // vp9_setup_dst_planes()
|
||||
#include "vp9/common/vp9_systemdependent.h"
|
||||
|
||||
#include "vp9/encoder/vp9_block.h"
|
||||
@ -500,8 +500,8 @@ void vp9_first_pass(VP9_COMP *cpi) {
|
||||
vp9_clear_system_state();
|
||||
|
||||
vp9_setup_src_planes(x, cpi->Source, 0, 0);
|
||||
setup_pre_planes(xd, 0, lst_yv12, 0, 0, NULL);
|
||||
setup_dst_planes(xd, new_yv12, 0, 0);
|
||||
vp9_setup_pre_planes(xd, 0, lst_yv12, 0, 0, NULL);
|
||||
vp9_setup_dst_planes(xd, new_yv12, 0, 0);
|
||||
|
||||
xd->mi_8x8 = cm->mi_grid_visible;
|
||||
xd->mi_8x8[0] = cm->mi;
|
||||
|
@ -59,7 +59,7 @@ static int full_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
for (i = 0; i < MAX_MB_PLANE; i++)
|
||||
backup_yv12[i] = xd->plane[i].pre[0];
|
||||
|
||||
setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
vp9_setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
}
|
||||
|
||||
vp9_set_mv_search_range(x, &ref_mv.as_mv);
|
||||
@ -160,7 +160,7 @@ static void sub_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
for (i = 0; i < MAX_MB_PLANE; i++)
|
||||
backup_yv12[i] = xd->plane[i].pre[0];
|
||||
|
||||
setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
vp9_setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
}
|
||||
|
||||
tmp_mv->col >>= 3;
|
||||
|
@ -2413,7 +2413,7 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
for (i = 0; i < MAX_MB_PLANE; i++)
|
||||
backup_yv12[i] = xd->plane[i].pre[0];
|
||||
|
||||
setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
vp9_setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
|
||||
}
|
||||
|
||||
vp9_set_mv_search_range(x, &ref_mv);
|
||||
@ -2557,7 +2557,8 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
// motion search code to be used without additional modifications.
|
||||
for (i = 0; i < MAX_MB_PLANE; i++)
|
||||
backup_yv12[ref][i] = xd->plane[i].pre[ref];
|
||||
setup_pre_planes(xd, ref, scaled_ref_frame[ref], mi_row, mi_col, NULL);
|
||||
vp9_setup_pre_planes(xd, ref, scaled_ref_frame[ref], mi_row, mi_col,
|
||||
NULL);
|
||||
}
|
||||
|
||||
frame_mv[refs[ref]].as_int = single_newmv[refs[ref]].as_int;
|
||||
|
Loading…
Reference in New Issue
Block a user