@pproenca/ffmpeg-darwin-arm64 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,47 @@
1
+ /*
2
+ * Version macros.
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 AVFORMAT_VERSION_H
22
+ #define AVFORMAT_VERSION_H
23
+
24
+ /**
25
+ * @file
26
+ * @ingroup libavf
27
+ * Libavformat version macros
28
+ */
29
+
30
+ #include "libavutil/version.h"
31
+
32
+ #include "version_major.h"
33
+
34
+ #define LIBAVFORMAT_VERSION_MINOR 7
35
+ #define LIBAVFORMAT_VERSION_MICRO 100
36
+
37
+ #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
38
+ LIBAVFORMAT_VERSION_MINOR, \
39
+ LIBAVFORMAT_VERSION_MICRO)
40
+ #define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
41
+ LIBAVFORMAT_VERSION_MINOR, \
42
+ LIBAVFORMAT_VERSION_MICRO)
43
+ #define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
44
+
45
+ #define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
46
+
47
+ #endif /* AVFORMAT_VERSION_H */
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Version macros.
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 AVFORMAT_VERSION_MAJOR_H
22
+ #define AVFORMAT_VERSION_MAJOR_H
23
+
24
+ /**
25
+ * @file
26
+ * @ingroup libavf
27
+ * Libavformat version macros
28
+ */
29
+
30
+ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
31
+ // Also please add any ticket numbers that you believe might be affected here
32
+ #define LIBAVFORMAT_VERSION_MAJOR 61
33
+
34
+ /**
35
+ * FF_API_* defines may be placed below to indicate public API that will be
36
+ * dropped at a future version bump. The defines themselves are not part of
37
+ * the public API and may change, break or disappear at any time.
38
+ *
39
+ * @note, when bumping the major version it is recommended to manually
40
+ * disable each FF_API_* in its own commit instead of disabling them all
41
+ * at once through the bump. This improves the git bisect-ability of the change.
42
+ *
43
+ */
44
+ #define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 62)
45
+ #define FF_API_LAVF_SHORTEST (LIBAVFORMAT_VERSION_MAJOR < 62)
46
+ #define FF_API_ALLOW_FLUSH (LIBAVFORMAT_VERSION_MAJOR < 62)
47
+ #define FF_API_AVSTREAM_SIDE_DATA (LIBAVFORMAT_VERSION_MAJOR < 62)
48
+
49
+ #define FF_API_GET_DUR_ESTIMATE_METHOD (LIBAVFORMAT_VERSION_MAJOR < 62)
50
+ #define FF_API_INTERNAL_TIMING (LIBAVFORMAT_VERSION_MAJOR < 62)
51
+
52
+ #define FF_API_R_FRAME_RATE 1
53
+
54
+ #endif /* AVFORMAT_VERSION_MAJOR_H */
@@ -0,0 +1,63 @@
1
+ /*
2
+ * copyright (c) 2006 Mans Rullgard
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
+ /**
22
+ * @file
23
+ * @ingroup lavu_adler32
24
+ * Public header for Adler-32 hash function implementation.
25
+ */
26
+
27
+ #ifndef AVUTIL_ADLER32_H
28
+ #define AVUTIL_ADLER32_H
29
+
30
+ #include <stddef.h>
31
+ #include <stdint.h>
32
+ #include "attributes.h"
33
+
34
+ /**
35
+ * @defgroup lavu_adler32 Adler-32
36
+ * @ingroup lavu_hash
37
+ * Adler-32 hash function implementation.
38
+ *
39
+ * @{
40
+ */
41
+
42
+ typedef uint32_t AVAdler;
43
+
44
+ /**
45
+ * Calculate the Adler32 checksum of a buffer.
46
+ *
47
+ * Passing the return value to a subsequent av_adler32_update() call
48
+ * allows the checksum of multiple buffers to be calculated as though
49
+ * they were concatenated.
50
+ *
51
+ * @param adler initial checksum value
52
+ * @param buf pointer to input buffer
53
+ * @param len size of input buffer
54
+ * @return updated checksum
55
+ */
56
+ AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf,
57
+ size_t len) av_pure;
58
+
59
+ /**
60
+ * @}
61
+ */
62
+
63
+ #endif /* AVUTIL_ADLER32_H */
@@ -0,0 +1,69 @@
1
+ /*
2
+ * copyright (c) 2007 Michael Niedermayer <michaelni@gmx.at>
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_AES_H
22
+ #define AVUTIL_AES_H
23
+
24
+ #include <stdint.h>
25
+
26
+ #include "attributes.h"
27
+
28
+ /**
29
+ * @defgroup lavu_aes AES
30
+ * @ingroup lavu_crypto
31
+ * @{
32
+ */
33
+
34
+ extern const int av_aes_size;
35
+
36
+ struct AVAES;
37
+
38
+ /**
39
+ * Allocate an AVAES context.
40
+ */
41
+ struct AVAES *av_aes_alloc(void);
42
+
43
+ /**
44
+ * Initialize an AVAES context.
45
+ *
46
+ * @param a The AVAES context
47
+ * @param key Pointer to the key
48
+ * @param key_bits 128, 192 or 256
49
+ * @param decrypt 0 for encryption, 1 for decryption
50
+ */
51
+ int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt);
52
+
53
+ /**
54
+ * Encrypt or decrypt a buffer using a previously initialized context.
55
+ *
56
+ * @param a The AVAES context
57
+ * @param dst destination array, can be equal to src
58
+ * @param src source array, can be equal to dst
59
+ * @param count number of 16 byte blocks
60
+ * @param iv initialization vector for CBC mode, if NULL then ECB will be used
61
+ * @param decrypt 0 for encryption, 1 for decryption
62
+ */
63
+ void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
64
+
65
+ /**
66
+ * @}
67
+ */
68
+
69
+ #endif /* AVUTIL_AES_H */
@@ -0,0 +1,99 @@
1
+ /*
2
+ * AES-CTR cipher
3
+ * Copyright (c) 2015 Eran Kornblau <erankor at gmail dot com>
4
+ *
5
+ * This file is part of FFmpeg.
6
+ *
7
+ * FFmpeg is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * FFmpeg is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with FFmpeg; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+ */
21
+
22
+ #ifndef AVUTIL_AES_CTR_H
23
+ #define AVUTIL_AES_CTR_H
24
+
25
+ /**
26
+ * @defgroup lavu_aes_ctr AES-CTR
27
+ * @ingroup lavu_crypto
28
+ * @{
29
+ */
30
+
31
+ #include <stdint.h>
32
+
33
+ #include "attributes.h"
34
+
35
+ #define AES_CTR_KEY_SIZE (16)
36
+ #define AES_CTR_IV_SIZE (8)
37
+
38
+ struct AVAESCTR;
39
+
40
+ /**
41
+ * Allocate an AVAESCTR context.
42
+ */
43
+ struct AVAESCTR *av_aes_ctr_alloc(void);
44
+
45
+ /**
46
+ * Initialize an AVAESCTR context.
47
+ *
48
+ * @param a The AVAESCTR context to initialize
49
+ * @param key encryption key, must have a length of AES_CTR_KEY_SIZE
50
+ */
51
+ int av_aes_ctr_init(struct AVAESCTR *a, const uint8_t *key);
52
+
53
+ /**
54
+ * Release an AVAESCTR context.
55
+ *
56
+ * @param a The AVAESCTR context
57
+ */
58
+ void av_aes_ctr_free(struct AVAESCTR *a);
59
+
60
+ /**
61
+ * Process a buffer using a previously initialized context.
62
+ *
63
+ * @param a The AVAESCTR context
64
+ * @param dst destination array, can be equal to src
65
+ * @param src source array, can be equal to dst
66
+ * @param size the size of src and dst
67
+ */
68
+ void av_aes_ctr_crypt(struct AVAESCTR *a, uint8_t *dst, const uint8_t *src, int size);
69
+
70
+ /**
71
+ * Get the current iv
72
+ */
73
+ const uint8_t* av_aes_ctr_get_iv(struct AVAESCTR *a);
74
+
75
+ /**
76
+ * Generate a random iv
77
+ */
78
+ void av_aes_ctr_set_random_iv(struct AVAESCTR *a);
79
+
80
+ /**
81
+ * Forcefully change the 8-byte iv
82
+ */
83
+ void av_aes_ctr_set_iv(struct AVAESCTR *a, const uint8_t* iv);
84
+
85
+ /**
86
+ * Forcefully change the "full" 16-byte iv, including the counter
87
+ */
88
+ void av_aes_ctr_set_full_iv(struct AVAESCTR *a, const uint8_t* iv);
89
+
90
+ /**
91
+ * Increment the top 64 bit of the iv (performed after each frame)
92
+ */
93
+ void av_aes_ctr_increment_iv(struct AVAESCTR *a);
94
+
95
+ /**
96
+ * @}
97
+ */
98
+
99
+ #endif /* AVUTIL_AES_CTR_H */
@@ -0,0 +1,72 @@
1
+ /*
2
+ * Copyright (c) 2023 Jan Ekström <jeebjp@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_AMBIENT_VIEWING_ENVIRONMENT_H
22
+ #define AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H
23
+
24
+ #include <stddef.h>
25
+ #include "frame.h"
26
+ #include "rational.h"
27
+
28
+ /**
29
+ * Ambient viewing environment metadata as defined by H.274. The values are
30
+ * saved in AVRationals so that they keep their exactness, while allowing for
31
+ * easy access to a double value with f.ex. av_q2d.
32
+ *
33
+ * @note sizeof(AVAmbientViewingEnvironment) is not part of the public ABI, and
34
+ * it must be allocated using av_ambient_viewing_environment_alloc.
35
+ */
36
+ typedef struct AVAmbientViewingEnvironment {
37
+ /**
38
+ * Environmental illuminance of the ambient viewing environment in lux.
39
+ */
40
+ AVRational ambient_illuminance;
41
+
42
+ /**
43
+ * Normalized x chromaticity coordinate of the environmental ambient light
44
+ * in the nominal viewing environment according to the CIE 1931 definition
45
+ * of x and y as specified in ISO/CIE 11664-1.
46
+ */
47
+ AVRational ambient_light_x;
48
+
49
+ /**
50
+ * Normalized y chromaticity coordinate of the environmental ambient light
51
+ * in the nominal viewing environment according to the CIE 1931 definition
52
+ * of x and y as specified in ISO/CIE 11664-1.
53
+ */
54
+ AVRational ambient_light_y;
55
+ } AVAmbientViewingEnvironment;
56
+
57
+ /**
58
+ * Allocate an AVAmbientViewingEnvironment structure.
59
+ *
60
+ * @return the newly allocated struct or NULL on failure
61
+ */
62
+ AVAmbientViewingEnvironment *av_ambient_viewing_environment_alloc(size_t *size);
63
+
64
+ /**
65
+ * Allocate and add an AVAmbientViewingEnvironment structure to an existing
66
+ * AVFrame as side data.
67
+ *
68
+ * @return the newly allocated struct, or NULL on failure
69
+ */
70
+ AVAmbientViewingEnvironment *av_ambient_viewing_environment_create_side_data(AVFrame *frame);
71
+
72
+ #endif /* AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H */
@@ -0,0 +1,173 @@
1
+ /*
2
+ * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
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
+ /**
22
+ * @file
23
+ * Macro definitions for various function/variable attributes
24
+ */
25
+
26
+ #ifndef AVUTIL_ATTRIBUTES_H
27
+ #define AVUTIL_ATTRIBUTES_H
28
+
29
+ #ifdef __GNUC__
30
+ # define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y))
31
+ # define AV_GCC_VERSION_AT_MOST(x,y) (__GNUC__ < (x) || __GNUC__ == (x) && __GNUC_MINOR__ <= (y))
32
+ #else
33
+ # define AV_GCC_VERSION_AT_LEAST(x,y) 0
34
+ # define AV_GCC_VERSION_AT_MOST(x,y) 0
35
+ #endif
36
+
37
+ #ifdef __has_builtin
38
+ # define AV_HAS_BUILTIN(x) __has_builtin(x)
39
+ #else
40
+ # define AV_HAS_BUILTIN(x) 0
41
+ #endif
42
+
43
+ #ifndef av_always_inline
44
+ #if AV_GCC_VERSION_AT_LEAST(3,1)
45
+ # define av_always_inline __attribute__((always_inline)) inline
46
+ #elif defined(_MSC_VER)
47
+ # define av_always_inline __forceinline
48
+ #else
49
+ # define av_always_inline inline
50
+ #endif
51
+ #endif
52
+
53
+ #ifndef av_extern_inline
54
+ #if defined(__ICL) && __ICL >= 1210 || defined(__GNUC_STDC_INLINE__)
55
+ # define av_extern_inline extern inline
56
+ #else
57
+ # define av_extern_inline inline
58
+ #endif
59
+ #endif
60
+
61
+ #if AV_GCC_VERSION_AT_LEAST(3,4)
62
+ # define av_warn_unused_result __attribute__((warn_unused_result))
63
+ #else
64
+ # define av_warn_unused_result
65
+ #endif
66
+
67
+ #if AV_GCC_VERSION_AT_LEAST(3,1)
68
+ # define av_noinline __attribute__((noinline))
69
+ #elif defined(_MSC_VER)
70
+ # define av_noinline __declspec(noinline)
71
+ #else
72
+ # define av_noinline
73
+ #endif
74
+
75
+ #if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
76
+ # define av_pure __attribute__((pure))
77
+ #else
78
+ # define av_pure
79
+ #endif
80
+
81
+ #if AV_GCC_VERSION_AT_LEAST(2,6) || defined(__clang__)
82
+ # define av_const __attribute__((const))
83
+ #else
84
+ # define av_const
85
+ #endif
86
+
87
+ #if AV_GCC_VERSION_AT_LEAST(4,3) || defined(__clang__)
88
+ # define av_cold __attribute__((cold))
89
+ #else
90
+ # define av_cold
91
+ #endif
92
+
93
+ #if AV_GCC_VERSION_AT_LEAST(4,1) && !defined(__llvm__)
94
+ # define av_flatten __attribute__((flatten))
95
+ #else
96
+ # define av_flatten
97
+ #endif
98
+
99
+ #if AV_GCC_VERSION_AT_LEAST(3,1)
100
+ # define attribute_deprecated __attribute__((deprecated))
101
+ #elif defined(_MSC_VER)
102
+ # define attribute_deprecated __declspec(deprecated)
103
+ #else
104
+ # define attribute_deprecated
105
+ #endif
106
+
107
+ /**
108
+ * Disable warnings about deprecated features
109
+ * This is useful for sections of code kept for backward compatibility and
110
+ * scheduled for removal.
111
+ */
112
+ #ifndef AV_NOWARN_DEPRECATED
113
+ #if AV_GCC_VERSION_AT_LEAST(4,6) || defined(__clang__)
114
+ # define AV_NOWARN_DEPRECATED(code) \
115
+ _Pragma("GCC diagnostic push") \
116
+ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
117
+ code \
118
+ _Pragma("GCC diagnostic pop")
119
+ #elif defined(_MSC_VER)
120
+ # define AV_NOWARN_DEPRECATED(code) \
121
+ __pragma(warning(push)) \
122
+ __pragma(warning(disable : 4996)) \
123
+ code; \
124
+ __pragma(warning(pop))
125
+ #else
126
+ # define AV_NOWARN_DEPRECATED(code) code
127
+ #endif
128
+ #endif
129
+
130
+ #if defined(__GNUC__) || defined(__clang__)
131
+ # define av_unused __attribute__((unused))
132
+ #else
133
+ # define av_unused
134
+ #endif
135
+
136
+ /**
137
+ * Mark a variable as used and prevent the compiler from optimizing it
138
+ * away. This is useful for variables accessed only from inline
139
+ * assembler without the compiler being aware.
140
+ */
141
+ #if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
142
+ # define av_used __attribute__((used))
143
+ #else
144
+ # define av_used
145
+ #endif
146
+
147
+ #if AV_GCC_VERSION_AT_LEAST(3,3) || defined(__clang__)
148
+ # define av_alias __attribute__((may_alias))
149
+ #else
150
+ # define av_alias
151
+ #endif
152
+
153
+ #if (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER)
154
+ # define av_uninit(x) x=x
155
+ #else
156
+ # define av_uninit(x) x
157
+ #endif
158
+
159
+ #if defined(__GNUC__) || defined(__clang__)
160
+ # define av_builtin_constant_p __builtin_constant_p
161
+ # define av_printf_format(fmtpos, attrpos) __attribute__((__format__(__printf__, fmtpos, attrpos)))
162
+ #else
163
+ # define av_builtin_constant_p(x) 0
164
+ # define av_printf_format(fmtpos, attrpos)
165
+ #endif
166
+
167
+ #if AV_GCC_VERSION_AT_LEAST(2,5) || defined(__clang__)
168
+ # define av_noreturn __attribute__((noreturn))
169
+ #else
170
+ # define av_noreturn
171
+ #endif
172
+
173
+ #endif /* AVUTIL_ATTRIBUTES_H */