xref: /rockchip-linux_mpp/osal/inc/mpp_mem.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
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