dav1d: dav1d/data.h File Reference

dav1d 1.1.0 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

  data | Input context.
  sz | Size 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

  data | Input 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

  data | Input context.
  buf | The data to be wrapped.
  sz | Size of the data.
  free_callback | Function 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.
  cookie | Opaque 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

  data | Input context.
  user_data | The user data to be wrapped.
  free_callback | Function 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.
  cookie | Opaque parameter passed to $free_callback.

Returns
  0 on success. A negative DAV1D_ERR value on error.