@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,57 @@
1
+ /*
2
+ * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@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_RANDOM_SEED_H
22
+ #define AVUTIL_RANDOM_SEED_H
23
+
24
+ #include <stddef.h>
25
+ #include <stdint.h>
26
+ /**
27
+ * @addtogroup lavu_crypto
28
+ * @{
29
+ */
30
+
31
+ /**
32
+ * Get a seed to use in conjunction with random functions.
33
+ * This function tries to provide a good seed at a best effort bases.
34
+ * Its possible to call this function multiple times if more bits are needed.
35
+ * It can be quite slow, which is why it should only be used as seed for a faster
36
+ * PRNG. The quality of the seed depends on the platform.
37
+ */
38
+ uint32_t av_get_random_seed(void);
39
+
40
+ /**
41
+ * Generate cryptographically secure random data, i.e. suitable for use as
42
+ * encryption keys and similar.
43
+ *
44
+ * @param buf buffer into which the random data will be written
45
+ * @param len size of buf in bytes
46
+ *
47
+ * @retval 0 success, len bytes of random data was written
48
+ * into buf
49
+ * @retval "a negative AVERROR code" random data could not be generated
50
+ */
51
+ int av_random_bytes(uint8_t *buf, size_t len);
52
+
53
+ /**
54
+ * @}
55
+ */
56
+
57
+ #endif /* AVUTIL_RANDOM_SEED_H */
@@ -0,0 +1,225 @@
1
+ /*
2
+ * rational numbers
3
+ * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
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
+ /**
23
+ * @file
24
+ * @ingroup lavu_math_rational
25
+ * Utilties for rational number calculation.
26
+ * @author Michael Niedermayer <michaelni@gmx.at>
27
+ */
28
+
29
+ #ifndef AVUTIL_RATIONAL_H
30
+ #define AVUTIL_RATIONAL_H
31
+
32
+ #include <stdint.h>
33
+ #include <limits.h>
34
+ #include "attributes.h"
35
+
36
+ /**
37
+ * @defgroup lavu_math_rational AVRational
38
+ * @ingroup lavu_math
39
+ * Rational number calculation.
40
+ *
41
+ * While rational numbers can be expressed as floating-point numbers, the
42
+ * conversion process is a lossy one, so are floating-point operations. On the
43
+ * other hand, the nature of FFmpeg demands highly accurate calculation of
44
+ * timestamps. This set of rational number utilities serves as a generic
45
+ * interface for manipulating rational numbers as pairs of numerators and
46
+ * denominators.
47
+ *
48
+ * Many of the functions that operate on AVRational's have the suffix `_q`, in
49
+ * reference to the mathematical symbol "ℚ" (Q) which denotes the set of all
50
+ * rational numbers.
51
+ *
52
+ * @{
53
+ */
54
+
55
+ /**
56
+ * Rational number (pair of numerator and denominator).
57
+ */
58
+ typedef struct AVRational{
59
+ int num; ///< Numerator
60
+ int den; ///< Denominator
61
+ } AVRational;
62
+
63
+ /**
64
+ * Create an AVRational.
65
+ *
66
+ * Useful for compilers that do not support compound literals.
67
+ *
68
+ * @note The return value is not reduced.
69
+ * @see av_reduce()
70
+ */
71
+ static inline AVRational av_make_q(int num, int den)
72
+ {
73
+ AVRational r = { num, den };
74
+ return r;
75
+ }
76
+
77
+ /**
78
+ * Compare two rationals.
79
+ *
80
+ * @param a First rational
81
+ * @param b Second rational
82
+ *
83
+ * @return One of the following values:
84
+ * - 0 if `a == b`
85
+ * - 1 if `a > b`
86
+ * - -1 if `a < b`
87
+ * - `INT_MIN` if one of the values is of the form `0 / 0`
88
+ */
89
+ static inline int av_cmp_q(AVRational a, AVRational b){
90
+ const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
91
+
92
+ if(tmp) return (int)((tmp ^ a.den ^ b.den)>>63)|1;
93
+ else if(b.den && a.den) return 0;
94
+ else if(a.num && b.num) return (a.num>>31) - (b.num>>31);
95
+ else return INT_MIN;
96
+ }
97
+
98
+ /**
99
+ * Convert an AVRational to a `double`.
100
+ * @param a AVRational to convert
101
+ * @return `a` in floating-point form
102
+ * @see av_d2q()
103
+ */
104
+ static inline double av_q2d(AVRational a){
105
+ return a.num / (double) a.den;
106
+ }
107
+
108
+ /**
109
+ * Reduce a fraction.
110
+ *
111
+ * This is useful for framerate calculations.
112
+ *
113
+ * @param[out] dst_num Destination numerator
114
+ * @param[out] dst_den Destination denominator
115
+ * @param[in] num Source numerator
116
+ * @param[in] den Source denominator
117
+ * @param[in] max Maximum allowed values for `dst_num` & `dst_den`
118
+ * @return 1 if the operation is exact, 0 otherwise
119
+ */
120
+ int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
121
+
122
+ /**
123
+ * Multiply two rationals.
124
+ * @param b First rational
125
+ * @param c Second rational
126
+ * @return b*c
127
+ */
128
+ AVRational av_mul_q(AVRational b, AVRational c) av_const;
129
+
130
+ /**
131
+ * Divide one rational by another.
132
+ * @param b First rational
133
+ * @param c Second rational
134
+ * @return b/c
135
+ */
136
+ AVRational av_div_q(AVRational b, AVRational c) av_const;
137
+
138
+ /**
139
+ * Add two rationals.
140
+ * @param b First rational
141
+ * @param c Second rational
142
+ * @return b+c
143
+ */
144
+ AVRational av_add_q(AVRational b, AVRational c) av_const;
145
+
146
+ /**
147
+ * Subtract one rational from another.
148
+ * @param b First rational
149
+ * @param c Second rational
150
+ * @return b-c
151
+ */
152
+ AVRational av_sub_q(AVRational b, AVRational c) av_const;
153
+
154
+ /**
155
+ * Invert a rational.
156
+ * @param q value
157
+ * @return 1 / q
158
+ */
159
+ static av_always_inline AVRational av_inv_q(AVRational q)
160
+ {
161
+ AVRational r = { q.den, q.num };
162
+ return r;
163
+ }
164
+
165
+ /**
166
+ * Convert a double precision floating point number to a rational.
167
+ *
168
+ * In case of infinity, the returned value is expressed as `{1, 0}` or
169
+ * `{-1, 0}` depending on the sign.
170
+ *
171
+ * In general rational numbers with |num| <= 1<<26 && |den| <= 1<<26
172
+ * can be recovered exactly from their double representation.
173
+ * (no exceptions were found within 1B random ones)
174
+ *
175
+ * @param d `double` to convert
176
+ * @param max Maximum allowed numerator and denominator
177
+ * @return `d` in AVRational form
178
+ * @see av_q2d()
179
+ */
180
+ AVRational av_d2q(double d, int max) av_const;
181
+
182
+ /**
183
+ * Find which of the two rationals is closer to another rational.
184
+ *
185
+ * @param q Rational to be compared against
186
+ * @param q1 Rational to be tested
187
+ * @param q2 Rational to be tested
188
+ * @return One of the following values:
189
+ * - 1 if `q1` is nearer to `q` than `q2`
190
+ * - -1 if `q2` is nearer to `q` than `q1`
191
+ * - 0 if they have the same distance
192
+ */
193
+ int av_nearer_q(AVRational q, AVRational q1, AVRational q2);
194
+
195
+ /**
196
+ * Find the value in a list of rationals nearest a given reference rational.
197
+ *
198
+ * @param q Reference rational
199
+ * @param q_list Array of rationals terminated by `{0, 0}`
200
+ * @return Index of the nearest value found in the array
201
+ */
202
+ int av_find_nearest_q_idx(AVRational q, const AVRational* q_list);
203
+
204
+ /**
205
+ * Convert an AVRational to a IEEE 32-bit `float` expressed in fixed-point
206
+ * format.
207
+ *
208
+ * @param q Rational to be converted
209
+ * @return Equivalent floating-point value, expressed as an unsigned 32-bit
210
+ * integer.
211
+ * @note The returned value is platform-indepedant.
212
+ */
213
+ uint32_t av_q2intfloat(AVRational q);
214
+
215
+ /**
216
+ * Return the best rational so that a and b are multiple of it.
217
+ * If the resulting denominator is larger than max_den, return def.
218
+ */
219
+ AVRational av_gcd_q(AVRational a, AVRational b, int max_den, AVRational def);
220
+
221
+ /**
222
+ * @}
223
+ */
224
+
225
+ #endif /* AVUTIL_RATIONAL_H */
@@ -0,0 +1,69 @@
1
+ /*
2
+ * RC4 encryption/decryption/pseudo-random number generator
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_RC4_H
22
+ #define AVUTIL_RC4_H
23
+
24
+ #include <stdint.h>
25
+
26
+ /**
27
+ * @defgroup lavu_rc4 RC4
28
+ * @ingroup lavu_crypto
29
+ * @{
30
+ */
31
+
32
+ typedef struct AVRC4 {
33
+ uint8_t state[256];
34
+ int x, y;
35
+ } AVRC4;
36
+
37
+ /**
38
+ * Allocate an AVRC4 context.
39
+ */
40
+ AVRC4 *av_rc4_alloc(void);
41
+
42
+ /**
43
+ * @brief Initializes an AVRC4 context.
44
+ *
45
+ * @param d pointer to the AVRC4 context
46
+ * @param key buffer containig the key
47
+ * @param key_bits must be a multiple of 8
48
+ * @param decrypt 0 for encryption, 1 for decryption, currently has no effect
49
+ * @return zero on success, negative value otherwise
50
+ */
51
+ int av_rc4_init(struct AVRC4 *d, const uint8_t *key, int key_bits, int decrypt);
52
+
53
+ /**
54
+ * @brief Encrypts / decrypts using the RC4 algorithm.
55
+ *
56
+ * @param d pointer to the AVRC4 context
57
+ * @param count number of bytes
58
+ * @param dst destination array, can be equal to src
59
+ * @param src source array, can be equal to dst, may be NULL
60
+ * @param iv not (yet) used for RC4, should be NULL
61
+ * @param decrypt 0 for encryption, 1 for decryption, not (yet) used
62
+ */
63
+ void av_rc4_crypt(struct AVRC4 *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
64
+
65
+ /**
66
+ * @}
67
+ */
68
+
69
+ #endif /* AVUTIL_RC4_H */
@@ -0,0 +1,50 @@
1
+ /*
2
+ * This file is part of FFmpeg.
3
+ *
4
+ * FFmpeg is free software; you can redistribute it and/or
5
+ * modify it under the terms of the GNU Lesser General Public
6
+ * License as published by the Free Software Foundation; either
7
+ * version 2.1 of the License, or (at your option) any later version.
8
+ *
9
+ * FFmpeg is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ * Lesser General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Lesser General Public
15
+ * License along with FFmpeg; if not, write to the Free Software
16
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ */
18
+
19
+ #ifndef AVUTIL_REPLAYGAIN_H
20
+ #define AVUTIL_REPLAYGAIN_H
21
+
22
+ #include <stdint.h>
23
+
24
+ /**
25
+ * ReplayGain information (see
26
+ * http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification).
27
+ * The size of this struct is a part of the public ABI.
28
+ */
29
+ typedef struct AVReplayGain {
30
+ /**
31
+ * Track replay gain in microbels (divide by 100000 to get the value in dB).
32
+ * Should be set to INT32_MIN when unknown.
33
+ */
34
+ int32_t track_gain;
35
+ /**
36
+ * Peak track amplitude, with 100000 representing full scale (but values
37
+ * may overflow). 0 when unknown.
38
+ */
39
+ uint32_t track_peak;
40
+ /**
41
+ * Same as track_gain, but for the whole album.
42
+ */
43
+ int32_t album_gain;
44
+ /**
45
+ * Same as track_peak, but for the whole album,
46
+ */
47
+ uint32_t album_peak;
48
+ } AVReplayGain;
49
+
50
+ #endif /* AVUTIL_REPLAYGAIN_H */
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
3
+ * Copyright (C) 2013 James Almer <jamrial@gmail.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
+ /**
23
+ * @file
24
+ * @ingroup lavu_ripemd
25
+ * Public header for RIPEMD hash function implementation.
26
+ */
27
+
28
+ #ifndef AVUTIL_RIPEMD_H
29
+ #define AVUTIL_RIPEMD_H
30
+
31
+ #include <stddef.h>
32
+ #include <stdint.h>
33
+
34
+ #include "attributes.h"
35
+
36
+ /**
37
+ * @defgroup lavu_ripemd RIPEMD
38
+ * @ingroup lavu_hash
39
+ * RIPEMD hash function implementation.
40
+ *
41
+ * @{
42
+ */
43
+
44
+ extern const int av_ripemd_size;
45
+
46
+ struct AVRIPEMD;
47
+
48
+ /**
49
+ * Allocate an AVRIPEMD context.
50
+ */
51
+ struct AVRIPEMD *av_ripemd_alloc(void);
52
+
53
+ /**
54
+ * Initialize RIPEMD hashing.
55
+ *
56
+ * @param context pointer to the function context (of size av_ripemd_size)
57
+ * @param bits number of bits in digest (128, 160, 256 or 320 bits)
58
+ * @return zero if initialization succeeded, -1 otherwise
59
+ */
60
+ int av_ripemd_init(struct AVRIPEMD* context, int bits);
61
+
62
+ /**
63
+ * Update hash value.
64
+ *
65
+ * @param context hash function context
66
+ * @param data input data to update hash with
67
+ * @param len input data length
68
+ */
69
+ void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, size_t len);
70
+
71
+ /**
72
+ * Finish hashing and output digest value.
73
+ *
74
+ * @param context hash function context
75
+ * @param digest buffer where output digest value is stored
76
+ */
77
+ void av_ripemd_final(struct AVRIPEMD* context, uint8_t *digest);
78
+
79
+ /**
80
+ * @}
81
+ */
82
+
83
+ #endif /* AVUTIL_RIPEMD_H */