shithub: libvpx

Download patch

ref: ad479a9b3d510617f1400d2b168bd1594d422d67
parent: eb5b965b443249421a2c8f20d96fa0a0e83a93f7
author: Yunqing Wang <yunqingwang@google.com>
date: Wed May 23 09:40:24 EDT 2012

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

--- 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,