aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2024-01-17 22:13:53 -0800
committerXin Li <delphij@google.com>2024-01-17 22:13:53 -0800
commitd9f91022e8404e1192c6ffc18c8b26415cc2b578 (patch)
tree0a88ac7c7c306b03a4d91932c5a6fc756bfdc5f2
parentded35ac0acea91eba36e8ad52c6ff7399dda89e8 (diff)
parent61254bff3ebee3cfe99a863eca88058a122f9b75 (diff)
downloadlibhevc-d9f91022e8404e1192c6ffc18c8b26415cc2b578.tar.gz
Merge Android 24Q1 Release (ab/11220357)temp_319669529
Bug: 319669529 Merged-In: I76fa9371aac6ef5fca3923435e0010cf2f13db6f Change-Id: I29986932e515613e317323ebc5e1b8bd690ff50e
-rw-r--r--encoder/ihevce_memory_init.c2
-rw-r--r--encoder/ihevce_plugin.c17
2 files changed, 14 insertions, 5 deletions
diff --git a/encoder/ihevce_memory_init.c b/encoder/ihevce_memory_init.c
index 479ab3b..b6f3b87 100644
--- a/encoder/ihevce_memory_init.c
+++ b/encoder/ihevce_memory_init.c
@@ -1515,8 +1515,6 @@ void ihevce_mem_manager_init(enc_ctxt_t *ps_enc_ctxt, ihevce_hle_ctxt_t *ps_intr
ps_intrf_ctxt->i4_error_code = IHEVCE_CANNOT_ALLOCATE_MEMORY;
return;
}
-
- memset(pu1_mem, 0, ps_memtab[ctr].i4_mem_size);
}
/* --------------------------------------------------------------------- */
diff --git a/encoder/ihevce_plugin.c b/encoder/ihevce_plugin.c
index 00637fa..26f3ba4 100644
--- a/encoder/ihevce_plugin.c
+++ b/encoder/ihevce_plugin.c
@@ -112,6 +112,8 @@
*
* \brief
* Memory manager specific alloc function
+* it expects to reset the allocated memory and provide the zero initialised
+* memory whenever this function getting called
*
* \param[in] pv_handle : handle to memory manager
* (currently not required can be set to null)
@@ -158,6 +160,10 @@ void mem_mngr_alloc(void *pv_handle, ihevce_sys_api_t *ps_sys_api, iv_mem_rec_t
ps_sys_api->pv_cb_handle, "IHEVCE ERROR: Unable to allocate memory\n");
ASSERT(0);
}
+ else
+ {
+ memset(ps_memtab->pv_base, 0, ps_memtab->i4_mem_size);
+ }
return;
}
@@ -167,6 +173,8 @@ void mem_mngr_alloc(void *pv_handle, ihevce_sys_api_t *ps_sys_api, iv_mem_rec_t
*
* \brief
* common memory allocate function should be used across all threads
+* it expects to reset the allocated memory and return the zero initialised
+* memory pointer whenever this function getting called
*
* \param[in] pv_handle : handle to memory manager
* (currently not required can be set to null)
@@ -183,7 +191,12 @@ void mem_mngr_alloc(void *pv_handle, ihevce_sys_api_t *ps_sys_api, iv_mem_rec_t
void *memory_alloc(void *pv_handle, UWORD32 u4_size)
{
(void)pv_handle;
- return (malloc(u4_size));
+ void *pv_buf = malloc(u4_size);
+ if(pv_buf)
+ {
+ memset(pv_buf, 0, u4_size);
+ }
+ return (pv_buf);
}
/*!
@@ -629,7 +642,6 @@ IHEVCE_PLUGIN_STATUS_T ihevce_init(ihevce_static_cfg_params_t *ps_params, void *
ps_sys_api->pv_cb_handle, "IHEVCE ERROR: Error in Plugin initialization\n");
return (IHEVCE_EFAIL);
}
- memset(ps_ctxt, 0, sizeof(plugin_ctxt_t));
/* initialise memory call backs */
ps_ctxt->ihevce_mem_alloc = memory_alloc;
@@ -754,7 +766,6 @@ IHEVCE_PLUGIN_STATUS_T ihevce_init(ihevce_static_cfg_params_t *ps_params, void *
"IHEVCE ERROR: Error in Plugin HLE memory initialization\n");
return (IHEVCE_EFAIL);
}
- memset(ps_interface_ctxt, 0, sizeof(ihevce_hle_ctxt_t));
ps_interface_ctxt->i4_size = sizeof(ihevce_hle_ctxt_t);
ps_ctxt->pv_hle_interface_ctxt = ps_interface_ctxt;