dav1d 1.5.0-30-gf772f3e
dav1d is an AV1 decoder
Loading...
Searching...
No Matches
Data Structures | Functions
data.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "common.h"
Include dependency graph for data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Dav1dData
 

Functions

DAV1D_API uint8_t * dav1d_data_create (Dav1dData *data, size_t sz)
 
DAV1D_API int dav1d_data_wrap (Dav1dData *data, const uint8_t *buf, size_t sz, void(*free_callback)(const uint8_t *buf, void *cookie), void *cookie)
 
DAV1D_API int dav1d_data_wrap_user_data (Dav1dData *data, const uint8_t *user_data, void(*free_callback)(const uint8_t *user_data, void *cookie), void *cookie)
 
DAV1D_API void dav1d_data_unref (Dav1dData *data)
 

Function Documentation

◆ dav1d_data_create()

DAV1D_API uint8_t * dav1d_data_create ( Dav1dData data,
size_t  sz 
)

Allocate data.

Parameters
dataInput context.
szSize of the data that should be allocated.
Returns
Pointer to the allocated buffer on success. NULL on error.

◆ dav1d_data_unref()

DAV1D_API void dav1d_data_unref ( Dav1dData data)

Free the data reference.

The reference count for data->m.user_data will be decremented (if it has been initialized with dav1d_data_wrap_user_data). The $data object will be memset to 0.

Parameters
dataInput context.

◆ dav1d_data_wrap()

DAV1D_API int dav1d_data_wrap ( Dav1dData data,
const uint8_t *  buf,
size_t  sz,
void(*)(const uint8_t *buf, void *cookie)  free_callback,
void *  cookie 
)

Wrap an existing data array.

Parameters
dataInput context.
bufThe data to be wrapped.
szSize of the data.
free_callbackFunction to be called when we release our last reference to this data. In this callback, $buf will be the $buf argument to this function, and $cookie will be the $cookie input argument to this function.
cookieOpaque parameter passed to free_callback().
Returns
0 on success. A negative DAV1D_ERR value on error.

◆ dav1d_data_wrap_user_data()

DAV1D_API int dav1d_data_wrap_user_data ( Dav1dData data,
const uint8_t *  user_data,
void(*)(const uint8_t *user_data, void *cookie)  free_callback,
void *  cookie 
)

Wrap a user-provided data pointer into a reference counted object.

data->m.user_data field will initialized to wrap the provided $user_data pointer.

$free_callback will be called on the same thread that released the last reference. If frame threading is used, make sure $free_callback is thread-safe.

Parameters
dataInput context.
user_dataThe user data to be wrapped.
free_callbackFunction to be called when we release our last reference to this data. In this callback, $user_data will be the $user_data argument to this function, and $cookie will be the $cookie input argument to this function.
cookieOpaque parameter passed to $free_callback.
Returns
0 on success. A negative DAV1D_ERR value on error.