From: Yaowu Xu Date: Fri, 30 Sep 2016 22:07:57 +0000 (-0700) Subject: Rename AOM_ENC/DEC_BORDER_IN_PIXELS X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=671f2bd3f58181d584e710753adbe54aeee22fd8;p=libvpx Rename AOM_ENC/DEC_BORDER_IN_PIXELS Cherry-picked from aom/master: e2721a65cbfb5b560cd884d60eb17f53539df5f0 Change-Id: I4ade58be91e7bca0cc4f2bed98a43177d7f590a5 --- diff --git a/aom_scale/yv12config.h b/aom_scale/yv12config.h index da730c62b..315718e01 100644 --- a/aom_scale/yv12config.h +++ b/aom_scale/yv12config.h @@ -28,8 +28,11 @@ extern "C" { #define AOMINNERBORDERINPIXELS 96 #endif // CONFIG_EXT_PARTITION #define AOM_INTERP_EXTEND 4 -#define AOM_ENC_BORDER_IN_PIXELS 160 -#define AOM_DEC_BORDER_IN_PIXELS 160 + +// TODO(jingning): Use unified inter predictor for encoder and +// decoder during the development process. Revisit the frame border +// to improve the decoder performance. +#define AOM_BORDER_IN_PIXELS 160 typedef struct yv12_buffer_config { int y_width; diff --git a/av1/av1_iface_common.h b/av1/av1_iface_common.h index 621764d91..3e6024ccc 100644 --- a/av1/av1_iface_common.h +++ b/av1/av1_iface_common.h @@ -41,7 +41,7 @@ static void yuvconfig2image(aom_image_t *img, const YV12_BUFFER_CONFIG *yv12, img->range = yv12->color_range; img->bit_depth = 8; img->w = yv12->y_stride; - img->h = ALIGN_POWER_OF_TWO(yv12->y_height + 2 * AOM_ENC_BORDER_IN_PIXELS, 3); + img->h = ALIGN_POWER_OF_TWO(yv12->y_height + 2 * AOM_BORDER_IN_PIXELS, 3); img->d_w = yv12->y_crop_width; img->d_h = yv12->y_crop_height; img->r_w = yv12->render_width; diff --git a/av1/common/quant_common.c b/av1/common/quant_common.c index 4f3d481c4..536529ab6 100644 --- a/av1/common/quant_common.c +++ b/av1/common/quant_common.c @@ -48,7 +48,7 @@ static const qprofile_type nuq_lossless[COEF_BANDS] = { static const qprofile_type nuq[QUANT_PROFILES][QUANT_RANGES][COEF_BANDS] = { { { { { 64, 128, 128 }, 8 }, // dc, band 0 - { { 64, 128, 128 }, 10 }, // band 1 + { { 64, 128, 128 }, 10 }, // band 1 { { 64, 128, 128 }, 12 }, // band 2 { { 72, 128, 128 }, 14 }, // band 3 { { 76, 128, 128 }, 16 }, // band 4 @@ -56,8 +56,8 @@ static const qprofile_type nuq[QUANT_PROFILES][QUANT_RANGES][COEF_BANDS] = { }, { { { 64, 128, 128 }, 4 }, // dc, band 0 - { { 64, 128, 128 }, 6 }, // band 1 - { { 64, 128, 128 }, 8 }, // band 2 + { { 64, 128, 128 }, 6 }, // band 1 + { { 64, 128, 128 }, 8 }, // band 2 { { 64, 128, 128 }, 10 }, // band 3 { { 72, 128, 128 }, 12 }, // band 4 { { 80, 128, 128 }, 14 } // band 5 @@ -74,7 +74,7 @@ static const qprofile_type nuq[QUANT_PROFILES][QUANT_RANGES][COEF_BANDS] = { { { { 64, 128, 128 }, 4 }, // dc, band 0 { { 64, 128, 128 }, 6 }, // band 1 - { { 64, 128, 128 }, 8 }, // band 2 + { { 64, 128, 128 }, 8 }, // band 2 { { 64, 128, 128 }, 10 }, // band 3 { { 72, 128, 128 }, 12 }, // band 4 { { 80, 128, 128 }, 14 } // band 5 @@ -91,7 +91,7 @@ static const qprofile_type nuq[QUANT_PROFILES][QUANT_RANGES][COEF_BANDS] = { { { { 64, 128, 128 }, 4 }, // dc, band 0 { { 64, 128, 128 }, 6 }, // band 1 - { { 64, 128, 128 }, 8 }, // band 2 + { { 64, 128, 128 }, 8 }, // band 2 { { 64, 128, 128 }, 10 }, // band 3 { { 72, 128, 128 }, 12 }, // band 4 { { 80, 128, 128 }, 14 } // band 5 diff --git a/av1/common/restoration.c b/av1/common/restoration.c index f58d91a91..97c89e12f 100644 --- a/av1/common/restoration.c +++ b/av1/common/restoration.c @@ -585,7 +585,7 @@ void av1_loop_restoration_rows(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm, #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_DEC_BORDER_IN_PIXELS, cm->byte_alignment, NULL, NULL, NULL) < 0) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, NULL, NULL) < 0) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate tmp restoration buffer"); diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index c2f187036..d54035e93 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c @@ -2236,7 +2236,7 @@ static void setup_frame_size(AV1_COMMON *cm, struct aom_read_bit_buffer *rb) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_DEC_BORDER_IN_PIXELS, cm->byte_alignment, + AOM_BORDER_IN_PIXELS, cm->byte_alignment, &pool->frame_bufs[cm->new_fb_idx].raw_frame_buffer, pool->get_fb_cb, pool->cb_priv)) { unlock_buffer_pool(pool); @@ -2319,7 +2319,7 @@ static void setup_frame_size_with_refs(AV1_COMMON *cm, #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_DEC_BORDER_IN_PIXELS, cm->byte_alignment, + AOM_BORDER_IN_PIXELS, cm->byte_alignment, &pool->frame_bufs[cm->new_fb_idx].raw_frame_buffer, pool->get_fb_cb, pool->cb_priv)) { unlock_buffer_pool(pool); diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index 56ba676cf..935d65ea5 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c @@ -738,8 +738,8 @@ static void alloc_raw_frame_buffers(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate altref buffer"); } @@ -751,8 +751,8 @@ static void alloc_util_frame_buffers(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate last frame buffer"); @@ -762,8 +762,8 @@ static void alloc_util_frame_buffers(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate last frame deblocked buffer"); #endif // CONFIG_LOOP_RESTORATION @@ -773,8 +773,8 @@ static void alloc_util_frame_buffers(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate scaled source buffer"); @@ -783,8 +783,8 @@ static void alloc_util_frame_buffers(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate scaled last source buffer"); } @@ -3005,7 +3005,7 @@ static INLINE int upsample_ref_frame(AV1_COMP *cpi, #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - (AOM_ENC_BORDER_IN_PIXELS << 3), + (AOM_BORDER_IN_PIXELS << 3), cm->byte_alignment, NULL, NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate up-sampled frame buffer"); @@ -3537,11 +3537,10 @@ void av1_scale_references(AV1_COMP *cpi) { new_fb_ptr = &pool->frame_bufs[new_fb]; if (force_scaling || new_fb_ptr->buf.y_crop_width != cm->width || new_fb_ptr->buf.y_crop_height != cm->height) { - if (aom_realloc_frame_buffer(&new_fb_ptr->buf, cm->width, cm->height, - cm->subsampling_x, cm->subsampling_y, - cm->use_highbitdepth, - AOM_ENC_BORDER_IN_PIXELS, - cm->byte_alignment, NULL, NULL, NULL)) + if (aom_realloc_frame_buffer( + &new_fb_ptr->buf, cm->width, cm->height, cm->subsampling_x, + cm->subsampling_y, cm->use_highbitdepth, AOM_BORDER_IN_PIXELS, + cm->byte_alignment, NULL, NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate frame buffer"); scale_and_extend_frame(ref, &new_fb_ptr->buf, MAX_MB_PLANE, @@ -3564,8 +3563,8 @@ void av1_scale_references(AV1_COMP *cpi) { new_fb_ptr->buf.y_crop_height != cm->height) { if (aom_realloc_frame_buffer(&new_fb_ptr->buf, cm->width, cm->height, cm->subsampling_x, cm->subsampling_y, - AOM_ENC_BORDER_IN_PIXELS, - cm->byte_alignment, NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, + NULL, NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate frame buffer"); scale_and_extend_frame(ref, &new_fb_ptr->buf, MAX_MB_PLANE); @@ -3587,7 +3586,7 @@ void av1_scale_references(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - (AOM_ENC_BORDER_IN_PIXELS << 3), + (AOM_BORDER_IN_PIXELS << 3), cm->byte_alignment, NULL, NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate up-sampled frame buffer"); @@ -3863,8 +3862,8 @@ static void set_frame_size(AV1_COMP *cpi) { #if CONFIG_AOM_HIGHBITDEPTH cm->use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, cm->byte_alignment, - NULL, NULL, NULL)) + AOM_BORDER_IN_PIXELS, cm->byte_alignment, NULL, + NULL, NULL)) aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR, "Failed to allocate frame buffer"); diff --git a/av1/encoder/lookahead.c b/av1/encoder/lookahead.c index f5a0aa5a9..6b4500b50 100644 --- a/av1/encoder/lookahead.c +++ b/av1/encoder/lookahead.c @@ -67,12 +67,12 @@ struct lookahead_ctx *av1_lookahead_init(unsigned int width, ctx->buf = calloc(depth, sizeof(*ctx->buf)); if (!ctx->buf) goto bail; for (i = 0; i < depth; i++) - if (aom_alloc_frame_buffer( - &ctx->buf[i].img, width, height, subsampling_x, subsampling_y, + if (aom_alloc_frame_buffer(&ctx->buf[i].img, width, height, subsampling_x, + subsampling_y, #if CONFIG_AOM_HIGHBITDEPTH - use_highbitdepth, + use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, legacy_byte_alignment)) + AOM_BORDER_IN_PIXELS, legacy_byte_alignment)) goto bail; } return ctx; @@ -164,7 +164,7 @@ int av1_lookahead_push(struct lookahead_ctx *ctx, YV12_BUFFER_CONFIG *src, #if CONFIG_AOM_HIGHBITDEPTH use_highbitdepth, #endif - AOM_ENC_BORDER_IN_PIXELS, 0)) + AOM_BORDER_IN_PIXELS, 0)) return 1; aom_free_frame_buffer(&buf->img); buf->img = new_img; diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 44b56bdbb..d822d09c8 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c @@ -6297,9 +6297,8 @@ static int discount_newmv_test(const AV1_COMP *cpi, int this_mode, (mode_mv[NEARMV][ref_frame].as_int == INVALID_MV))); } -#define LEFT_TOP_MARGIN ((AOM_ENC_BORDER_IN_PIXELS - AOM_INTERP_EXTEND) << 3) -#define RIGHT_BOTTOM_MARGIN \ - ((AOM_ENC_BORDER_IN_PIXELS - AOM_INTERP_EXTEND) << 3) +#define LEFT_TOP_MARGIN ((AOM_BORDER_IN_PIXELS - AOM_INTERP_EXTEND) << 3) +#define RIGHT_BOTTOM_MARGIN ((AOM_BORDER_IN_PIXELS - AOM_INTERP_EXTEND) << 3) // TODO(jingning): this mv clamping function should be block size dependent. static INLINE void clamp_mv2(MV *mv, const MACROBLOCKD *xd) {