@pproenca/ffmpeg-darwin-x64-gpl 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 (215) 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/lame/lame.h +1342 -0
  19. package/include/libavcodec/ac3_parser.h +36 -0
  20. package/include/libavcodec/adts_parser.h +37 -0
  21. package/include/libavcodec/avcodec.h +3128 -0
  22. package/include/libavcodec/avdct.h +88 -0
  23. package/include/libavcodec/avfft.h +149 -0
  24. package/include/libavcodec/bsf.h +332 -0
  25. package/include/libavcodec/codec.h +382 -0
  26. package/include/libavcodec/codec_desc.h +134 -0
  27. package/include/libavcodec/codec_id.h +669 -0
  28. package/include/libavcodec/codec_par.h +248 -0
  29. package/include/libavcodec/d3d11va.h +109 -0
  30. package/include/libavcodec/defs.h +337 -0
  31. package/include/libavcodec/dirac.h +135 -0
  32. package/include/libavcodec/dv_profile.h +82 -0
  33. package/include/libavcodec/dxva2.h +90 -0
  34. package/include/libavcodec/jni.h +67 -0
  35. package/include/libavcodec/mediacodec.h +103 -0
  36. package/include/libavcodec/packet.h +887 -0
  37. package/include/libavcodec/qsv.h +109 -0
  38. package/include/libavcodec/vdpau.h +171 -0
  39. package/include/libavcodec/version.h +45 -0
  40. package/include/libavcodec/version_major.h +52 -0
  41. package/include/libavcodec/videotoolbox.h +85 -0
  42. package/include/libavcodec/vorbis_parser.h +74 -0
  43. package/include/libavdevice/avdevice.h +397 -0
  44. package/include/libavdevice/version.h +45 -0
  45. package/include/libavdevice/version_major.h +43 -0
  46. package/include/libavfilter/avfilter.h +1379 -0
  47. package/include/libavfilter/buffersink.h +173 -0
  48. package/include/libavfilter/buffersrc.h +215 -0
  49. package/include/libavfilter/version.h +48 -0
  50. package/include/libavfilter/version_major.h +40 -0
  51. package/include/libavformat/avformat.h +3107 -0
  52. package/include/libavformat/avio.h +831 -0
  53. package/include/libavformat/version.h +47 -0
  54. package/include/libavformat/version_major.h +54 -0
  55. package/include/libavutil/adler32.h +63 -0
  56. package/include/libavutil/aes.h +69 -0
  57. package/include/libavutil/aes_ctr.h +99 -0
  58. package/include/libavutil/ambient_viewing_environment.h +72 -0
  59. package/include/libavutil/attributes.h +173 -0
  60. package/include/libavutil/audio_fifo.h +187 -0
  61. package/include/libavutil/avassert.h +78 -0
  62. package/include/libavutil/avconfig.h +6 -0
  63. package/include/libavutil/avstring.h +428 -0
  64. package/include/libavutil/avutil.h +362 -0
  65. package/include/libavutil/base64.h +72 -0
  66. package/include/libavutil/blowfish.h +82 -0
  67. package/include/libavutil/bprint.h +254 -0
  68. package/include/libavutil/bswap.h +105 -0
  69. package/include/libavutil/buffer.h +322 -0
  70. package/include/libavutil/camellia.h +70 -0
  71. package/include/libavutil/cast5.h +80 -0
  72. package/include/libavutil/channel_layout.h +751 -0
  73. package/include/libavutil/common.h +589 -0
  74. package/include/libavutil/cpu.h +145 -0
  75. package/include/libavutil/crc.h +102 -0
  76. package/include/libavutil/csp.h +150 -0
  77. package/include/libavutil/des.h +81 -0
  78. package/include/libavutil/detection_bbox.h +108 -0
  79. package/include/libavutil/dict.h +241 -0
  80. package/include/libavutil/display.h +109 -0
  81. package/include/libavutil/dovi_meta.h +396 -0
  82. package/include/libavutil/downmix_info.h +115 -0
  83. package/include/libavutil/encryption_info.h +205 -0
  84. package/include/libavutil/error.h +129 -0
  85. package/include/libavutil/eval.h +140 -0
  86. package/include/libavutil/executor.h +67 -0
  87. package/include/libavutil/ffversion.h +5 -0
  88. package/include/libavutil/fifo.h +242 -0
  89. package/include/libavutil/file.h +62 -0
  90. package/include/libavutil/film_grain_params.h +322 -0
  91. package/include/libavutil/frame.h +1175 -0
  92. package/include/libavutil/hash.h +264 -0
  93. package/include/libavutil/hdr_dynamic_metadata.h +376 -0
  94. package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
  95. package/include/libavutil/hmac.h +99 -0
  96. package/include/libavutil/hwcontext.h +598 -0
  97. package/include/libavutil/hwcontext_cuda.h +74 -0
  98. package/include/libavutil/hwcontext_d3d11va.h +178 -0
  99. package/include/libavutil/hwcontext_d3d12va.h +142 -0
  100. package/include/libavutil/hwcontext_drm.h +169 -0
  101. package/include/libavutil/hwcontext_dxva2.h +75 -0
  102. package/include/libavutil/hwcontext_mediacodec.h +61 -0
  103. package/include/libavutil/hwcontext_opencl.h +100 -0
  104. package/include/libavutil/hwcontext_qsv.h +87 -0
  105. package/include/libavutil/hwcontext_vaapi.h +117 -0
  106. package/include/libavutil/hwcontext_vdpau.h +44 -0
  107. package/include/libavutil/hwcontext_videotoolbox.h +106 -0
  108. package/include/libavutil/hwcontext_vulkan.h +382 -0
  109. package/include/libavutil/iamf.h +690 -0
  110. package/include/libavutil/imgutils.h +377 -0
  111. package/include/libavutil/intfloat.h +77 -0
  112. package/include/libavutil/intreadwrite.h +677 -0
  113. package/include/libavutil/lfg.h +81 -0
  114. package/include/libavutil/log.h +387 -0
  115. package/include/libavutil/lzo.h +66 -0
  116. package/include/libavutil/macros.h +80 -0
  117. package/include/libavutil/mastering_display_metadata.h +137 -0
  118. package/include/libavutil/mathematics.h +300 -0
  119. package/include/libavutil/md5.h +89 -0
  120. package/include/libavutil/mem.h +607 -0
  121. package/include/libavutil/motion_vector.h +57 -0
  122. package/include/libavutil/murmur3.h +115 -0
  123. package/include/libavutil/opt.h +1187 -0
  124. package/include/libavutil/parseutils.h +197 -0
  125. package/include/libavutil/pixdesc.h +440 -0
  126. package/include/libavutil/pixelutils.h +51 -0
  127. package/include/libavutil/pixfmt.h +716 -0
  128. package/include/libavutil/random_seed.h +57 -0
  129. package/include/libavutil/rational.h +225 -0
  130. package/include/libavutil/rc4.h +69 -0
  131. package/include/libavutil/replaygain.h +50 -0
  132. package/include/libavutil/ripemd.h +83 -0
  133. package/include/libavutil/samplefmt.h +269 -0
  134. package/include/libavutil/sha.h +90 -0
  135. package/include/libavutil/sha512.h +92 -0
  136. package/include/libavutil/spherical.h +243 -0
  137. package/include/libavutil/stereo3d.h +325 -0
  138. package/include/libavutil/tea.h +71 -0
  139. package/include/libavutil/threadmessage.h +115 -0
  140. package/include/libavutil/time.h +56 -0
  141. package/include/libavutil/timecode.h +199 -0
  142. package/include/libavutil/timestamp.h +85 -0
  143. package/include/libavutil/tree.h +137 -0
  144. package/include/libavutil/twofish.h +70 -0
  145. package/include/libavutil/tx.h +210 -0
  146. package/include/libavutil/uuid.h +146 -0
  147. package/include/libavutil/version.h +124 -0
  148. package/include/libavutil/video_enc_params.h +171 -0
  149. package/include/libavutil/video_hint.h +107 -0
  150. package/include/libavutil/xtea.h +94 -0
  151. package/include/libpostproc/postprocess.h +107 -0
  152. package/include/libpostproc/version.h +46 -0
  153. package/include/libpostproc/version_major.h +31 -0
  154. package/include/libswresample/swresample.h +587 -0
  155. package/include/libswresample/version.h +46 -0
  156. package/include/libswresample/version_major.h +31 -0
  157. package/include/libswscale/swscale.h +460 -0
  158. package/include/libswscale/version.h +44 -0
  159. package/include/libswscale/version_major.h +35 -0
  160. package/include/ogg/config_types.h +26 -0
  161. package/include/ogg/ogg.h +209 -0
  162. package/include/ogg/os_types.h +158 -0
  163. package/include/opus/opus.h +1099 -0
  164. package/include/opus/opus_defines.h +830 -0
  165. package/include/opus/opus_multistream.h +660 -0
  166. package/include/opus/opus_projection.h +568 -0
  167. package/include/opus/opus_types.h +166 -0
  168. package/include/svt-av1/EbDebugMacros.h +88 -0
  169. package/include/svt-av1/EbSvtAv1.h +462 -0
  170. package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
  171. package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
  172. package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
  173. package/include/svt-av1/EbSvtAv1Formats.h +126 -0
  174. package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
  175. package/include/vorbis/codec.h +242 -0
  176. package/include/vorbis/vorbisenc.h +435 -0
  177. package/include/vorbis/vorbisfile.h +205 -0
  178. package/include/vpx/vp8.h +136 -0
  179. package/include/vpx/vp8cx.h +1118 -0
  180. package/include/vpx/vp8dx.h +228 -0
  181. package/include/vpx/vpx_codec.h +475 -0
  182. package/include/vpx/vpx_decoder.h +367 -0
  183. package/include/vpx/vpx_encoder.h +1150 -0
  184. package/include/vpx/vpx_ext_ratectrl.h +590 -0
  185. package/include/vpx/vpx_frame_buffer.h +83 -0
  186. package/include/vpx/vpx_image.h +221 -0
  187. package/include/vpx/vpx_integer.h +40 -0
  188. package/include/vpx/vpx_tpl.h +68 -0
  189. package/include/x264.h +1027 -0
  190. package/include/x264_config.h +6 -0
  191. package/include/x265.h +2737 -0
  192. package/include/x265_config.h +34 -0
  193. package/lib/index.js +1 -0
  194. package/lib/libSvtAv1Enc.a +0 -0
  195. package/lib/libaom.a +0 -0
  196. package/lib/libavcodec.a +0 -0
  197. package/lib/libavdevice.a +0 -0
  198. package/lib/libavfilter.a +0 -0
  199. package/lib/libavformat.a +0 -0
  200. package/lib/libavutil.a +0 -0
  201. package/lib/libdav1d.a +0 -0
  202. package/lib/libmp3lame.a +0 -0
  203. package/lib/libogg.a +0 -0
  204. package/lib/libopus.a +0 -0
  205. package/lib/libpostproc.a +0 -0
  206. package/lib/libswresample.a +0 -0
  207. package/lib/libswscale.a +0 -0
  208. package/lib/libvorbis.a +0 -0
  209. package/lib/libvorbisenc.a +0 -0
  210. package/lib/libvorbisfile.a +0 -0
  211. package/lib/libvpx.a +0 -0
  212. package/lib/libx264.a +0 -0
  213. package/lib/libx265.a +0 -0
  214. package/package.json +35 -0
  215. package/versions.json +1 -0
@@ -0,0 +1,346 @@
1
+ /*
2
+ * Copyright (c) 2021 Limin Wang <lance.lmwang at gmail.com>
3
+ *
4
+ * This file is part of FFmpeg.
5
+ *
6
+ * FFmpeg is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * FFmpeg is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with FFmpeg; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #ifndef AVUTIL_HDR_DYNAMIC_VIVID_METADATA_H
22
+ #define AVUTIL_HDR_DYNAMIC_VIVID_METADATA_H
23
+
24
+ #include "frame.h"
25
+ #include "rational.h"
26
+
27
+ /**
28
+ * HDR Vivid three spline params.
29
+ */
30
+ typedef struct AVHDRVivid3SplineParams {
31
+ /**
32
+ * The mode of three Spline. the value shall be in the range
33
+ * of 0 to 3, inclusive.
34
+ */
35
+ int th_mode;
36
+
37
+ /**
38
+ * three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive
39
+ * and in multiples of 1.0/255.
40
+ *
41
+ */
42
+ AVRational th_enable_mb;
43
+
44
+ /**
45
+ * 3Spline_TH_enable of three Spline.
46
+ * The value shall be in the range of 0.0 to 1.0, inclusive.
47
+ * and in multiples of 1.0/4095.
48
+ */
49
+ AVRational th_enable;
50
+
51
+ /**
52
+ * 3Spline_TH_Delta1 of three Spline.
53
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
54
+ * and in multiples of 0.25/1023.
55
+ */
56
+ AVRational th_delta1;
57
+
58
+ /**
59
+ * 3Spline_TH_Delta2 of three Spline.
60
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
61
+ * and in multiples of 0.25/1023.
62
+ */
63
+ AVRational th_delta2;
64
+
65
+ /**
66
+ * 3Spline_enable_Strength of three Spline.
67
+ * The value shall be in the range of 0.0 to 1.0, inclusive,
68
+ * and in multiples of 1.0/255.
69
+ */
70
+ AVRational enable_strength;
71
+ } AVHDRVivid3SplineParams;
72
+
73
+ /**
74
+ * Color tone mapping parameters at a processing window in a dynamic metadata for
75
+ * CUVA 005.1:2021.
76
+ */
77
+ typedef struct AVHDRVividColorToneMappingParams {
78
+ /**
79
+ * The nominal maximum display luminance of the targeted system display,
80
+ * in multiples of 1.0/4095 candelas per square metre. The value shall be in
81
+ * the range of 0.0 to 1.0, inclusive.
82
+ */
83
+ AVRational targeted_system_display_maximum_luminance;
84
+
85
+ /**
86
+ * This flag indicates that transfer the base paramter(for value of 1)
87
+ */
88
+ int base_enable_flag;
89
+
90
+ /**
91
+ * base_param_m_p in the base parameter,
92
+ * in multiples of 1.0/16383. The value shall be in
93
+ * the range of 0.0 to 1.0, inclusive.
94
+ */
95
+ AVRational base_param_m_p;
96
+
97
+ /**
98
+ * base_param_m_m in the base parameter,
99
+ * in multiples of 1.0/10. The value shall be in
100
+ * the range of 0.0 to 6.3, inclusive.
101
+ */
102
+ AVRational base_param_m_m;
103
+
104
+ /**
105
+ * base_param_m_a in the base parameter,
106
+ * in multiples of 1.0/1023. The value shall be in
107
+ * the range of 0.0 to 1.0 inclusive.
108
+ */
109
+ AVRational base_param_m_a;
110
+
111
+ /**
112
+ * base_param_m_b in the base parameter,
113
+ * in multiples of 1/1023. The value shall be in
114
+ * the range of 0.0 to 1.0, inclusive.
115
+ */
116
+ AVRational base_param_m_b;
117
+
118
+ /**
119
+ * base_param_m_n in the base parameter,
120
+ * in multiples of 1.0/10. The value shall be in
121
+ * the range of 0.0 to 6.3, inclusive.
122
+ */
123
+ AVRational base_param_m_n;
124
+
125
+ /**
126
+ * indicates k1_0 in the base parameter,
127
+ * base_param_k1 <= 1: k1_0 = base_param_k1
128
+ * base_param_k1 > 1: reserved
129
+ */
130
+ int base_param_k1;
131
+
132
+ /**
133
+ * indicates k2_0 in the base parameter,
134
+ * base_param_k2 <= 1: k2_0 = base_param_k2
135
+ * base_param_k2 > 1: reserved
136
+ */
137
+ int base_param_k2;
138
+
139
+ /**
140
+ * indicates k3_0 in the base parameter,
141
+ * base_param_k3 == 1: k3_0 = base_param_k3
142
+ * base_param_k3 == 2: k3_0 = maximum_maxrgb
143
+ * base_param_k3 > 2: reserved
144
+ */
145
+ int base_param_k3;
146
+
147
+ /**
148
+ * This flag indicates that delta mode of base paramter(for value of 1)
149
+ */
150
+ int base_param_Delta_enable_mode;
151
+
152
+ /**
153
+ * base_param_Delta in the base parameter,
154
+ * in multiples of 1.0/127. The value shall be in
155
+ * the range of 0.0 to 1.0, inclusive.
156
+ */
157
+ AVRational base_param_Delta;
158
+
159
+ /**
160
+ * indicates 3Spline_enable_flag in the base parameter,
161
+ * This flag indicates that transfer three Spline of base paramter(for value of 1)
162
+ */
163
+ int three_Spline_enable_flag;
164
+
165
+ /**
166
+ * The number of three Spline. The value shall be in the range
167
+ * of 1 to 2, inclusive.
168
+ */
169
+ int three_Spline_num;
170
+
171
+ #if FF_API_HDR_VIVID_THREE_SPLINE
172
+ /**
173
+ * The mode of three Spline. the value shall be in the range
174
+ * of 0 to 3, inclusive.
175
+ * @deprecated Use three_spline instead
176
+ */
177
+ attribute_deprecated
178
+ int three_Spline_TH_mode;
179
+
180
+ /**
181
+ * three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive
182
+ * and in multiples of 1.0/255.
183
+ * @deprecated Use three_spline instead
184
+ */
185
+ attribute_deprecated
186
+ AVRational three_Spline_TH_enable_MB;
187
+
188
+ /**
189
+ * 3Spline_TH_enable of three Spline.
190
+ * The value shall be in the range of 0.0 to 1.0, inclusive.
191
+ * and in multiples of 1.0/4095.
192
+ * @deprecated Use three_spline instead
193
+ */
194
+ attribute_deprecated
195
+ AVRational three_Spline_TH_enable;
196
+
197
+ /**
198
+ * 3Spline_TH_Delta1 of three Spline.
199
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
200
+ * and in multiples of 0.25/1023.
201
+ * @deprecated Use three_spline instead
202
+ */
203
+ attribute_deprecated
204
+ AVRational three_Spline_TH_Delta1;
205
+
206
+ /**
207
+ * 3Spline_TH_Delta2 of three Spline.
208
+ * The value shall be in the range of 0.0 to 0.25, inclusive,
209
+ * and in multiples of 0.25/1023.
210
+ * @deprecated Use three_spline instead
211
+ */
212
+ attribute_deprecated
213
+ AVRational three_Spline_TH_Delta2;
214
+
215
+ /**
216
+ * 3Spline_enable_Strength of three Spline.
217
+ * The value shall be in the range of 0.0 to 1.0, inclusive,
218
+ * and in multiples of 1.0/255.
219
+ * @deprecated Use three_spline instead
220
+ */
221
+ attribute_deprecated
222
+ AVRational three_Spline_enable_Strength;
223
+ #endif
224
+
225
+ AVHDRVivid3SplineParams three_spline[2];
226
+ } AVHDRVividColorToneMappingParams;
227
+
228
+
229
+ /**
230
+ * Color transform parameters at a processing window in a dynamic metadata for
231
+ * CUVA 005.1:2021.
232
+ */
233
+ typedef struct AVHDRVividColorTransformParams {
234
+ /**
235
+ * Indicates the minimum brightness of the displayed content.
236
+ * The values should be in the range of 0.0 to 1.0,
237
+ * inclusive and in multiples of 1/4095.
238
+ */
239
+ AVRational minimum_maxrgb;
240
+
241
+ /**
242
+ * Indicates the average brightness of the displayed content.
243
+ * The values should be in the range of 0.0 to 1.0,
244
+ * inclusive and in multiples of 1/4095.
245
+ */
246
+ AVRational average_maxrgb;
247
+
248
+ /**
249
+ * Indicates the variance brightness of the displayed content.
250
+ * The values should be in the range of 0.0 to 1.0,
251
+ * inclusive and in multiples of 1/4095.
252
+ */
253
+ AVRational variance_maxrgb;
254
+
255
+ /**
256
+ * Indicates the maximum brightness of the displayed content.
257
+ * The values should be in the range of 0.0 to 1.0, inclusive
258
+ * and in multiples of 1/4095.
259
+ */
260
+ AVRational maximum_maxrgb;
261
+
262
+ /**
263
+ * This flag indicates that the metadata for the tone mapping function in
264
+ * the processing window is present (for value of 1).
265
+ */
266
+ int tone_mapping_mode_flag;
267
+
268
+ /**
269
+ * The number of tone mapping param. The value shall be in the range
270
+ * of 1 to 2, inclusive.
271
+ */
272
+ int tone_mapping_param_num;
273
+
274
+ /**
275
+ * The color tone mapping parameters.
276
+ */
277
+ AVHDRVividColorToneMappingParams tm_params[2];
278
+
279
+ /**
280
+ * This flag indicates that the metadata for the color saturation mapping in
281
+ * the processing window is present (for value of 1).
282
+ */
283
+ int color_saturation_mapping_flag;
284
+
285
+ /**
286
+ * The number of color saturation param. The value shall be in the range
287
+ * of 0 to 7, inclusive.
288
+ */
289
+ int color_saturation_num;
290
+
291
+ /**
292
+ * Indicates the color correction strength parameter.
293
+ * The values should be in the range of 0.0 to 2.0, inclusive
294
+ * and in multiples of 1/128.
295
+ */
296
+ AVRational color_saturation_gain[8];
297
+ } AVHDRVividColorTransformParams;
298
+
299
+ /**
300
+ * This struct represents dynamic metadata for color volume transform -
301
+ * CUVA 005.1:2021 standard
302
+ *
303
+ * To be used as payload of a AVFrameSideData or AVPacketSideData with the
304
+ * appropriate type.
305
+ *
306
+ * @note The struct should be allocated with
307
+ * av_dynamic_hdr_vivid_alloc() and its size is not a part of
308
+ * the public ABI.
309
+ */
310
+ typedef struct AVDynamicHDRVivid {
311
+ /**
312
+ * The system start code. The value shall be set to 0x01.
313
+ */
314
+ uint8_t system_start_code;
315
+
316
+ /**
317
+ * The number of processing windows. The value shall be set to 0x01
318
+ * if the system_start_code is 0x01.
319
+ */
320
+ uint8_t num_windows;
321
+
322
+ /**
323
+ * The color transform parameters for every processing window.
324
+ */
325
+ AVHDRVividColorTransformParams params[3];
326
+ } AVDynamicHDRVivid;
327
+
328
+ /**
329
+ * Allocate an AVDynamicHDRVivid structure and set its fields to
330
+ * default values. The resulting struct can be freed using av_freep().
331
+ *
332
+ * @return An AVDynamicHDRVivid filled with default values or NULL
333
+ * on failure.
334
+ */
335
+ AVDynamicHDRVivid *av_dynamic_hdr_vivid_alloc(size_t *size);
336
+
337
+ /**
338
+ * Allocate a complete AVDynamicHDRVivid and add it to the frame.
339
+ * @param frame The frame which side data is added to.
340
+ *
341
+ * @return The AVDynamicHDRVivid structure to be filled by caller or NULL
342
+ * on failure.
343
+ */
344
+ AVDynamicHDRVivid *av_dynamic_hdr_vivid_create_side_data(AVFrame *frame);
345
+
346
+ #endif /* AVUTIL_HDR_DYNAMIC_VIVID_METADATA_H */
@@ -0,0 +1,99 @@
1
+ /*
2
+ * Copyright (C) 2012 Martin Storsjo
3
+ *
4
+ * This file is part of FFmpeg.
5
+ *
6
+ * FFmpeg is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * FFmpeg is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with FFmpeg; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #ifndef AVUTIL_HMAC_H
22
+ #define AVUTIL_HMAC_H
23
+
24
+ #include <stdint.h>
25
+
26
+ /**
27
+ * @defgroup lavu_hmac HMAC
28
+ * @ingroup lavu_crypto
29
+ * @{
30
+ */
31
+
32
+ enum AVHMACType {
33
+ AV_HMAC_MD5,
34
+ AV_HMAC_SHA1,
35
+ AV_HMAC_SHA224,
36
+ AV_HMAC_SHA256,
37
+ AV_HMAC_SHA384,
38
+ AV_HMAC_SHA512,
39
+ };
40
+
41
+ typedef struct AVHMAC AVHMAC;
42
+
43
+ /**
44
+ * Allocate an AVHMAC context.
45
+ * @param type The hash function used for the HMAC.
46
+ */
47
+ AVHMAC *av_hmac_alloc(enum AVHMACType type);
48
+
49
+ /**
50
+ * Free an AVHMAC context.
51
+ * @param ctx The context to free, may be NULL
52
+ */
53
+ void av_hmac_free(AVHMAC *ctx);
54
+
55
+ /**
56
+ * Initialize an AVHMAC context with an authentication key.
57
+ * @param ctx The HMAC context
58
+ * @param key The authentication key
59
+ * @param keylen The length of the key, in bytes
60
+ */
61
+ void av_hmac_init(AVHMAC *ctx, const uint8_t *key, unsigned int keylen);
62
+
63
+ /**
64
+ * Hash data with the HMAC.
65
+ * @param ctx The HMAC context
66
+ * @param data The data to hash
67
+ * @param len The length of the data, in bytes
68
+ */
69
+ void av_hmac_update(AVHMAC *ctx, const uint8_t *data, unsigned int len);
70
+
71
+ /**
72
+ * Finish hashing and output the HMAC digest.
73
+ * @param ctx The HMAC context
74
+ * @param out The output buffer to write the digest into
75
+ * @param outlen The length of the out buffer, in bytes
76
+ * @return The number of bytes written to out, or a negative error code.
77
+ */
78
+ int av_hmac_final(AVHMAC *ctx, uint8_t *out, unsigned int outlen);
79
+
80
+ /**
81
+ * Hash an array of data with a key.
82
+ * @param ctx The HMAC context
83
+ * @param data The data to hash
84
+ * @param len The length of the data, in bytes
85
+ * @param key The authentication key
86
+ * @param keylen The length of the key, in bytes
87
+ * @param out The output buffer to write the digest into
88
+ * @param outlen The length of the out buffer, in bytes
89
+ * @return The number of bytes written to out, or a negative error code.
90
+ */
91
+ int av_hmac_calc(AVHMAC *ctx, const uint8_t *data, unsigned int len,
92
+ const uint8_t *key, unsigned int keylen,
93
+ uint8_t *out, unsigned int outlen);
94
+
95
+ /**
96
+ * @}
97
+ */
98
+
99
+ #endif /* AVUTIL_HMAC_H */