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. May be NULL, then the default allocator will be
used (av_buffer_alloc()).
@param pool_free a function that will be called immediately before the pool
is freed. I.e. after av_buffer_pool_uninit() is called
by the caller and all the frames are returned to the pool
and freed. It is intended to uninitialize the user opaque
data. May be NULL.
@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. May be NULL, then the default allocator will be used (av_buffer_alloc()). @param pool_free a function that will be called immediately before the pool is freed. I.e. after av_buffer_pool_uninit() is called by the caller and all the frames are returned to the pool and freed. It is intended to uninitialize the user opaque data. May be NULL. @return newly created buffer pool on success, NULL on error.