multi-res: modify memory allocation code
Reverted part of change in memory alllocation code, which ensures
that the function returns 0 and encoder works correctly when
CONFIG_MULTI_RES_ENCODING isn't turned on.
Change-Id: Id5d5e7f2c8bd9e961a6dca79d257e8185f0d592a
diff --git a/vp8/vp8_cx_iface.c b/vp8/vp8_cx_iface.c
index 22d39b7..9a6bc30 100644
--- a/vp8/vp8_cx_iface.c
+++ b/vp8/vp8_cx_iface.c
@@ -539,6 +539,8 @@
static vpx_codec_err_t vp8e_mr_alloc_mem(const vpx_codec_enc_cfg_t *cfg,
void **mem_loc)
{
+ vpx_codec_err_t res = 0;
+
#if CONFIG_MULTI_RES_ENCODING
LOWER_RES_FRAME_INFO *shared_mem_loc;
int mb_rows = ((cfg->g_w + 15) >>4);
@@ -547,20 +549,21 @@
shared_mem_loc = calloc(1, sizeof(LOWER_RES_FRAME_INFO));
if(!shared_mem_loc)
{
- return VPX_CODEC_MEM_ERROR;
+ res = VPX_CODEC_MEM_ERROR;
}
shared_mem_loc->mb_info = calloc(mb_rows*mb_cols, sizeof(LOWER_RES_MB_INFO));
if(!(shared_mem_loc->mb_info))
{
- return VPX_CODEC_MEM_ERROR;
+ res = VPX_CODEC_MEM_ERROR;
}
else
{
*mem_loc = (void *)shared_mem_loc;
- return VPX_CODEC_OK;
+ res = VPX_CODEC_OK;
}
#endif
+ return res;
}
static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,