dav1d
dav1d
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
typedef
struct
Dav1dData
{
37
const
uint8_t *
data
;
38
size_t
sz
;
39
struct
Dav1dRef
*
ref
;
40
Dav1dDataProps
m
;
41
}
Dav1dData
;
42
51
DAV1D_API
uint8_t *
dav1d_data_create
(
Dav1dData
*data,
size_t
sz);
52
67
DAV1D_API
int
dav1d_data_wrap
(
Dav1dData
*data,
const
uint8_t *buf,
size_t
sz,
68
void
(*free_callback)(
const
uint8_t *buf,
void
*user_data),
69
void
*user_data);
70
76
DAV1D_API
void
dav1d_data_unref
(
Dav1dData
*data);
77
78
#endif
/* __DAV1D_DATA_H__ */
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 *user_data), void *user_data)
Dav1dData
Definition:
data.h:36
Dav1dDataProps
Definition:
common.h:54
Dav1dData::sz
size_t sz
data size
Definition:
data.h:38
Dav1dData::m
Dav1dDataProps m
Definition:
data.h:40
dav1d_data_unref
DAV1D_API void dav1d_data_unref(Dav1dData *data)
Dav1dData::ref
struct Dav1dRef * ref
allocation origin
Definition:
data.h:39
dav1d_data_create
DAV1D_API uint8_t * dav1d_data_create(Dav1dData *data, size_t sz)
common.h
Dav1dData::data
const uint8_t * data
data pointer
Definition:
data.h:37
Dav1dRef
struct Dav1dRef Dav1dRef
Definition:
dav1d.h:42
DAV1D_API
#define DAV1D_API
Definition:
common.h:41
Generated by
1.8.14