@pproenca/ffmpeg-dev 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/include/aom/aom.h +127 -0
- package/include/aom/aom_codec.h +594 -0
- package/include/aom/aom_decoder.h +257 -0
- package/include/aom/aom_encoder.h +1154 -0
- package/include/aom/aom_external_partition.h +452 -0
- package/include/aom/aom_frame_buffer.h +84 -0
- package/include/aom/aom_image.h +462 -0
- package/include/aom/aom_integer.h +60 -0
- package/include/aom/aomcx.h +2288 -0
- package/include/aom/aomdx.h +607 -0
- package/include/dav1d/common.h +94 -0
- package/include/dav1d/data.h +117 -0
- package/include/dav1d/dav1d.h +329 -0
- package/include/dav1d/headers.h +444 -0
- package/include/dav1d/picture.h +157 -0
- package/include/dav1d/version.h +50 -0
- package/include/index.js +1 -0
- package/include/lame/lame.h +1342 -0
- package/include/libavcodec/ac3_parser.h +36 -0
- package/include/libavcodec/adts_parser.h +37 -0
- package/include/libavcodec/avcodec.h +3128 -0
- package/include/libavcodec/avdct.h +88 -0
- package/include/libavcodec/avfft.h +149 -0
- package/include/libavcodec/bsf.h +332 -0
- package/include/libavcodec/codec.h +382 -0
- package/include/libavcodec/codec_desc.h +134 -0
- package/include/libavcodec/codec_id.h +669 -0
- package/include/libavcodec/codec_par.h +248 -0
- package/include/libavcodec/d3d11va.h +109 -0
- package/include/libavcodec/defs.h +337 -0
- package/include/libavcodec/dirac.h +135 -0
- package/include/libavcodec/dv_profile.h +82 -0
- package/include/libavcodec/dxva2.h +90 -0
- package/include/libavcodec/jni.h +67 -0
- package/include/libavcodec/mediacodec.h +103 -0
- package/include/libavcodec/packet.h +887 -0
- package/include/libavcodec/qsv.h +109 -0
- package/include/libavcodec/vdpau.h +171 -0
- package/include/libavcodec/version.h +45 -0
- package/include/libavcodec/version_major.h +52 -0
- package/include/libavcodec/videotoolbox.h +85 -0
- package/include/libavcodec/vorbis_parser.h +74 -0
- package/include/libavdevice/avdevice.h +397 -0
- package/include/libavdevice/version.h +45 -0
- package/include/libavdevice/version_major.h +43 -0
- package/include/libavfilter/avfilter.h +1379 -0
- package/include/libavfilter/buffersink.h +173 -0
- package/include/libavfilter/buffersrc.h +215 -0
- package/include/libavfilter/version.h +48 -0
- package/include/libavfilter/version_major.h +40 -0
- package/include/libavformat/avformat.h +3107 -0
- package/include/libavformat/avio.h +831 -0
- package/include/libavformat/version.h +47 -0
- package/include/libavformat/version_major.h +54 -0
- package/include/libavutil/adler32.h +63 -0
- package/include/libavutil/aes.h +69 -0
- package/include/libavutil/aes_ctr.h +99 -0
- package/include/libavutil/ambient_viewing_environment.h +72 -0
- package/include/libavutil/attributes.h +173 -0
- package/include/libavutil/audio_fifo.h +187 -0
- package/include/libavutil/avassert.h +78 -0
- package/include/libavutil/avconfig.h +6 -0
- package/include/libavutil/avstring.h +428 -0
- package/include/libavutil/avutil.h +362 -0
- package/include/libavutil/base64.h +72 -0
- package/include/libavutil/blowfish.h +82 -0
- package/include/libavutil/bprint.h +254 -0
- package/include/libavutil/bswap.h +105 -0
- package/include/libavutil/buffer.h +322 -0
- package/include/libavutil/camellia.h +70 -0
- package/include/libavutil/cast5.h +80 -0
- package/include/libavutil/channel_layout.h +751 -0
- package/include/libavutil/common.h +589 -0
- package/include/libavutil/cpu.h +145 -0
- package/include/libavutil/crc.h +102 -0
- package/include/libavutil/csp.h +150 -0
- package/include/libavutil/des.h +81 -0
- package/include/libavutil/detection_bbox.h +108 -0
- package/include/libavutil/dict.h +241 -0
- package/include/libavutil/display.h +109 -0
- package/include/libavutil/dovi_meta.h +396 -0
- package/include/libavutil/downmix_info.h +115 -0
- package/include/libavutil/encryption_info.h +205 -0
- package/include/libavutil/error.h +129 -0
- package/include/libavutil/eval.h +140 -0
- package/include/libavutil/executor.h +67 -0
- package/include/libavutil/ffversion.h +5 -0
- package/include/libavutil/fifo.h +242 -0
- package/include/libavutil/file.h +62 -0
- package/include/libavutil/film_grain_params.h +322 -0
- package/include/libavutil/frame.h +1175 -0
- package/include/libavutil/hash.h +264 -0
- package/include/libavutil/hdr_dynamic_metadata.h +376 -0
- package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
- package/include/libavutil/hmac.h +99 -0
- package/include/libavutil/hwcontext.h +598 -0
- package/include/libavutil/hwcontext_cuda.h +74 -0
- package/include/libavutil/hwcontext_d3d11va.h +178 -0
- package/include/libavutil/hwcontext_d3d12va.h +142 -0
- package/include/libavutil/hwcontext_drm.h +169 -0
- package/include/libavutil/hwcontext_dxva2.h +75 -0
- package/include/libavutil/hwcontext_mediacodec.h +61 -0
- package/include/libavutil/hwcontext_opencl.h +100 -0
- package/include/libavutil/hwcontext_qsv.h +87 -0
- package/include/libavutil/hwcontext_vaapi.h +117 -0
- package/include/libavutil/hwcontext_vdpau.h +44 -0
- package/include/libavutil/hwcontext_videotoolbox.h +106 -0
- package/include/libavutil/hwcontext_vulkan.h +382 -0
- package/include/libavutil/iamf.h +690 -0
- package/include/libavutil/imgutils.h +377 -0
- package/include/libavutil/intfloat.h +77 -0
- package/include/libavutil/intreadwrite.h +677 -0
- package/include/libavutil/lfg.h +81 -0
- package/include/libavutil/log.h +387 -0
- package/include/libavutil/lzo.h +66 -0
- package/include/libavutil/macros.h +80 -0
- package/include/libavutil/mastering_display_metadata.h +137 -0
- package/include/libavutil/mathematics.h +300 -0
- package/include/libavutil/md5.h +89 -0
- package/include/libavutil/mem.h +607 -0
- package/include/libavutil/motion_vector.h +57 -0
- package/include/libavutil/murmur3.h +115 -0
- package/include/libavutil/opt.h +1187 -0
- package/include/libavutil/parseutils.h +197 -0
- package/include/libavutil/pixdesc.h +440 -0
- package/include/libavutil/pixelutils.h +51 -0
- package/include/libavutil/pixfmt.h +716 -0
- package/include/libavutil/random_seed.h +57 -0
- package/include/libavutil/rational.h +225 -0
- package/include/libavutil/rc4.h +69 -0
- package/include/libavutil/replaygain.h +50 -0
- package/include/libavutil/ripemd.h +83 -0
- package/include/libavutil/samplefmt.h +269 -0
- package/include/libavutil/sha.h +90 -0
- package/include/libavutil/sha512.h +92 -0
- package/include/libavutil/spherical.h +243 -0
- package/include/libavutil/stereo3d.h +325 -0
- package/include/libavutil/tea.h +71 -0
- package/include/libavutil/threadmessage.h +115 -0
- package/include/libavutil/time.h +56 -0
- package/include/libavutil/timecode.h +199 -0
- package/include/libavutil/timestamp.h +85 -0
- package/include/libavutil/tree.h +137 -0
- package/include/libavutil/twofish.h +70 -0
- package/include/libavutil/tx.h +210 -0
- package/include/libavutil/uuid.h +146 -0
- package/include/libavutil/version.h +124 -0
- package/include/libavutil/video_enc_params.h +171 -0
- package/include/libavutil/video_hint.h +107 -0
- package/include/libavutil/xtea.h +94 -0
- package/include/libpostproc/postprocess.h +107 -0
- package/include/libpostproc/version.h +46 -0
- package/include/libpostproc/version_major.h +31 -0
- package/include/libswresample/swresample.h +587 -0
- package/include/libswresample/version.h +46 -0
- package/include/libswresample/version_major.h +31 -0
- package/include/libswscale/swscale.h +460 -0
- package/include/libswscale/version.h +44 -0
- package/include/libswscale/version_major.h +35 -0
- package/include/ogg/config_types.h +26 -0
- package/include/ogg/ogg.h +209 -0
- package/include/ogg/os_types.h +158 -0
- package/include/opus/opus.h +1099 -0
- package/include/opus/opus_defines.h +830 -0
- package/include/opus/opus_multistream.h +660 -0
- package/include/opus/opus_projection.h +568 -0
- package/include/opus/opus_types.h +166 -0
- package/include/svt-av1/EbDebugMacros.h +88 -0
- package/include/svt-av1/EbSvtAv1.h +462 -0
- package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
- package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
- package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
- package/include/svt-av1/EbSvtAv1Formats.h +126 -0
- package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
- package/include/vorbis/codec.h +242 -0
- package/include/vorbis/vorbisenc.h +435 -0
- package/include/vorbis/vorbisfile.h +205 -0
- package/include/vpx/vp8.h +136 -0
- package/include/vpx/vp8cx.h +1118 -0
- package/include/vpx/vp8dx.h +228 -0
- package/include/vpx/vpx_codec.h +475 -0
- package/include/vpx/vpx_decoder.h +367 -0
- package/include/vpx/vpx_encoder.h +1150 -0
- package/include/vpx/vpx_ext_ratectrl.h +590 -0
- package/include/vpx/vpx_frame_buffer.h +83 -0
- package/include/vpx/vpx_image.h +221 -0
- package/include/vpx/vpx_integer.h +40 -0
- package/include/vpx/vpx_tpl.h +68 -0
- package/include/x264.h +1027 -0
- package/include/x264_config.h +6 -0
- package/include/x265.h +2737 -0
- package/include/x265_config.h +34 -0
- package/package.json +24 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © 2018-2020, 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_HEADERS_H
|
|
29
|
+
#define DAV1D_HEADERS_H
|
|
30
|
+
|
|
31
|
+
#include <stdint.h>
|
|
32
|
+
#include <stddef.h>
|
|
33
|
+
|
|
34
|
+
#ifdef __cplusplus
|
|
35
|
+
extern "C" {
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
// Constants from Section 3. "Symbols and abbreviated terms"
|
|
39
|
+
#define DAV1D_MAX_CDEF_STRENGTHS 8
|
|
40
|
+
#define DAV1D_MAX_OPERATING_POINTS 32
|
|
41
|
+
#define DAV1D_MAX_TILE_COLS 64
|
|
42
|
+
#define DAV1D_MAX_TILE_ROWS 64
|
|
43
|
+
#define DAV1D_MAX_SEGMENTS 8
|
|
44
|
+
#define DAV1D_NUM_REF_FRAMES 8
|
|
45
|
+
#define DAV1D_PRIMARY_REF_NONE 7
|
|
46
|
+
#define DAV1D_REFS_PER_FRAME 7
|
|
47
|
+
#define DAV1D_TOTAL_REFS_PER_FRAME (DAV1D_REFS_PER_FRAME + 1)
|
|
48
|
+
|
|
49
|
+
enum Dav1dObuType {
|
|
50
|
+
DAV1D_OBU_SEQ_HDR = 1,
|
|
51
|
+
DAV1D_OBU_TD = 2,
|
|
52
|
+
DAV1D_OBU_FRAME_HDR = 3,
|
|
53
|
+
DAV1D_OBU_TILE_GRP = 4,
|
|
54
|
+
DAV1D_OBU_METADATA = 5,
|
|
55
|
+
DAV1D_OBU_FRAME = 6,
|
|
56
|
+
DAV1D_OBU_REDUNDANT_FRAME_HDR = 7,
|
|
57
|
+
DAV1D_OBU_PADDING = 15,
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
enum Dav1dTxfmMode {
|
|
61
|
+
DAV1D_TX_4X4_ONLY,
|
|
62
|
+
DAV1D_TX_LARGEST,
|
|
63
|
+
DAV1D_TX_SWITCHABLE,
|
|
64
|
+
DAV1D_N_TX_MODES,
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
enum Dav1dFilterMode {
|
|
68
|
+
DAV1D_FILTER_8TAP_REGULAR,
|
|
69
|
+
DAV1D_FILTER_8TAP_SMOOTH,
|
|
70
|
+
DAV1D_FILTER_8TAP_SHARP,
|
|
71
|
+
DAV1D_N_SWITCHABLE_FILTERS,
|
|
72
|
+
DAV1D_FILTER_BILINEAR = DAV1D_N_SWITCHABLE_FILTERS,
|
|
73
|
+
DAV1D_N_FILTERS,
|
|
74
|
+
DAV1D_FILTER_SWITCHABLE = DAV1D_N_FILTERS,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
enum Dav1dAdaptiveBoolean {
|
|
78
|
+
DAV1D_OFF = 0,
|
|
79
|
+
DAV1D_ON = 1,
|
|
80
|
+
DAV1D_ADAPTIVE = 2,
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
enum Dav1dRestorationType {
|
|
84
|
+
DAV1D_RESTORATION_NONE,
|
|
85
|
+
DAV1D_RESTORATION_SWITCHABLE,
|
|
86
|
+
DAV1D_RESTORATION_WIENER,
|
|
87
|
+
DAV1D_RESTORATION_SGRPROJ,
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
enum Dav1dWarpedMotionType {
|
|
91
|
+
DAV1D_WM_TYPE_IDENTITY,
|
|
92
|
+
DAV1D_WM_TYPE_TRANSLATION,
|
|
93
|
+
DAV1D_WM_TYPE_ROT_ZOOM,
|
|
94
|
+
DAV1D_WM_TYPE_AFFINE,
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
typedef struct Dav1dWarpedMotionParams {
|
|
98
|
+
enum Dav1dWarpedMotionType type;
|
|
99
|
+
int32_t matrix[6];
|
|
100
|
+
union {
|
|
101
|
+
struct {
|
|
102
|
+
int16_t alpha, beta, gamma, delta;
|
|
103
|
+
} p;
|
|
104
|
+
int16_t abcd[4];
|
|
105
|
+
} u;
|
|
106
|
+
} Dav1dWarpedMotionParams;
|
|
107
|
+
|
|
108
|
+
enum Dav1dPixelLayout {
|
|
109
|
+
DAV1D_PIXEL_LAYOUT_I400, ///< monochrome
|
|
110
|
+
DAV1D_PIXEL_LAYOUT_I420, ///< 4:2:0 planar
|
|
111
|
+
DAV1D_PIXEL_LAYOUT_I422, ///< 4:2:2 planar
|
|
112
|
+
DAV1D_PIXEL_LAYOUT_I444, ///< 4:4:4 planar
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
enum Dav1dFrameType {
|
|
116
|
+
DAV1D_FRAME_TYPE_KEY = 0, ///< Key Intra frame
|
|
117
|
+
DAV1D_FRAME_TYPE_INTER = 1, ///< Inter frame
|
|
118
|
+
DAV1D_FRAME_TYPE_INTRA = 2, ///< Non key Intra frame
|
|
119
|
+
DAV1D_FRAME_TYPE_SWITCH = 3, ///< Switch Inter frame
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
enum Dav1dColorPrimaries {
|
|
123
|
+
DAV1D_COLOR_PRI_BT709 = 1,
|
|
124
|
+
DAV1D_COLOR_PRI_UNKNOWN = 2,
|
|
125
|
+
DAV1D_COLOR_PRI_BT470M = 4,
|
|
126
|
+
DAV1D_COLOR_PRI_BT470BG = 5,
|
|
127
|
+
DAV1D_COLOR_PRI_BT601 = 6,
|
|
128
|
+
DAV1D_COLOR_PRI_SMPTE240 = 7,
|
|
129
|
+
DAV1D_COLOR_PRI_FILM = 8,
|
|
130
|
+
DAV1D_COLOR_PRI_BT2020 = 9,
|
|
131
|
+
DAV1D_COLOR_PRI_XYZ = 10,
|
|
132
|
+
DAV1D_COLOR_PRI_SMPTE431 = 11,
|
|
133
|
+
DAV1D_COLOR_PRI_SMPTE432 = 12,
|
|
134
|
+
DAV1D_COLOR_PRI_EBU3213 = 22,
|
|
135
|
+
DAV1D_COLOR_PRI_RESERVED = 255,
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
enum Dav1dTransferCharacteristics {
|
|
139
|
+
DAV1D_TRC_BT709 = 1,
|
|
140
|
+
DAV1D_TRC_UNKNOWN = 2,
|
|
141
|
+
DAV1D_TRC_BT470M = 4,
|
|
142
|
+
DAV1D_TRC_BT470BG = 5,
|
|
143
|
+
DAV1D_TRC_BT601 = 6,
|
|
144
|
+
DAV1D_TRC_SMPTE240 = 7,
|
|
145
|
+
DAV1D_TRC_LINEAR = 8,
|
|
146
|
+
DAV1D_TRC_LOG100 = 9, ///< logarithmic (100:1 range)
|
|
147
|
+
DAV1D_TRC_LOG100_SQRT10 = 10, ///< lograithmic (100*sqrt(10):1 range)
|
|
148
|
+
DAV1D_TRC_IEC61966 = 11,
|
|
149
|
+
DAV1D_TRC_BT1361 = 12,
|
|
150
|
+
DAV1D_TRC_SRGB = 13,
|
|
151
|
+
DAV1D_TRC_BT2020_10BIT = 14,
|
|
152
|
+
DAV1D_TRC_BT2020_12BIT = 15,
|
|
153
|
+
DAV1D_TRC_SMPTE2084 = 16, ///< PQ
|
|
154
|
+
DAV1D_TRC_SMPTE428 = 17,
|
|
155
|
+
DAV1D_TRC_HLG = 18, ///< hybrid log/gamma (BT.2100 / ARIB STD-B67)
|
|
156
|
+
DAV1D_TRC_RESERVED = 255,
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
enum Dav1dMatrixCoefficients {
|
|
160
|
+
DAV1D_MC_IDENTITY = 0,
|
|
161
|
+
DAV1D_MC_BT709 = 1,
|
|
162
|
+
DAV1D_MC_UNKNOWN = 2,
|
|
163
|
+
DAV1D_MC_FCC = 4,
|
|
164
|
+
DAV1D_MC_BT470BG = 5,
|
|
165
|
+
DAV1D_MC_BT601 = 6,
|
|
166
|
+
DAV1D_MC_SMPTE240 = 7,
|
|
167
|
+
DAV1D_MC_SMPTE_YCGCO = 8,
|
|
168
|
+
DAV1D_MC_BT2020_NCL = 9,
|
|
169
|
+
DAV1D_MC_BT2020_CL = 10,
|
|
170
|
+
DAV1D_MC_SMPTE2085 = 11,
|
|
171
|
+
DAV1D_MC_CHROMAT_NCL = 12, ///< Chromaticity-derived
|
|
172
|
+
DAV1D_MC_CHROMAT_CL = 13,
|
|
173
|
+
DAV1D_MC_ICTCP = 14,
|
|
174
|
+
DAV1D_MC_RESERVED = 255,
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
enum Dav1dChromaSamplePosition {
|
|
178
|
+
DAV1D_CHR_UNKNOWN = 0,
|
|
179
|
+
DAV1D_CHR_VERTICAL = 1, ///< Horizontally co-located with luma(0, 0)
|
|
180
|
+
///< sample, between two vertical samples
|
|
181
|
+
DAV1D_CHR_COLOCATED = 2, ///< Co-located with luma(0, 0) sample
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
typedef struct Dav1dContentLightLevel {
|
|
185
|
+
uint16_t max_content_light_level;
|
|
186
|
+
uint16_t max_frame_average_light_level;
|
|
187
|
+
} Dav1dContentLightLevel;
|
|
188
|
+
|
|
189
|
+
typedef struct Dav1dMasteringDisplay {
|
|
190
|
+
///< 0.16 fixed point
|
|
191
|
+
uint16_t primaries[3][2];
|
|
192
|
+
///< 0.16 fixed point
|
|
193
|
+
uint16_t white_point[2];
|
|
194
|
+
///< 24.8 fixed point
|
|
195
|
+
uint32_t max_luminance;
|
|
196
|
+
///< 18.14 fixed point
|
|
197
|
+
uint32_t min_luminance;
|
|
198
|
+
} Dav1dMasteringDisplay;
|
|
199
|
+
|
|
200
|
+
typedef struct Dav1dITUTT35 {
|
|
201
|
+
uint8_t country_code;
|
|
202
|
+
uint8_t country_code_extension_byte;
|
|
203
|
+
size_t payload_size;
|
|
204
|
+
uint8_t *payload;
|
|
205
|
+
} Dav1dITUTT35;
|
|
206
|
+
|
|
207
|
+
typedef struct Dav1dSequenceHeader {
|
|
208
|
+
/**
|
|
209
|
+
* Stream profile, 0 for 8-10 bits/component 4:2:0 or monochrome;
|
|
210
|
+
* 1 for 8-10 bits/component 4:4:4; 2 for 4:2:2 at any bits/component,
|
|
211
|
+
* or 12 bits/component at any chroma subsampling.
|
|
212
|
+
*/
|
|
213
|
+
uint8_t profile;
|
|
214
|
+
/**
|
|
215
|
+
* Maximum dimensions for this stream. In non-scalable streams, these
|
|
216
|
+
* are often the actual dimensions of the stream, although that is not
|
|
217
|
+
* a normative requirement.
|
|
218
|
+
*/
|
|
219
|
+
int max_width, max_height;
|
|
220
|
+
enum Dav1dPixelLayout layout; ///< format of the picture
|
|
221
|
+
enum Dav1dColorPrimaries pri; ///< color primaries (av1)
|
|
222
|
+
enum Dav1dTransferCharacteristics trc; ///< transfer characteristics (av1)
|
|
223
|
+
enum Dav1dMatrixCoefficients mtrx; ///< matrix coefficients (av1)
|
|
224
|
+
enum Dav1dChromaSamplePosition chr; ///< chroma sample position (av1)
|
|
225
|
+
/**
|
|
226
|
+
* 0, 1 and 2 mean 8, 10 or 12 bits/component, respectively. This is not
|
|
227
|
+
* exactly the same as 'hbd' from the spec; the spec's hbd distinguishes
|
|
228
|
+
* between 8 (0) and 10-12 (1) bits/component, and another element
|
|
229
|
+
* (twelve_bit) to distinguish between 10 and 12 bits/component. To get
|
|
230
|
+
* the spec's hbd, use !!our_hbd, and to get twelve_bit, use hbd == 2.
|
|
231
|
+
*/
|
|
232
|
+
uint8_t hbd;
|
|
233
|
+
/**
|
|
234
|
+
* Pixel data uses JPEG pixel range ([0,255] for 8bits) instead of
|
|
235
|
+
* MPEG pixel range ([16,235] for 8bits luma, [16,240] for 8bits chroma).
|
|
236
|
+
*/
|
|
237
|
+
uint8_t color_range;
|
|
238
|
+
|
|
239
|
+
uint8_t num_operating_points;
|
|
240
|
+
struct Dav1dSequenceHeaderOperatingPoint {
|
|
241
|
+
uint8_t major_level, minor_level;
|
|
242
|
+
uint8_t initial_display_delay;
|
|
243
|
+
uint16_t idc;
|
|
244
|
+
uint8_t tier;
|
|
245
|
+
uint8_t decoder_model_param_present;
|
|
246
|
+
uint8_t display_model_param_present;
|
|
247
|
+
} operating_points[DAV1D_MAX_OPERATING_POINTS];
|
|
248
|
+
|
|
249
|
+
uint8_t still_picture;
|
|
250
|
+
uint8_t reduced_still_picture_header;
|
|
251
|
+
uint8_t timing_info_present;
|
|
252
|
+
uint32_t num_units_in_tick;
|
|
253
|
+
uint32_t time_scale;
|
|
254
|
+
uint8_t equal_picture_interval;
|
|
255
|
+
uint32_t num_ticks_per_picture;
|
|
256
|
+
uint8_t decoder_model_info_present;
|
|
257
|
+
uint8_t encoder_decoder_buffer_delay_length;
|
|
258
|
+
uint32_t num_units_in_decoding_tick;
|
|
259
|
+
uint8_t buffer_removal_delay_length;
|
|
260
|
+
uint8_t frame_presentation_delay_length;
|
|
261
|
+
uint8_t display_model_info_present;
|
|
262
|
+
uint8_t width_n_bits, height_n_bits;
|
|
263
|
+
uint8_t frame_id_numbers_present;
|
|
264
|
+
uint8_t delta_frame_id_n_bits;
|
|
265
|
+
uint8_t frame_id_n_bits;
|
|
266
|
+
uint8_t sb128;
|
|
267
|
+
uint8_t filter_intra;
|
|
268
|
+
uint8_t intra_edge_filter;
|
|
269
|
+
uint8_t inter_intra;
|
|
270
|
+
uint8_t masked_compound;
|
|
271
|
+
uint8_t warped_motion;
|
|
272
|
+
uint8_t dual_filter;
|
|
273
|
+
uint8_t order_hint;
|
|
274
|
+
uint8_t jnt_comp;
|
|
275
|
+
uint8_t ref_frame_mvs;
|
|
276
|
+
enum Dav1dAdaptiveBoolean screen_content_tools;
|
|
277
|
+
enum Dav1dAdaptiveBoolean force_integer_mv;
|
|
278
|
+
uint8_t order_hint_n_bits;
|
|
279
|
+
uint8_t super_res;
|
|
280
|
+
uint8_t cdef;
|
|
281
|
+
uint8_t restoration;
|
|
282
|
+
uint8_t ss_hor, ss_ver, monochrome;
|
|
283
|
+
uint8_t color_description_present;
|
|
284
|
+
uint8_t separate_uv_delta_q;
|
|
285
|
+
uint8_t film_grain_present;
|
|
286
|
+
|
|
287
|
+
// Dav1dSequenceHeaders of the same sequence are required to be
|
|
288
|
+
// bit-identical until this offset. See 7.5 "Ordering of OBUs":
|
|
289
|
+
// Within a particular coded video sequence, the contents of
|
|
290
|
+
// sequence_header_obu must be bit-identical each time the
|
|
291
|
+
// sequence header appears except for the contents of
|
|
292
|
+
// operating_parameters_info.
|
|
293
|
+
struct Dav1dSequenceHeaderOperatingParameterInfo {
|
|
294
|
+
uint32_t decoder_buffer_delay;
|
|
295
|
+
uint32_t encoder_buffer_delay;
|
|
296
|
+
uint8_t low_delay_mode;
|
|
297
|
+
} operating_parameter_info[DAV1D_MAX_OPERATING_POINTS];
|
|
298
|
+
} Dav1dSequenceHeader;
|
|
299
|
+
|
|
300
|
+
typedef struct Dav1dSegmentationData {
|
|
301
|
+
int16_t delta_q;
|
|
302
|
+
int8_t delta_lf_y_v, delta_lf_y_h, delta_lf_u, delta_lf_v;
|
|
303
|
+
int8_t ref;
|
|
304
|
+
uint8_t skip;
|
|
305
|
+
uint8_t globalmv;
|
|
306
|
+
} Dav1dSegmentationData;
|
|
307
|
+
|
|
308
|
+
typedef struct Dav1dSegmentationDataSet {
|
|
309
|
+
Dav1dSegmentationData d[DAV1D_MAX_SEGMENTS];
|
|
310
|
+
uint8_t preskip;
|
|
311
|
+
int8_t last_active_segid;
|
|
312
|
+
} Dav1dSegmentationDataSet;
|
|
313
|
+
|
|
314
|
+
typedef struct Dav1dLoopfilterModeRefDeltas {
|
|
315
|
+
int8_t mode_delta[2 /* is_zeromv */];
|
|
316
|
+
int8_t ref_delta[DAV1D_TOTAL_REFS_PER_FRAME];
|
|
317
|
+
} Dav1dLoopfilterModeRefDeltas;
|
|
318
|
+
|
|
319
|
+
typedef struct Dav1dFilmGrainData {
|
|
320
|
+
unsigned seed;
|
|
321
|
+
int num_y_points;
|
|
322
|
+
uint8_t y_points[14][2 /* value, scaling */];
|
|
323
|
+
int chroma_scaling_from_luma;
|
|
324
|
+
int num_uv_points[2];
|
|
325
|
+
uint8_t uv_points[2][10][2 /* value, scaling */];
|
|
326
|
+
int scaling_shift;
|
|
327
|
+
int ar_coeff_lag;
|
|
328
|
+
int8_t ar_coeffs_y[24];
|
|
329
|
+
int8_t ar_coeffs_uv[2][25 + 3 /* padding for alignment purposes */];
|
|
330
|
+
uint64_t ar_coeff_shift;
|
|
331
|
+
int grain_scale_shift;
|
|
332
|
+
int uv_mult[2];
|
|
333
|
+
int uv_luma_mult[2];
|
|
334
|
+
int uv_offset[2];
|
|
335
|
+
int overlap_flag;
|
|
336
|
+
int clip_to_restricted_range;
|
|
337
|
+
} Dav1dFilmGrainData;
|
|
338
|
+
|
|
339
|
+
typedef struct Dav1dFrameHeader {
|
|
340
|
+
struct {
|
|
341
|
+
Dav1dFilmGrainData data;
|
|
342
|
+
uint8_t present, update;
|
|
343
|
+
} film_grain; ///< film grain parameters
|
|
344
|
+
enum Dav1dFrameType frame_type; ///< type of the picture
|
|
345
|
+
int width[2 /* { coded_width, superresolution_upscaled_width } */], height;
|
|
346
|
+
uint8_t frame_offset; ///< frame number
|
|
347
|
+
uint8_t temporal_id; ///< temporal id of the frame for SVC
|
|
348
|
+
uint8_t spatial_id; ///< spatial id of the frame for SVC
|
|
349
|
+
|
|
350
|
+
uint8_t show_existing_frame;
|
|
351
|
+
uint8_t existing_frame_idx;
|
|
352
|
+
uint32_t frame_id;
|
|
353
|
+
uint32_t frame_presentation_delay;
|
|
354
|
+
uint8_t show_frame;
|
|
355
|
+
uint8_t showable_frame;
|
|
356
|
+
uint8_t error_resilient_mode;
|
|
357
|
+
uint8_t disable_cdf_update;
|
|
358
|
+
uint8_t allow_screen_content_tools;
|
|
359
|
+
uint8_t force_integer_mv;
|
|
360
|
+
uint8_t frame_size_override;
|
|
361
|
+
uint8_t primary_ref_frame;
|
|
362
|
+
uint8_t buffer_removal_time_present;
|
|
363
|
+
struct Dav1dFrameHeaderOperatingPoint {
|
|
364
|
+
uint32_t buffer_removal_time;
|
|
365
|
+
} operating_points[DAV1D_MAX_OPERATING_POINTS];
|
|
366
|
+
uint8_t refresh_frame_flags;
|
|
367
|
+
int render_width, render_height;
|
|
368
|
+
struct {
|
|
369
|
+
uint8_t width_scale_denominator;
|
|
370
|
+
uint8_t enabled;
|
|
371
|
+
} super_res;
|
|
372
|
+
uint8_t have_render_size;
|
|
373
|
+
uint8_t allow_intrabc;
|
|
374
|
+
uint8_t frame_ref_short_signaling;
|
|
375
|
+
int8_t refidx[DAV1D_REFS_PER_FRAME];
|
|
376
|
+
uint8_t hp;
|
|
377
|
+
enum Dav1dFilterMode subpel_filter_mode;
|
|
378
|
+
uint8_t switchable_motion_mode;
|
|
379
|
+
uint8_t use_ref_frame_mvs;
|
|
380
|
+
uint8_t refresh_context;
|
|
381
|
+
struct {
|
|
382
|
+
uint8_t uniform;
|
|
383
|
+
uint8_t n_bytes;
|
|
384
|
+
uint8_t min_log2_cols, max_log2_cols, log2_cols, cols;
|
|
385
|
+
uint8_t min_log2_rows, max_log2_rows, log2_rows, rows;
|
|
386
|
+
uint16_t col_start_sb[DAV1D_MAX_TILE_COLS + 1];
|
|
387
|
+
uint16_t row_start_sb[DAV1D_MAX_TILE_ROWS + 1];
|
|
388
|
+
uint16_t update;
|
|
389
|
+
} tiling;
|
|
390
|
+
struct {
|
|
391
|
+
uint8_t yac;
|
|
392
|
+
int8_t ydc_delta;
|
|
393
|
+
int8_t udc_delta, uac_delta, vdc_delta, vac_delta;
|
|
394
|
+
uint8_t qm, qm_y, qm_u, qm_v;
|
|
395
|
+
} quant;
|
|
396
|
+
struct {
|
|
397
|
+
uint8_t enabled, update_map, temporal, update_data;
|
|
398
|
+
Dav1dSegmentationDataSet seg_data;
|
|
399
|
+
uint8_t lossless[DAV1D_MAX_SEGMENTS], qidx[DAV1D_MAX_SEGMENTS];
|
|
400
|
+
} segmentation;
|
|
401
|
+
struct {
|
|
402
|
+
struct {
|
|
403
|
+
uint8_t present;
|
|
404
|
+
uint8_t res_log2;
|
|
405
|
+
} q;
|
|
406
|
+
struct {
|
|
407
|
+
uint8_t present;
|
|
408
|
+
uint8_t res_log2;
|
|
409
|
+
uint8_t multi;
|
|
410
|
+
} lf;
|
|
411
|
+
} delta;
|
|
412
|
+
uint8_t all_lossless;
|
|
413
|
+
struct {
|
|
414
|
+
uint8_t level_y[2 /* dir */];
|
|
415
|
+
uint8_t level_u, level_v;
|
|
416
|
+
uint8_t mode_ref_delta_enabled;
|
|
417
|
+
uint8_t mode_ref_delta_update;
|
|
418
|
+
Dav1dLoopfilterModeRefDeltas mode_ref_deltas;
|
|
419
|
+
uint8_t sharpness;
|
|
420
|
+
} loopfilter;
|
|
421
|
+
struct {
|
|
422
|
+
uint8_t damping;
|
|
423
|
+
uint8_t n_bits;
|
|
424
|
+
uint8_t y_strength[DAV1D_MAX_CDEF_STRENGTHS];
|
|
425
|
+
uint8_t uv_strength[DAV1D_MAX_CDEF_STRENGTHS];
|
|
426
|
+
} cdef;
|
|
427
|
+
struct {
|
|
428
|
+
enum Dav1dRestorationType type[3 /* plane */];
|
|
429
|
+
uint8_t unit_size[2 /* y, uv */];
|
|
430
|
+
} restoration;
|
|
431
|
+
enum Dav1dTxfmMode txfm_mode;
|
|
432
|
+
uint8_t switchable_comp_refs;
|
|
433
|
+
uint8_t skip_mode_allowed, skip_mode_enabled;
|
|
434
|
+
int8_t skip_mode_refs[2];
|
|
435
|
+
uint8_t warp_motion;
|
|
436
|
+
uint8_t reduced_txtp_set;
|
|
437
|
+
Dav1dWarpedMotionParams gmv[DAV1D_REFS_PER_FRAME];
|
|
438
|
+
} Dav1dFrameHeader;
|
|
439
|
+
|
|
440
|
+
#ifdef __cplusplus
|
|
441
|
+
} /* extern "C" */
|
|
442
|
+
#endif
|
|
443
|
+
|
|
444
|
+
#endif /* DAV1D_HEADERS_H */
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © 2018-2020, 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_PICTURE_H
|
|
29
|
+
#define DAV1D_PICTURE_H
|
|
30
|
+
|
|
31
|
+
#include <stddef.h>
|
|
32
|
+
#include <stdint.h>
|
|
33
|
+
|
|
34
|
+
#include "common.h"
|
|
35
|
+
#include "headers.h"
|
|
36
|
+
|
|
37
|
+
#ifdef __cplusplus
|
|
38
|
+
extern "C" {
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
/* Number of bytes to align AND pad picture memory buffers by, so that SIMD
|
|
42
|
+
* implementations can over-read by a few bytes, and use aligned read/write
|
|
43
|
+
* instructions. */
|
|
44
|
+
#define DAV1D_PICTURE_ALIGNMENT 64
|
|
45
|
+
|
|
46
|
+
typedef struct Dav1dPictureParameters {
|
|
47
|
+
int w; ///< width (in pixels)
|
|
48
|
+
int h; ///< height (in pixels)
|
|
49
|
+
enum Dav1dPixelLayout layout; ///< format of the picture
|
|
50
|
+
int bpc; ///< bits per pixel component (8 or 10)
|
|
51
|
+
} Dav1dPictureParameters;
|
|
52
|
+
|
|
53
|
+
typedef struct Dav1dPicture {
|
|
54
|
+
Dav1dSequenceHeader *seq_hdr;
|
|
55
|
+
Dav1dFrameHeader *frame_hdr;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Pointers to planar image data (Y is [0], U is [1], V is [2]). The data
|
|
59
|
+
* should be bytes (for 8 bpc) or words (for 10 bpc). In case of words
|
|
60
|
+
* containing 10 bpc image data, the pixels should be located in the LSB
|
|
61
|
+
* bits, so that values range between [0, 1023]; the upper bits should be
|
|
62
|
+
* zero'ed out.
|
|
63
|
+
*/
|
|
64
|
+
void *data[3];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Number of bytes between 2 lines in data[] for luma [0] or chroma [1].
|
|
68
|
+
*/
|
|
69
|
+
ptrdiff_t stride[2];
|
|
70
|
+
|
|
71
|
+
Dav1dPictureParameters p;
|
|
72
|
+
Dav1dDataProps m;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* High Dynamic Range Content Light Level metadata applying to this picture,
|
|
76
|
+
* as defined in section 5.8.3 and 6.7.3
|
|
77
|
+
*/
|
|
78
|
+
Dav1dContentLightLevel *content_light;
|
|
79
|
+
/**
|
|
80
|
+
* High Dynamic Range Mastering Display Color Volume metadata applying to
|
|
81
|
+
* this picture, as defined in section 5.8.4 and 6.7.4
|
|
82
|
+
*/
|
|
83
|
+
Dav1dMasteringDisplay *mastering_display;
|
|
84
|
+
/**
|
|
85
|
+
* Array of ITU-T T.35 metadata as defined in section 5.8.2 and 6.7.2
|
|
86
|
+
*/
|
|
87
|
+
Dav1dITUTT35 *itut_t35;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Number of ITU-T T35 metadata entries in the array
|
|
91
|
+
*/
|
|
92
|
+
size_t n_itut_t35;
|
|
93
|
+
|
|
94
|
+
uintptr_t reserved[4]; ///< reserved for future use
|
|
95
|
+
|
|
96
|
+
struct Dav1dRef *frame_hdr_ref; ///< Dav1dFrameHeader allocation origin
|
|
97
|
+
struct Dav1dRef *seq_hdr_ref; ///< Dav1dSequenceHeader allocation origin
|
|
98
|
+
struct Dav1dRef *content_light_ref; ///< Dav1dContentLightLevel allocation origin
|
|
99
|
+
struct Dav1dRef *mastering_display_ref; ///< Dav1dMasteringDisplay allocation origin
|
|
100
|
+
struct Dav1dRef *itut_t35_ref; ///< Dav1dITUTT35 allocation origin
|
|
101
|
+
uintptr_t reserved_ref[4]; ///< reserved for future use
|
|
102
|
+
struct Dav1dRef *ref; ///< Frame data allocation origin
|
|
103
|
+
|
|
104
|
+
void *allocator_data; ///< pointer managed by the allocator
|
|
105
|
+
} Dav1dPicture;
|
|
106
|
+
|
|
107
|
+
typedef struct Dav1dPicAllocator {
|
|
108
|
+
void *cookie; ///< custom data to pass to the allocator callbacks.
|
|
109
|
+
/**
|
|
110
|
+
* Allocate the picture buffer based on the Dav1dPictureParameters.
|
|
111
|
+
*
|
|
112
|
+
* The data[0], data[1] and data[2] must be DAV1D_PICTURE_ALIGNMENT byte
|
|
113
|
+
* aligned and with a pixel width/height multiple of 128 pixels. Any
|
|
114
|
+
* allocated memory area should also be padded by DAV1D_PICTURE_ALIGNMENT
|
|
115
|
+
* bytes.
|
|
116
|
+
* data[1] and data[2] must share the same stride[1].
|
|
117
|
+
*
|
|
118
|
+
* This function will be called on the main thread (the thread which calls
|
|
119
|
+
* dav1d_get_picture()).
|
|
120
|
+
*
|
|
121
|
+
* @param pic The picture to allocate the buffer for. The callback needs to
|
|
122
|
+
* fill the picture data[0], data[1], data[2], stride[0] and
|
|
123
|
+
* stride[1].
|
|
124
|
+
* The allocator can fill the pic allocator_data pointer with
|
|
125
|
+
* a custom pointer that will be passed to
|
|
126
|
+
* release_picture_callback().
|
|
127
|
+
* @param cookie Custom pointer passed to all calls.
|
|
128
|
+
*
|
|
129
|
+
* @note No fields other than data, stride and allocator_data must be filled
|
|
130
|
+
* by this callback.
|
|
131
|
+
* @return 0 on success. A negative DAV1D_ERR value on error.
|
|
132
|
+
*/
|
|
133
|
+
int (*alloc_picture_callback)(Dav1dPicture *pic, void *cookie);
|
|
134
|
+
/**
|
|
135
|
+
* Release the picture buffer.
|
|
136
|
+
*
|
|
137
|
+
* If frame threading is used, this function may be called by the main
|
|
138
|
+
* thread (the thread which calls dav1d_get_picture()) or any of the frame
|
|
139
|
+
* threads and thus must be thread-safe. If frame threading is not used,
|
|
140
|
+
* this function will only be called on the main thread.
|
|
141
|
+
*
|
|
142
|
+
* @param pic The picture that was filled by alloc_picture_callback().
|
|
143
|
+
* @param cookie Custom pointer passed to all calls.
|
|
144
|
+
*/
|
|
145
|
+
void (*release_picture_callback)(Dav1dPicture *pic, void *cookie);
|
|
146
|
+
} Dav1dPicAllocator;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Release reference to a picture.
|
|
150
|
+
*/
|
|
151
|
+
DAV1D_API void dav1d_picture_unref(Dav1dPicture *p);
|
|
152
|
+
|
|
153
|
+
#ifdef __cplusplus
|
|
154
|
+
} /* extern "C" */
|
|
155
|
+
#endif
|
|
156
|
+
|
|
157
|
+
#endif /* DAV1D_PICTURE_H */
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © 2019-2024, VideoLAN and dav1d authors
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions are met:
|
|
7
|
+
*
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
* list of conditions and the following disclaimer.
|
|
10
|
+
*
|
|
11
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
* and/or other materials provided with the distribution.
|
|
14
|
+
*
|
|
15
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
19
|
+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
#ifndef DAV1D_VERSION_H
|
|
28
|
+
#define DAV1D_VERSION_H
|
|
29
|
+
|
|
30
|
+
#ifdef __cplusplus
|
|
31
|
+
extern "C" {
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#define DAV1D_API_VERSION_MAJOR 7
|
|
35
|
+
#define DAV1D_API_VERSION_MINOR 0
|
|
36
|
+
#define DAV1D_API_VERSION_PATCH 0
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Extract version components from the value returned by
|
|
40
|
+
* dav1d_version_int()
|
|
41
|
+
*/
|
|
42
|
+
#define DAV1D_API_MAJOR(v) (((v) >> 16) & 0xFF)
|
|
43
|
+
#define DAV1D_API_MINOR(v) (((v) >> 8) & 0xFF)
|
|
44
|
+
#define DAV1D_API_PATCH(v) (((v) >> 0) & 0xFF)
|
|
45
|
+
|
|
46
|
+
#ifdef __cplusplus
|
|
47
|
+
} /* extern "C" */
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
#endif /* DAV1D_VERSION_H */
|
package/include/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = __dirname;
|