Allocate and initialize a buffer pool with a more complex allocator.
@param size size of each buffer in this pool
@param opaque arbitrary user data used by the allocator
@param alloc a function that will be used to allocate new buffers when the
pool is empty.
@param pool_free a function that will be called immediately before the pool
is freed. I.e. after av_buffer_pool_can_uninit() is called
by the pool and all the frames are returned to the pool and
freed. It is intended to uninitialize the user opaque data.
@return newly created buffer pool on success, NULL on error.
Allocate and initialize a buffer pool with a more complex allocator.
@param size size of each buffer in this pool @param opaque arbitrary user data used by the allocator @param alloc a function that will be used to allocate new buffers when the pool is empty. @param pool_free a function that will be called immediately before the pool is freed. I.e. after av_buffer_pool_can_uninit() is called by the pool and all the frames are returned to the pool and freed. It is intended to uninitialize the user opaque data. @return newly created buffer pool on success, NULL on error.