]> granicus.if.org Git - libvpx/commitdiff
Increase encoder buffer for multi-layer ARFs
authorJingning Han <jingning@google.com>
Tue, 28 Aug 2018 19:43:34 +0000 (12:43 -0700)
committerJingning Han <jingning@google.com>
Tue, 4 Sep 2018 17:00:26 +0000 (10:00 -0700)
When multi-layer ARF mode is enabled, increase the encoder buffer
to account for the situation where several ARFs are coded together
in a frame packet.

Change-Id: I4e53095f6b6ac5a3c8d79414411ac39880bf1523

vp9/vp9_cx_iface.c

index 074415b7f72560625199a32206737ff972b95e31..251acf3c5fa637f5e8fedd46c56cbfb085f424a8 100644 (file)
@@ -1099,7 +1099,7 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
       // There's no codec control for multiple alt-refs so check the encoder
       // instance for its status to determine the compressed data size.
       data_sz = ctx->cfg.g_w * ctx->cfg.g_h * get_image_bps(img) / 8 *
-                (cpi->multi_arf_allowed ? 8 : 2);
+                (cpi->multi_arf_allowed || cpi->multi_layer_arf ? 8 : 2);
       if (data_sz < kMinCompressedSize) data_sz = kMinCompressedSize;
       if (ctx->cx_data == NULL || ctx->cx_data_sz < data_sz) {
         ctx->cx_data_sz = data_sz;