diff options
Diffstat (limited to 'decoder/mvc/imvcd_api_utils.c')
-rw-r--r-- | decoder/mvc/imvcd_api_utils.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/decoder/mvc/imvcd_api_utils.c b/decoder/mvc/imvcd_api_utils.c index 7d1f309..3a40d3b 100644 --- a/decoder/mvc/imvcd_api_utils.c +++ b/decoder/mvc/imvcd_api_utils.c @@ -391,3 +391,19 @@ void imvcd_bitsteam_buf_free(dec_struct_t *ps_view_ctxt) { PS_DEC_ALIGNED_FREE(ps_view_ctxt, ps_view_ctxt->pu1_bits_buf_dynamic); } + +IV_API_CALL_STATUS_T imvcd_bitstream_buf_realloc(dec_struct_t *ps_view_ctxt, UWORD32 u4_size) +{ + imvcd_bitsteam_buf_free(ps_view_ctxt); + + u4_size = MAX(MIN_BITSTREAMS_BUF_SIZE, u4_size); + + ps_view_ctxt->pu1_bits_buf_dynamic = + ps_view_ctxt->pf_aligned_alloc(ps_view_ctxt->pv_mem_ctxt, 128, u4_size); + RETURN_IF((NULL == ps_view_ctxt->pu1_bits_buf_dynamic), IV_FAIL); + + memset(ps_view_ctxt->pu1_bits_buf_dynamic, 0, u4_size); + ps_view_ctxt->u4_dynamic_bits_buf_size = u4_size; + + return IV_SUCCESS; +} |