1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __MPP_MEM_POOL_H__ 7 #define __MPP_MEM_POOL_H__ 8 9 #include "mpp_mem.h" 10 11 typedef void* MppMemPool; 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #define mpp_mem_pool_init_f(name, size) mpp_mem_pool_init(name, size, __FUNCTION__) 18 #define mpp_mem_pool_deinit_f(pool) mpp_mem_pool_deinit(pool, __FUNCTION__); 19 20 #define mpp_mem_pool_get_f(pool) mpp_mem_pool_get(pool, __FUNCTION__) 21 #define mpp_mem_pool_put_f(pool, p) mpp_mem_pool_put(pool, p, __FUNCTION__) 22 23 MppMemPool mpp_mem_pool_init(const char *name, size_t size, const char *caller); 24 void mpp_mem_pool_deinit(MppMemPool pool, const char *caller); 25 26 void *mpp_mem_pool_get(MppMemPool pool, const char *caller); 27 void mpp_mem_pool_put(MppMemPool pool, void *p, const char *caller); 28 29 #ifdef __cplusplus 30 } 31 #endif 32 33 #endif /*__MPP_MEM_POOL_H__*/ 34