Separate setup_scale_factor/extend_frame_borders
This commit takes out vp9_extend_frame_borders from vp9_setup_scale_factors. The refactoring is for the preparation of the use of lazy border extension at decoder. This makes it necessary to handle border extension separately at encoder/decoder. The use of vp9_extend_frame_borders will be removed, when lazy border extension is ready. Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
This commit is contained in:
Родитель
25aae73a30
Коммит
86d2a9b978
|
@ -218,9 +218,6 @@ void vp9_setup_scale_factors(VP9_COMMON *cm, int i) {
|
|||
vp9_setup_scale_factors_for_frame(sf, sfc,
|
||||
fb->y_crop_width, fb->y_crop_height,
|
||||
cm->width, cm->height);
|
||||
|
||||
if (vp9_is_scaled(sfc))
|
||||
vp9_extend_frame_borders(fb, cm->subsampling_x, cm->subsampling_y);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include <assert.h>
|
||||
|
||||
#include "./vp9_rtcd.h"
|
||||
#include "./vpx_scale_rtcd.h"
|
||||
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
#include "vpx_scale/vpx_scale.h"
|
||||
|
||||
|
@ -1154,8 +1156,12 @@ static size_t read_uncompressed_header(VP9D_COMP *pbi,
|
|||
cm->allow_high_precision_mv = vp9_rb_read_bit(rb);
|
||||
cm->mcomp_filter_type = read_interp_filter_type(rb);
|
||||
|
||||
for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i)
|
||||
for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
|
||||
vp9_setup_scale_factors(cm, i);
|
||||
if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
|
||||
vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
|
||||
cm->subsampling_x, cm->subsampling_y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3968,8 +3968,12 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags,
|
|||
VP9BORDERINPIXELS);
|
||||
|
||||
// Calculate scaling factors for each of the 3 available references
|
||||
for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i)
|
||||
for (i = 0; i < ALLOWED_REFS_PER_FRAME; ++i) {
|
||||
vp9_setup_scale_factors(cm, i);
|
||||
if (vp9_is_scaled(&cm->active_ref_scale_comm[i]))
|
||||
vp9_extend_frame_borders(&cm->yv12_fb[cm->active_ref_idx[i]],
|
||||
cm->subsampling_x, cm->subsampling_y);
|
||||
}
|
||||
|
||||
vp9_setup_interp_filters(&cpi->mb.e_mbd, DEFAULT_INTERP_FILTER, cm);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче