@pproenca/ffmpeg-darwin-x64 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.
Files changed (203) hide show
  1. package/include/aom/aom.h +127 -0
  2. package/include/aom/aom_codec.h +594 -0
  3. package/include/aom/aom_decoder.h +257 -0
  4. package/include/aom/aom_encoder.h +1154 -0
  5. package/include/aom/aom_external_partition.h +452 -0
  6. package/include/aom/aom_frame_buffer.h +84 -0
  7. package/include/aom/aom_image.h +462 -0
  8. package/include/aom/aom_integer.h +60 -0
  9. package/include/aom/aomcx.h +2288 -0
  10. package/include/aom/aomdx.h +607 -0
  11. package/include/dav1d/common.h +94 -0
  12. package/include/dav1d/data.h +117 -0
  13. package/include/dav1d/dav1d.h +329 -0
  14. package/include/dav1d/headers.h +444 -0
  15. package/include/dav1d/picture.h +157 -0
  16. package/include/dav1d/version.h +50 -0
  17. package/include/index.js +1 -0
  18. package/include/libavcodec/ac3_parser.h +36 -0
  19. package/include/libavcodec/adts_parser.h +37 -0
  20. package/include/libavcodec/avcodec.h +3128 -0
  21. package/include/libavcodec/avdct.h +88 -0
  22. package/include/libavcodec/avfft.h +149 -0
  23. package/include/libavcodec/bsf.h +332 -0
  24. package/include/libavcodec/codec.h +382 -0
  25. package/include/libavcodec/codec_desc.h +134 -0
  26. package/include/libavcodec/codec_id.h +669 -0
  27. package/include/libavcodec/codec_par.h +248 -0
  28. package/include/libavcodec/d3d11va.h +109 -0
  29. package/include/libavcodec/defs.h +337 -0
  30. package/include/libavcodec/dirac.h +135 -0
  31. package/include/libavcodec/dv_profile.h +82 -0
  32. package/include/libavcodec/dxva2.h +90 -0
  33. package/include/libavcodec/jni.h +67 -0
  34. package/include/libavcodec/mediacodec.h +103 -0
  35. package/include/libavcodec/packet.h +887 -0
  36. package/include/libavcodec/qsv.h +109 -0
  37. package/include/libavcodec/vdpau.h +171 -0
  38. package/include/libavcodec/version.h +45 -0
  39. package/include/libavcodec/version_major.h +52 -0
  40. package/include/libavcodec/videotoolbox.h +85 -0
  41. package/include/libavcodec/vorbis_parser.h +74 -0
  42. package/include/libavdevice/avdevice.h +397 -0
  43. package/include/libavdevice/version.h +45 -0
  44. package/include/libavdevice/version_major.h +43 -0
  45. package/include/libavfilter/avfilter.h +1379 -0
  46. package/include/libavfilter/buffersink.h +173 -0
  47. package/include/libavfilter/buffersrc.h +215 -0
  48. package/include/libavfilter/version.h +48 -0
  49. package/include/libavfilter/version_major.h +40 -0
  50. package/include/libavformat/avformat.h +3107 -0
  51. package/include/libavformat/avio.h +831 -0
  52. package/include/libavformat/version.h +47 -0
  53. package/include/libavformat/version_major.h +54 -0
  54. package/include/libavutil/adler32.h +63 -0
  55. package/include/libavutil/aes.h +69 -0
  56. package/include/libavutil/aes_ctr.h +99 -0
  57. package/include/libavutil/ambient_viewing_environment.h +72 -0
  58. package/include/libavutil/attributes.h +173 -0
  59. package/include/libavutil/audio_fifo.h +187 -0
  60. package/include/libavutil/avassert.h +78 -0
  61. package/include/libavutil/avconfig.h +6 -0
  62. package/include/libavutil/avstring.h +428 -0
  63. package/include/libavutil/avutil.h +362 -0
  64. package/include/libavutil/base64.h +72 -0
  65. package/include/libavutil/blowfish.h +82 -0
  66. package/include/libavutil/bprint.h +254 -0
  67. package/include/libavutil/bswap.h +105 -0
  68. package/include/libavutil/buffer.h +322 -0
  69. package/include/libavutil/camellia.h +70 -0
  70. package/include/libavutil/cast5.h +80 -0
  71. package/include/libavutil/channel_layout.h +751 -0
  72. package/include/libavutil/common.h +589 -0
  73. package/include/libavutil/cpu.h +145 -0
  74. package/include/libavutil/crc.h +102 -0
  75. package/include/libavutil/csp.h +150 -0
  76. package/include/libavutil/des.h +81 -0
  77. package/include/libavutil/detection_bbox.h +108 -0
  78. package/include/libavutil/dict.h +241 -0
  79. package/include/libavutil/display.h +109 -0
  80. package/include/libavutil/dovi_meta.h +396 -0
  81. package/include/libavutil/downmix_info.h +115 -0
  82. package/include/libavutil/encryption_info.h +205 -0
  83. package/include/libavutil/error.h +129 -0
  84. package/include/libavutil/eval.h +140 -0
  85. package/include/libavutil/executor.h +67 -0
  86. package/include/libavutil/ffversion.h +5 -0
  87. package/include/libavutil/fifo.h +242 -0
  88. package/include/libavutil/file.h +62 -0
  89. package/include/libavutil/film_grain_params.h +322 -0
  90. package/include/libavutil/frame.h +1175 -0
  91. package/include/libavutil/hash.h +264 -0
  92. package/include/libavutil/hdr_dynamic_metadata.h +376 -0
  93. package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
  94. package/include/libavutil/hmac.h +99 -0
  95. package/include/libavutil/hwcontext.h +598 -0
  96. package/include/libavutil/hwcontext_cuda.h +74 -0
  97. package/include/libavutil/hwcontext_d3d11va.h +178 -0
  98. package/include/libavutil/hwcontext_d3d12va.h +142 -0
  99. package/include/libavutil/hwcontext_drm.h +169 -0
  100. package/include/libavutil/hwcontext_dxva2.h +75 -0
  101. package/include/libavutil/hwcontext_mediacodec.h +61 -0
  102. package/include/libavutil/hwcontext_opencl.h +100 -0
  103. package/include/libavutil/hwcontext_qsv.h +87 -0
  104. package/include/libavutil/hwcontext_vaapi.h +117 -0
  105. package/include/libavutil/hwcontext_vdpau.h +44 -0
  106. package/include/libavutil/hwcontext_videotoolbox.h +106 -0
  107. package/include/libavutil/hwcontext_vulkan.h +382 -0
  108. package/include/libavutil/iamf.h +690 -0
  109. package/include/libavutil/imgutils.h +377 -0
  110. package/include/libavutil/intfloat.h +77 -0
  111. package/include/libavutil/intreadwrite.h +677 -0
  112. package/include/libavutil/lfg.h +81 -0
  113. package/include/libavutil/log.h +387 -0
  114. package/include/libavutil/lzo.h +66 -0
  115. package/include/libavutil/macros.h +80 -0
  116. package/include/libavutil/mastering_display_metadata.h +137 -0
  117. package/include/libavutil/mathematics.h +300 -0
  118. package/include/libavutil/md5.h +89 -0
  119. package/include/libavutil/mem.h +607 -0
  120. package/include/libavutil/motion_vector.h +57 -0
  121. package/include/libavutil/murmur3.h +115 -0
  122. package/include/libavutil/opt.h +1187 -0
  123. package/include/libavutil/parseutils.h +197 -0
  124. package/include/libavutil/pixdesc.h +440 -0
  125. package/include/libavutil/pixelutils.h +51 -0
  126. package/include/libavutil/pixfmt.h +716 -0
  127. package/include/libavutil/random_seed.h +57 -0
  128. package/include/libavutil/rational.h +225 -0
  129. package/include/libavutil/rc4.h +69 -0
  130. package/include/libavutil/replaygain.h +50 -0
  131. package/include/libavutil/ripemd.h +83 -0
  132. package/include/libavutil/samplefmt.h +269 -0
  133. package/include/libavutil/sha.h +90 -0
  134. package/include/libavutil/sha512.h +92 -0
  135. package/include/libavutil/spherical.h +243 -0
  136. package/include/libavutil/stereo3d.h +325 -0
  137. package/include/libavutil/tea.h +71 -0
  138. package/include/libavutil/threadmessage.h +115 -0
  139. package/include/libavutil/time.h +56 -0
  140. package/include/libavutil/timecode.h +199 -0
  141. package/include/libavutil/timestamp.h +85 -0
  142. package/include/libavutil/tree.h +137 -0
  143. package/include/libavutil/twofish.h +70 -0
  144. package/include/libavutil/tx.h +210 -0
  145. package/include/libavutil/uuid.h +146 -0
  146. package/include/libavutil/version.h +124 -0
  147. package/include/libavutil/video_enc_params.h +171 -0
  148. package/include/libavutil/video_hint.h +107 -0
  149. package/include/libavutil/xtea.h +94 -0
  150. package/include/libswresample/swresample.h +587 -0
  151. package/include/libswresample/version.h +46 -0
  152. package/include/libswresample/version_major.h +31 -0
  153. package/include/libswscale/swscale.h +460 -0
  154. package/include/libswscale/version.h +44 -0
  155. package/include/libswscale/version_major.h +35 -0
  156. package/include/ogg/config_types.h +26 -0
  157. package/include/ogg/ogg.h +209 -0
  158. package/include/ogg/os_types.h +158 -0
  159. package/include/opus/opus.h +1099 -0
  160. package/include/opus/opus_defines.h +830 -0
  161. package/include/opus/opus_multistream.h +660 -0
  162. package/include/opus/opus_projection.h +568 -0
  163. package/include/opus/opus_types.h +166 -0
  164. package/include/svt-av1/EbDebugMacros.h +88 -0
  165. package/include/svt-av1/EbSvtAv1.h +462 -0
  166. package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
  167. package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
  168. package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
  169. package/include/svt-av1/EbSvtAv1Formats.h +126 -0
  170. package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
  171. package/include/vorbis/codec.h +242 -0
  172. package/include/vorbis/vorbisenc.h +435 -0
  173. package/include/vorbis/vorbisfile.h +205 -0
  174. package/include/vpx/vp8.h +136 -0
  175. package/include/vpx/vp8cx.h +1118 -0
  176. package/include/vpx/vp8dx.h +228 -0
  177. package/include/vpx/vpx_codec.h +475 -0
  178. package/include/vpx/vpx_decoder.h +367 -0
  179. package/include/vpx/vpx_encoder.h +1150 -0
  180. package/include/vpx/vpx_ext_ratectrl.h +590 -0
  181. package/include/vpx/vpx_frame_buffer.h +83 -0
  182. package/include/vpx/vpx_image.h +221 -0
  183. package/include/vpx/vpx_integer.h +40 -0
  184. package/include/vpx/vpx_tpl.h +68 -0
  185. package/lib/index.js +1 -0
  186. package/lib/libSvtAv1Enc.a +0 -0
  187. package/lib/libaom.a +0 -0
  188. package/lib/libavcodec.a +0 -0
  189. package/lib/libavdevice.a +0 -0
  190. package/lib/libavfilter.a +0 -0
  191. package/lib/libavformat.a +0 -0
  192. package/lib/libavutil.a +0 -0
  193. package/lib/libdav1d.a +0 -0
  194. package/lib/libogg.a +0 -0
  195. package/lib/libopus.a +0 -0
  196. package/lib/libswresample.a +0 -0
  197. package/lib/libswscale.a +0 -0
  198. package/lib/libvorbis.a +0 -0
  199. package/lib/libvorbisenc.a +0 -0
  200. package/lib/libvorbisfile.a +0 -0
  201. package/lib/libvpx.a +0 -0
  202. package/package.json +35 -0
  203. package/versions.json +1 -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 */
@@ -0,0 +1 @@
1
+ module.exports = __dirname;
@@ -0,0 +1,36 @@
1
+ /*
2
+ * AC-3 parser prototypes
3
+ * Copyright (c) 2003 Fabrice Bellard
4
+ * Copyright (c) 2003 Michael Niedermayer
5
+ *
6
+ * This file is part of FFmpeg.
7
+ *
8
+ * FFmpeg is free software; you can redistribute it and/or
9
+ * modify it under the terms of the GNU Lesser General Public
10
+ * License as published by the Free Software Foundation; either
11
+ * version 2.1 of the License, or (at your option) any later version.
12
+ *
13
+ * FFmpeg is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ * Lesser General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU Lesser General Public
19
+ * License along with FFmpeg; if not, write to the Free Software
20
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
+ */
22
+
23
+ #ifndef AVCODEC_AC3_PARSER_H
24
+ #define AVCODEC_AC3_PARSER_H
25
+
26
+ #include <stddef.h>
27
+ #include <stdint.h>
28
+
29
+ /**
30
+ * Extract the bitstream ID and the frame size from AC-3 data.
31
+ */
32
+ int av_ac3_parse_header(const uint8_t *buf, size_t size,
33
+ uint8_t *bitstream_id, uint16_t *frame_size);
34
+
35
+
36
+ #endif /* AVCODEC_AC3_PARSER_H */