Commit 297b2a12 authored by Yaowu Xu's avatar Yaowu Xu Committed by Johann

Fix encoder crashes for odd size input

(cherry picked from commit 98431cde)

Change-Id: Id5c30c419282369cc8c3280d9a70b34a859a71d8
parent 1c0a9f36
......@@ -1005,6 +1005,7 @@ static vpx_codec_frame_flags_t get_frame_pkt_flags(const VP9_COMP *cpi,
return flags;
}
const size_t kMinCompressedSize = 8192;
static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
const vpx_image_t *img,
vpx_codec_pts_t pts,
......@@ -1026,8 +1027,8 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
// 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);
if (data_sz < 4096)
data_sz = 4096;
if (data_sz < kMinCompressedSize)
data_sz = kMinCompressedSize;
if (ctx->cx_data == NULL || ctx->cx_data_sz < data_sz) {
ctx->cx_data_sz = data_sz;
free(ctx->cx_data);
......
......@@ -200,6 +200,8 @@ static double calc_psnrhvs(const unsigned char *_src, int _systride,
}
}
}
if (pixels <=0)
return 0;
ret /= pixels;
return ret;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment