@pproenca/ffmpeg-dev 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) 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/package.json +24 -0
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Lagged Fibonacci PRNG
3
+ * Copyright (c) 2008 Michael Niedermayer
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_LFG_H
23
+ #define AVUTIL_LFG_H
24
+
25
+ #include <stdint.h>
26
+
27
+ /**
28
+ * Context structure for the Lagged Fibonacci PRNG.
29
+ * The exact layout, types and content of this struct may change and should
30
+ * not be accessed directly. Only its `sizeof()` is guaranteed to stay the same
31
+ * to allow easy instanciation.
32
+ */
33
+ typedef struct AVLFG {
34
+ unsigned int state[64];
35
+ int index;
36
+ } AVLFG;
37
+
38
+ void av_lfg_init(AVLFG *c, unsigned int seed);
39
+
40
+ /**
41
+ * Seed the state of the ALFG using binary data.
42
+ *
43
+ * @return 0 on success, negative value (AVERROR) on failure.
44
+ */
45
+ int av_lfg_init_from_data(AVLFG *c, const uint8_t *data, unsigned int length);
46
+
47
+ /**
48
+ * Get the next random unsigned 32-bit number using an ALFG.
49
+ *
50
+ * Please also consider a simple LCG like state= state*1664525+1013904223,
51
+ * it may be good enough and faster for your specific use case.
52
+ */
53
+ static inline unsigned int av_lfg_get(AVLFG *c){
54
+ unsigned a = c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63];
55
+ c->index += 1U;
56
+ return a;
57
+ }
58
+
59
+ /**
60
+ * Get the next random unsigned 32-bit number using a MLFG.
61
+ *
62
+ * Please also consider av_lfg_get() above, it is faster.
63
+ */
64
+ static inline unsigned int av_mlfg_get(AVLFG *c){
65
+ unsigned int a= c->state[(c->index-55) & 63];
66
+ unsigned int b= c->state[(c->index-24) & 63];
67
+ a = c->state[c->index & 63] = 2*a*b+a+b;
68
+ c->index += 1U;
69
+ return a;
70
+ }
71
+
72
+ /**
73
+ * Get the next two numbers generated by a Box-Muller Gaussian
74
+ * generator using the random numbers issued by lfg.
75
+ *
76
+ * @param lfg pointer to the contex structure
77
+ * @param out array where the two generated numbers are placed
78
+ */
79
+ void av_bmg_get(AVLFG *lfg, double out[2]);
80
+
81
+ #endif /* AVUTIL_LFG_H */
@@ -0,0 +1,387 @@
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
+ #ifndef AVUTIL_LOG_H
22
+ #define AVUTIL_LOG_H
23
+
24
+ #include <stdarg.h>
25
+ #include "attributes.h"
26
+ #include "version.h"
27
+
28
+ typedef enum {
29
+ AV_CLASS_CATEGORY_NA = 0,
30
+ AV_CLASS_CATEGORY_INPUT,
31
+ AV_CLASS_CATEGORY_OUTPUT,
32
+ AV_CLASS_CATEGORY_MUXER,
33
+ AV_CLASS_CATEGORY_DEMUXER,
34
+ AV_CLASS_CATEGORY_ENCODER,
35
+ AV_CLASS_CATEGORY_DECODER,
36
+ AV_CLASS_CATEGORY_FILTER,
37
+ AV_CLASS_CATEGORY_BITSTREAM_FILTER,
38
+ AV_CLASS_CATEGORY_SWSCALER,
39
+ AV_CLASS_CATEGORY_SWRESAMPLER,
40
+ AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT = 40,
41
+ AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,
42
+ AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT,
43
+ AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT,
44
+ AV_CLASS_CATEGORY_DEVICE_OUTPUT,
45
+ AV_CLASS_CATEGORY_DEVICE_INPUT,
46
+ AV_CLASS_CATEGORY_NB ///< not part of ABI/API
47
+ }AVClassCategory;
48
+
49
+ #define AV_IS_INPUT_DEVICE(category) \
50
+ (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT) || \
51
+ ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT) || \
52
+ ((category) == AV_CLASS_CATEGORY_DEVICE_INPUT))
53
+
54
+ #define AV_IS_OUTPUT_DEVICE(category) \
55
+ (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT) || \
56
+ ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT) || \
57
+ ((category) == AV_CLASS_CATEGORY_DEVICE_OUTPUT))
58
+
59
+ struct AVOptionRanges;
60
+
61
+ /**
62
+ * Describe the class of an AVClass context structure. That is an
63
+ * arbitrary struct of which the first field is a pointer to an
64
+ * AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
65
+ */
66
+ typedef struct AVClass {
67
+ /**
68
+ * The name of the class; usually it is the same name as the
69
+ * context structure type to which the AVClass is associated.
70
+ */
71
+ const char* class_name;
72
+
73
+ /**
74
+ * A pointer to a function which returns the name of a context
75
+ * instance ctx associated with the class.
76
+ */
77
+ const char* (*item_name)(void* ctx);
78
+
79
+ /**
80
+ * a pointer to the first option specified in the class if any or NULL
81
+ *
82
+ * @see av_set_default_options()
83
+ */
84
+ const struct AVOption *option;
85
+
86
+ /**
87
+ * LIBAVUTIL_VERSION with which this structure was created.
88
+ * This is used to allow fields to be added without requiring major
89
+ * version bumps everywhere.
90
+ */
91
+
92
+ int version;
93
+
94
+ /**
95
+ * Offset in the structure where log_level_offset is stored.
96
+ * 0 means there is no such variable
97
+ */
98
+ int log_level_offset_offset;
99
+
100
+ /**
101
+ * Offset in the structure where a pointer to the parent context for
102
+ * logging is stored. For example a decoder could pass its AVCodecContext
103
+ * to eval as such a parent context, which an av_log() implementation
104
+ * could then leverage to display the parent context.
105
+ * The offset can be NULL.
106
+ */
107
+ int parent_log_context_offset;
108
+
109
+ /**
110
+ * Category used for visualization (like color)
111
+ * This is only set if the category is equal for all objects using this class.
112
+ * available since version (51 << 16 | 56 << 8 | 100)
113
+ */
114
+ AVClassCategory category;
115
+
116
+ /**
117
+ * Callback to return the category.
118
+ * available since version (51 << 16 | 59 << 8 | 100)
119
+ */
120
+ AVClassCategory (*get_category)(void* ctx);
121
+
122
+ /**
123
+ * Callback to return the supported/allowed ranges.
124
+ * available since version (52.12)
125
+ */
126
+ int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags);
127
+
128
+ /**
129
+ * Return next AVOptions-enabled child or NULL
130
+ */
131
+ void* (*child_next)(void *obj, void *prev);
132
+
133
+ /**
134
+ * Iterate over the AVClasses corresponding to potential AVOptions-enabled
135
+ * children.
136
+ *
137
+ * @param iter pointer to opaque iteration state. The caller must initialize
138
+ * *iter to NULL before the first call.
139
+ * @return AVClass for the next AVOptions-enabled child or NULL if there are
140
+ * no more such children.
141
+ *
142
+ * @note The difference between child_next and this is that child_next
143
+ * iterates over _already existing_ objects, while child_class_iterate
144
+ * iterates over _all possible_ children.
145
+ */
146
+ const struct AVClass* (*child_class_iterate)(void **iter);
147
+ } AVClass;
148
+
149
+ /**
150
+ * @addtogroup lavu_log
151
+ *
152
+ * @{
153
+ *
154
+ * @defgroup lavu_log_constants Logging Constants
155
+ *
156
+ * @{
157
+ */
158
+
159
+ /**
160
+ * Print no output.
161
+ */
162
+ #define AV_LOG_QUIET -8
163
+
164
+ /**
165
+ * Something went really wrong and we will crash now.
166
+ */
167
+ #define AV_LOG_PANIC 0
168
+
169
+ /**
170
+ * Something went wrong and recovery is not possible.
171
+ * For example, no header was found for a format which depends
172
+ * on headers or an illegal combination of parameters is used.
173
+ */
174
+ #define AV_LOG_FATAL 8
175
+
176
+ /**
177
+ * Something went wrong and cannot losslessly be recovered.
178
+ * However, not all future data is affected.
179
+ */
180
+ #define AV_LOG_ERROR 16
181
+
182
+ /**
183
+ * Something somehow does not look correct. This may or may not
184
+ * lead to problems. An example would be the use of '-vstrict -2'.
185
+ */
186
+ #define AV_LOG_WARNING 24
187
+
188
+ /**
189
+ * Standard information.
190
+ */
191
+ #define AV_LOG_INFO 32
192
+
193
+ /**
194
+ * Detailed information.
195
+ */
196
+ #define AV_LOG_VERBOSE 40
197
+
198
+ /**
199
+ * Stuff which is only useful for libav* developers.
200
+ */
201
+ #define AV_LOG_DEBUG 48
202
+
203
+ /**
204
+ * Extremely verbose debugging, useful for libav* development.
205
+ */
206
+ #define AV_LOG_TRACE 56
207
+
208
+ #define AV_LOG_MAX_OFFSET (AV_LOG_TRACE - AV_LOG_QUIET)
209
+
210
+ /**
211
+ * @}
212
+ */
213
+
214
+ /**
215
+ * Sets additional colors for extended debugging sessions.
216
+ * @code
217
+ av_log(ctx, AV_LOG_DEBUG|AV_LOG_C(134), "Message in purple\n");
218
+ @endcode
219
+ * Requires 256color terminal support. Uses outside debugging is not
220
+ * recommended.
221
+ */
222
+ #define AV_LOG_C(x) ((x) << 8)
223
+
224
+ /**
225
+ * Send the specified message to the log if the level is less than or equal
226
+ * to the current av_log_level. By default, all logging messages are sent to
227
+ * stderr. This behavior can be altered by setting a different logging callback
228
+ * function.
229
+ * @see av_log_set_callback
230
+ *
231
+ * @param avcl A pointer to an arbitrary struct of which the first field is a
232
+ * pointer to an AVClass struct or NULL if general log.
233
+ * @param level The importance level of the message expressed using a @ref
234
+ * lavu_log_constants "Logging Constant".
235
+ * @param fmt The format string (printf-compatible) that specifies how
236
+ * subsequent arguments are converted to output.
237
+ */
238
+ void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4);
239
+
240
+ /**
241
+ * Send the specified message to the log once with the initial_level and then with
242
+ * the subsequent_level. By default, all logging messages are sent to
243
+ * stderr. This behavior can be altered by setting a different logging callback
244
+ * function.
245
+ * @see av_log
246
+ *
247
+ * @param avcl A pointer to an arbitrary struct of which the first field is a
248
+ * pointer to an AVClass struct or NULL if general log.
249
+ * @param initial_level importance level of the message expressed using a @ref
250
+ * lavu_log_constants "Logging Constant" for the first occurance.
251
+ * @param subsequent_level importance level of the message expressed using a @ref
252
+ * lavu_log_constants "Logging Constant" after the first occurance.
253
+ * @param fmt The format string (printf-compatible) that specifies how
254
+ * subsequent arguments are converted to output.
255
+ * @param state a variable to keep trak of if a message has already been printed
256
+ * this must be initialized to 0 before the first use. The same state
257
+ * must not be accessed by 2 Threads simultaneously.
258
+ */
259
+ void av_log_once(void* avcl, int initial_level, int subsequent_level, int *state, const char *fmt, ...) av_printf_format(5, 6);
260
+
261
+
262
+ /**
263
+ * Send the specified message to the log if the level is less than or equal
264
+ * to the current av_log_level. By default, all logging messages are sent to
265
+ * stderr. This behavior can be altered by setting a different logging callback
266
+ * function.
267
+ * @see av_log_set_callback
268
+ *
269
+ * @param avcl A pointer to an arbitrary struct of which the first field is a
270
+ * pointer to an AVClass struct.
271
+ * @param level The importance level of the message expressed using a @ref
272
+ * lavu_log_constants "Logging Constant".
273
+ * @param fmt The format string (printf-compatible) that specifies how
274
+ * subsequent arguments are converted to output.
275
+ * @param vl The arguments referenced by the format string.
276
+ */
277
+ void av_vlog(void *avcl, int level, const char *fmt, va_list vl);
278
+
279
+ /**
280
+ * Get the current log level
281
+ *
282
+ * @see lavu_log_constants
283
+ *
284
+ * @return Current log level
285
+ */
286
+ int av_log_get_level(void);
287
+
288
+ /**
289
+ * Set the log level
290
+ *
291
+ * @see lavu_log_constants
292
+ *
293
+ * @param level Logging level
294
+ */
295
+ void av_log_set_level(int level);
296
+
297
+ /**
298
+ * Set the logging callback
299
+ *
300
+ * @note The callback must be thread safe, even if the application does not use
301
+ * threads itself as some codecs are multithreaded.
302
+ *
303
+ * @see av_log_default_callback
304
+ *
305
+ * @param callback A logging function with a compatible signature.
306
+ */
307
+ void av_log_set_callback(void (*callback)(void*, int, const char*, va_list));
308
+
309
+ /**
310
+ * Default logging callback
311
+ *
312
+ * It prints the message to stderr, optionally colorizing it.
313
+ *
314
+ * @param avcl A pointer to an arbitrary struct of which the first field is a
315
+ * pointer to an AVClass struct.
316
+ * @param level The importance level of the message expressed using a @ref
317
+ * lavu_log_constants "Logging Constant".
318
+ * @param fmt The format string (printf-compatible) that specifies how
319
+ * subsequent arguments are converted to output.
320
+ * @param vl The arguments referenced by the format string.
321
+ */
322
+ void av_log_default_callback(void *avcl, int level, const char *fmt,
323
+ va_list vl);
324
+
325
+ /**
326
+ * Return the context name
327
+ *
328
+ * @param ctx The AVClass context
329
+ *
330
+ * @return The AVClass class_name
331
+ */
332
+ const char* av_default_item_name(void* ctx);
333
+ AVClassCategory av_default_get_category(void *ptr);
334
+
335
+ /**
336
+ * Format a line of log the same way as the default callback.
337
+ * @param line buffer to receive the formatted line
338
+ * @param line_size size of the buffer
339
+ * @param print_prefix used to store whether the prefix must be printed;
340
+ * must point to a persistent integer initially set to 1
341
+ */
342
+ void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,
343
+ char *line, int line_size, int *print_prefix);
344
+
345
+ /**
346
+ * Format a line of log the same way as the default callback.
347
+ * @param line buffer to receive the formatted line;
348
+ * may be NULL if line_size is 0
349
+ * @param line_size size of the buffer; at most line_size-1 characters will
350
+ * be written to the buffer, plus one null terminator
351
+ * @param print_prefix used to store whether the prefix must be printed;
352
+ * must point to a persistent integer initially set to 1
353
+ * @return Returns a negative value if an error occurred, otherwise returns
354
+ * the number of characters that would have been written for a
355
+ * sufficiently large buffer, not including the terminating null
356
+ * character. If the return value is not less than line_size, it means
357
+ * that the log message was truncated to fit the buffer.
358
+ */
359
+ int av_log_format_line2(void *ptr, int level, const char *fmt, va_list vl,
360
+ char *line, int line_size, int *print_prefix);
361
+
362
+ /**
363
+ * Skip repeated messages, this requires the user app to use av_log() instead of
364
+ * (f)printf as the 2 would otherwise interfere and lead to
365
+ * "Last message repeated x times" messages below (f)printf messages with some
366
+ * bad luck.
367
+ * Also to receive the last, "last repeated" line if any, the user app must
368
+ * call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end
369
+ */
370
+ #define AV_LOG_SKIP_REPEATED 1
371
+
372
+ /**
373
+ * Include the log severity in messages originating from codecs.
374
+ *
375
+ * Results in messages such as:
376
+ * [rawvideo @ 0xDEADBEEF] [error] encode did not produce valid pts
377
+ */
378
+ #define AV_LOG_PRINT_LEVEL 2
379
+
380
+ void av_log_set_flags(int arg);
381
+ int av_log_get_flags(void);
382
+
383
+ /**
384
+ * @}
385
+ */
386
+
387
+ #endif /* AVUTIL_LOG_H */
@@ -0,0 +1,66 @@
1
+ /*
2
+ * LZO 1x decompression
3
+ * copyright (c) 2006 Reimar Doeffinger
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_LZO_H
23
+ #define AVUTIL_LZO_H
24
+
25
+ /**
26
+ * @defgroup lavu_lzo LZO
27
+ * @ingroup lavu_crypto
28
+ *
29
+ * @{
30
+ */
31
+
32
+ #include <stdint.h>
33
+
34
+ /** @name Error flags returned by av_lzo1x_decode
35
+ * @{ */
36
+ /// end of the input buffer reached before decoding finished
37
+ #define AV_LZO_INPUT_DEPLETED 1
38
+ /// decoded data did not fit into output buffer
39
+ #define AV_LZO_OUTPUT_FULL 2
40
+ /// a reference to previously decoded data was wrong
41
+ #define AV_LZO_INVALID_BACKPTR 4
42
+ /// a non-specific error in the compressed bitstream
43
+ #define AV_LZO_ERROR 8
44
+ /** @} */
45
+
46
+ #define AV_LZO_INPUT_PADDING 8
47
+ #define AV_LZO_OUTPUT_PADDING 12
48
+
49
+ /**
50
+ * @brief Decodes LZO 1x compressed data.
51
+ * @param out output buffer
52
+ * @param outlen size of output buffer, number of bytes left are returned here
53
+ * @param in input buffer
54
+ * @param inlen size of input buffer, number of bytes left are returned here
55
+ * @return 0 on success, otherwise a combination of the error flags above
56
+ *
57
+ * Make sure all buffers are appropriately padded, in must provide
58
+ * AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.
59
+ */
60
+ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
61
+
62
+ /**
63
+ * @}
64
+ */
65
+
66
+ #endif /* AVUTIL_LZO_H */
@@ -0,0 +1,80 @@
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
+ /**
20
+ * @file
21
+ * @ingroup lavu
22
+ * Utility Preprocessor macros
23
+ */
24
+
25
+ #ifndef AVUTIL_MACROS_H
26
+ #define AVUTIL_MACROS_H
27
+
28
+ #include "libavutil/avconfig.h"
29
+
30
+ #if AV_HAVE_BIGENDIAN
31
+ # define AV_NE(be, le) (be)
32
+ #else
33
+ # define AV_NE(be, le) (le)
34
+ #endif
35
+
36
+ /**
37
+ * Comparator.
38
+ * For two numerical expressions x and y, gives 1 if x > y, -1 if x < y, and 0
39
+ * if x == y. This is useful for instance in a qsort comparator callback.
40
+ * Furthermore, compilers are able to optimize this to branchless code, and
41
+ * there is no risk of overflow with signed types.
42
+ * As with many macros, this evaluates its argument multiple times, it thus
43
+ * must not have a side-effect.
44
+ */
45
+ #define FFDIFFSIGN(x,y) (((x)>(y)) - ((x)<(y)))
46
+
47
+ #define FFMAX(a,b) ((a) > (b) ? (a) : (b))
48
+ #define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c)
49
+ #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
50
+ #define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c)
51
+
52
+ #define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)
53
+ #define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
54
+
55
+ #define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))
56
+ #define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24))
57
+
58
+ /**
59
+ * @addtogroup preproc_misc Preprocessor String Macros
60
+ *
61
+ * String manipulation macros
62
+ *
63
+ * @{
64
+ */
65
+
66
+ #define AV_STRINGIFY(s) AV_TOSTRING(s)
67
+ #define AV_TOSTRING(s) #s
68
+
69
+ #define AV_GLUE(a, b) a ## b
70
+ #define AV_JOIN(a, b) AV_GLUE(a, b)
71
+
72
+ /**
73
+ * @}
74
+ */
75
+
76
+ #define AV_PRAGMA(s) _Pragma(#s)
77
+
78
+ #define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
79
+
80
+ #endif /* AVUTIL_MACROS_H */