FFmpeg 5.1.6
Data Structures | Macros | Typedefs | Functions
buffer.h File Reference

refcounted data buffer API More...

#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  AVBufferRef
 A reference to a data buffer. More...
 

Macros

#define AV_BUFFER_FLAG_READONLY   (1 << 0)
 Always treat the buffer as read-only, even when it has only one reference. More...
 

Typedefs

typedef struct AVBuffer AVBuffer
 A reference counted buffer type. More...
 
typedef struct AVBufferPool AVBufferPool
 The buffer pool. More...
 

Functions

AVBufferRefav_buffer_alloc (size_t size)
 Allocate an AVBuffer of the given size using av_malloc(). More...
 
AVBufferRefav_buffer_allocz (size_t size)
 Same as av_buffer_alloc(), except the returned buffer will be initialized to zero. More...
 
AVBufferRefav_buffer_create (uint8_t *data, size_t size, void(*free)(void *opaque, uint8_t *data), void *opaque, int flags)
 Create an AVBuffer from an existing array. More...
 
void av_buffer_default_free (void *opaque, uint8_t *data)
 Default free callback, which calls av_free() on the buffer data. More...
 
AVBufferRefav_buffer_ref (const AVBufferRef *buf)
 Create a new reference to an AVBuffer. More...
 
void av_buffer_unref (AVBufferRef **buf)
 Free a given reference and automatically free the buffer if there are no more references to it. More...
 
int av_buffer_is_writable (const AVBufferRef *buf)
 
void * av_buffer_get_opaque (const AVBufferRef *buf)
 
int av_buffer_get_ref_count (const AVBufferRef *buf)
 
int av_buffer_make_writable (AVBufferRef **buf)
 Create a writable reference from a given buffer reference, avoiding data copy if possible. More...
 
int av_buffer_realloc (AVBufferRef **buf, size_t size)
 Reallocate a given buffer. More...
 
int av_buffer_replace (AVBufferRef **dst, const AVBufferRef *src)
 Ensure dst refers to the same data as src. More...
 
AVBufferPoolav_buffer_pool_init (size_t size, AVBufferRef *(*alloc)(size_t size))
 Allocate and initialize a buffer pool. More...
 
AVBufferPoolav_buffer_pool_init2 (size_t size, void *opaque, AVBufferRef *(*alloc)(void *opaque, size_t size), void(*pool_free)(void *opaque))
 Allocate and initialize a buffer pool with a more complex allocator. More...
 
void av_buffer_pool_uninit (AVBufferPool **pool)
 Mark the pool as being available for freeing. More...
 
AVBufferRefav_buffer_pool_get (AVBufferPool *pool)
 Allocate a new AVBuffer, reusing an old buffer from the pool when available. More...
 
void * av_buffer_pool_buffer_get_opaque (const AVBufferRef *ref)
 Query the original opaque parameter of an allocated buffer in the pool. More...
 

Detailed Description

refcounted data buffer API

Definition in file buffer.h.