Allocate an AVBuffer of the given size using av_malloc().
Same as av_buffer_alloc(), except the returned buffer will be initialized to zero.
Create an AVBuffer from an existing array.
Default free callback, which calls av_free() on the buffer data. This function is meant to be passed to av_buffer_create(), not called directly.
@return the opaque parameter set by av_buffer_create.
@return 1 if the caller may write to the data referred to by buf (which is true if and only if buf is the only reference to the underlying AVBuffer). Return 0 otherwise. A positive answer is valid until av_buffer_ref() is called on buf.
Create a writable reference from a given buffer reference, avoiding data copy if possible.
Allocate a new AVBuffer, reusing an old buffer from the pool when available. This function may be called simultaneously from multiple threads.
Allocate and initialize a buffer pool.
Allocate and initialize a buffer pool with a more complex allocator.
Mark the pool as being available for freeing. It will actually be freed only once all the allocated buffers associated with the pool are released. Thus it is safe to call this function while some of the allocated buffers are still in use.
Reallocate a given buffer.
Create a new reference to an AVBuffer.
Free a given reference and automatically free the buffer if there are no more references to it.
Always treat the buffer as read-only, even when it has only one reference.
A reference counted buffer type. It is opaque and is meant to be used through references (AVBufferRef).
The buffer pool. This structure is opaque and not meant to be accessed directly. It is allocated with av_buffer_pool_init() and freed with av_buffer_pool_uninit().
A reference to a data buffer.
@file @ingroup lavu_buffer refcounted data buffer API