1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2*437bfbebSnyanmisaka /* 3*437bfbebSnyanmisaka * Copyright (c) 2015 Rockchip Electronics Co., Ltd. 4*437bfbebSnyanmisaka */ 5*437bfbebSnyanmisaka 6*437bfbebSnyanmisaka #ifndef __MPP_MEM_H__ 7*437bfbebSnyanmisaka #define __MPP_MEM_H__ 8*437bfbebSnyanmisaka 9*437bfbebSnyanmisaka #include <stdlib.h> 10*437bfbebSnyanmisaka 11*437bfbebSnyanmisaka #include "rk_type.h" 12*437bfbebSnyanmisaka #include "mpp_err.h" 13*437bfbebSnyanmisaka 14*437bfbebSnyanmisaka #define mpp_malloc_with_caller(type, count, caller) \ 15*437bfbebSnyanmisaka (type*)mpp_osal_malloc(caller, sizeof(type) * (count)) 16*437bfbebSnyanmisaka 17*437bfbebSnyanmisaka #define mpp_malloc(type, count) \ 18*437bfbebSnyanmisaka (type*)mpp_osal_malloc(__FUNCTION__, sizeof(type) * (count)) 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #define mpp_malloc_size(type, size) \ 21*437bfbebSnyanmisaka (type*)mpp_osal_malloc(__FUNCTION__, size) 22*437bfbebSnyanmisaka 23*437bfbebSnyanmisaka #define mpp_calloc(type, count) \ 24*437bfbebSnyanmisaka (type*)mpp_osal_calloc(__FUNCTION__, sizeof(type) * (count)) 25*437bfbebSnyanmisaka 26*437bfbebSnyanmisaka #define mpp_calloc_size(type, size) \ 27*437bfbebSnyanmisaka (type*)mpp_osal_calloc(__FUNCTION__, size) 28*437bfbebSnyanmisaka 29*437bfbebSnyanmisaka #define mpp_realloc(ptr, type, count) \ 30*437bfbebSnyanmisaka (type*)mpp_osal_realloc(__FUNCTION__, ptr, sizeof(type) * (count)) 31*437bfbebSnyanmisaka 32*437bfbebSnyanmisaka #define mpp_realloc_size(ptr, type, size) \ 33*437bfbebSnyanmisaka (type*)mpp_osal_realloc(__FUNCTION__, ptr, size) 34*437bfbebSnyanmisaka 35*437bfbebSnyanmisaka #define mpp_free(ptr) \ 36*437bfbebSnyanmisaka mpp_osal_free(__FUNCTION__, ptr) 37*437bfbebSnyanmisaka 38*437bfbebSnyanmisaka #define MPP_FREE(ptr) do { if(ptr) mpp_free(ptr); ptr = NULL; } while (0) 39*437bfbebSnyanmisaka #define MPP_FCLOSE(fp) do { if(fp) fclose(fp); fp = NULL; } while (0) 40*437bfbebSnyanmisaka 41*437bfbebSnyanmisaka #ifdef __cplusplus 42*437bfbebSnyanmisaka extern "C" { 43*437bfbebSnyanmisaka #endif 44*437bfbebSnyanmisaka 45*437bfbebSnyanmisaka void *mpp_osal_malloc(const char *caller, size_t size); 46*437bfbebSnyanmisaka void *mpp_osal_calloc(const char *caller, size_t size); 47*437bfbebSnyanmisaka void *mpp_osal_realloc(const char *caller, void *ptr, size_t size); 48*437bfbebSnyanmisaka void mpp_osal_free(const char *caller, void *ptr); 49*437bfbebSnyanmisaka 50*437bfbebSnyanmisaka void mpp_show_mem_status(); 51*437bfbebSnyanmisaka rk_u32 mpp_mem_total_now(); 52*437bfbebSnyanmisaka rk_u32 mpp_mem_total_max(); 53*437bfbebSnyanmisaka 54*437bfbebSnyanmisaka #ifdef __cplusplus 55*437bfbebSnyanmisaka } 56*437bfbebSnyanmisaka #endif 57*437bfbebSnyanmisaka 58*437bfbebSnyanmisaka #endif /*__MPP_MEM_H__*/ 59*437bfbebSnyanmisaka 60