dav1d
1.5.4
dav1d is an AV1 decoder
Toggle main menu visibility
Loading...
Searching...
No Matches
data.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2018, VideoLAN and dav1d authors
3
* Copyright © 2018, Two Orioles, LLC
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are met:
8
*
9
* 1. Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
*
12
* 2. Redistributions in binary form must reproduce the above copyright notice,
13
* this list of conditions and the following disclaimer in the documentation
14
* and/or other materials provided with the distribution.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
20
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef DAV1D_DATA_H
29
#define DAV1D_DATA_H
30
31
#include <stddef.h>
32
#include <stdint.h>
33
34
#include "
common.h
"
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
typedef
struct
Dav1dData
{
41
const
uint8_t *
data
;
42
size_t
sz
;
43
struct
Dav1dRef
*
ref
;
44
Dav1dDataProps
m
;
45
}
Dav1dData
;
46
55
DAV1D_API
uint8_t *
dav1d_data_create
(
Dav1dData
*data,
size_t
sz);
56
71
DAV1D_API
int
dav1d_data_wrap
(
Dav1dData
*data,
const
uint8_t *buf,
size_t
sz,
72
void
(*free_callback)(
const
uint8_t *buf,
void
*cookie),
73
void
*cookie);
74
96
DAV1D_API
int
dav1d_data_wrap_user_data
(
Dav1dData
*data,
97
const
uint8_t *user_data,
98
void
(*free_callback)(
const
uint8_t *user_data,
99
void
*cookie),
100
void
*cookie);
101
111
DAV1D_API
void
dav1d_data_unref
(
Dav1dData
*data);
112
113
#ifdef __cplusplus
114
}
/* extern "C" */
115
#endif
116
117
#endif
/* DAV1D_DATA_H */
common.h
DAV1D_API
#define DAV1D_API
Definition
common.h:52
dav1d_data_wrap
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_data_wrap_user_data
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_data_unref
DAV1D_API void dav1d_data_unref(Dav1dData *data)
dav1d_data_create
DAV1D_API uint8_t * dav1d_data_create(Dav1dData *data, size_t sz)
Dav1dRef
struct Dav1dRef Dav1dRef
Definition
dav1d.h:44
Dav1dDataProps
Definition
common.h:79
Dav1dData
Definition
data.h:40
Dav1dData::data
const uint8_t * data
data pointer
Definition
data.h:41
Dav1dData::sz
size_t sz
data size
Definition
data.h:42
Dav1dData::ref
struct Dav1dRef * ref
allocation origin
Definition
data.h:43
Dav1dData::m
Dav1dDataProps m
user provided metadata passed to the output picture
Definition
data.h:44
dav1d
data.h
Generated by
1.18.0