@pproenca/ffmpeg-darwin-arm64 0.1.7 → 0.1.9

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 (218) hide show
  1. package/LICENSE +28 -0
  2. package/lib/libSvtAv1Enc.a +0 -0
  3. package/lib/libaom.a +0 -0
  4. package/lib/libavcodec.a +0 -0
  5. package/lib/libavdevice.a +0 -0
  6. package/lib/libavfilter.a +0 -0
  7. package/lib/libavformat.a +0 -0
  8. package/lib/libavutil.a +0 -0
  9. package/lib/libdav1d.a +0 -0
  10. package/lib/libogg.a +0 -0
  11. package/lib/libopus.a +0 -0
  12. package/lib/libswresample.a +0 -0
  13. package/lib/libswscale.a +0 -0
  14. package/lib/libvorbis.a +0 -0
  15. package/lib/libvorbisenc.a +0 -0
  16. package/lib/libvorbisfile.a +0 -0
  17. package/lib/libvpx.a +0 -0
  18. package/lib/pkgconfig/SvtAv1Enc.pc +12 -0
  19. package/lib/pkgconfig/aom.pc +14 -0
  20. package/lib/pkgconfig/dav1d.pc +9 -0
  21. package/lib/pkgconfig/libavcodec.pc +14 -0
  22. package/lib/pkgconfig/libavdevice.pc +14 -0
  23. package/lib/pkgconfig/libavfilter.pc +14 -0
  24. package/lib/pkgconfig/libavformat.pc +14 -0
  25. package/lib/pkgconfig/libavutil.pc +14 -0
  26. package/lib/pkgconfig/libswresample.pc +14 -0
  27. package/lib/pkgconfig/libswscale.pc +14 -0
  28. package/lib/pkgconfig/ogg.pc +14 -0
  29. package/lib/pkgconfig/opus.pc +16 -0
  30. package/lib/pkgconfig/vorbis.pc +15 -0
  31. package/lib/pkgconfig/vorbisenc.pc +14 -0
  32. package/lib/pkgconfig/vorbisfile.pc +14 -0
  33. package/lib/pkgconfig/vpx.pc +14 -0
  34. package/package.json +2 -3
  35. package/include/aom/aom.h +0 -127
  36. package/include/aom/aom_codec.h +0 -594
  37. package/include/aom/aom_decoder.h +0 -257
  38. package/include/aom/aom_encoder.h +0 -1154
  39. package/include/aom/aom_external_partition.h +0 -452
  40. package/include/aom/aom_frame_buffer.h +0 -84
  41. package/include/aom/aom_image.h +0 -462
  42. package/include/aom/aom_integer.h +0 -60
  43. package/include/aom/aomcx.h +0 -2288
  44. package/include/aom/aomdx.h +0 -607
  45. package/include/dav1d/common.h +0 -94
  46. package/include/dav1d/data.h +0 -117
  47. package/include/dav1d/dav1d.h +0 -329
  48. package/include/dav1d/headers.h +0 -444
  49. package/include/dav1d/picture.h +0 -157
  50. package/include/dav1d/version.h +0 -50
  51. package/include/libavcodec/ac3_parser.h +0 -36
  52. package/include/libavcodec/adts_parser.h +0 -37
  53. package/include/libavcodec/avcodec.h +0 -3128
  54. package/include/libavcodec/avdct.h +0 -88
  55. package/include/libavcodec/avfft.h +0 -149
  56. package/include/libavcodec/bsf.h +0 -332
  57. package/include/libavcodec/codec.h +0 -382
  58. package/include/libavcodec/codec_desc.h +0 -134
  59. package/include/libavcodec/codec_id.h +0 -669
  60. package/include/libavcodec/codec_par.h +0 -248
  61. package/include/libavcodec/d3d11va.h +0 -109
  62. package/include/libavcodec/defs.h +0 -337
  63. package/include/libavcodec/dirac.h +0 -135
  64. package/include/libavcodec/dv_profile.h +0 -82
  65. package/include/libavcodec/dxva2.h +0 -90
  66. package/include/libavcodec/jni.h +0 -67
  67. package/include/libavcodec/mediacodec.h +0 -103
  68. package/include/libavcodec/packet.h +0 -887
  69. package/include/libavcodec/qsv.h +0 -109
  70. package/include/libavcodec/vdpau.h +0 -171
  71. package/include/libavcodec/version.h +0 -45
  72. package/include/libavcodec/version_major.h +0 -52
  73. package/include/libavcodec/videotoolbox.h +0 -85
  74. package/include/libavcodec/vorbis_parser.h +0 -74
  75. package/include/libavdevice/avdevice.h +0 -397
  76. package/include/libavdevice/version.h +0 -45
  77. package/include/libavdevice/version_major.h +0 -43
  78. package/include/libavfilter/avfilter.h +0 -1379
  79. package/include/libavfilter/buffersink.h +0 -173
  80. package/include/libavfilter/buffersrc.h +0 -215
  81. package/include/libavfilter/version.h +0 -48
  82. package/include/libavfilter/version_major.h +0 -40
  83. package/include/libavformat/avformat.h +0 -3107
  84. package/include/libavformat/avio.h +0 -831
  85. package/include/libavformat/version.h +0 -47
  86. package/include/libavformat/version_major.h +0 -54
  87. package/include/libavutil/adler32.h +0 -63
  88. package/include/libavutil/aes.h +0 -69
  89. package/include/libavutil/aes_ctr.h +0 -99
  90. package/include/libavutil/ambient_viewing_environment.h +0 -72
  91. package/include/libavutil/attributes.h +0 -173
  92. package/include/libavutil/audio_fifo.h +0 -187
  93. package/include/libavutil/avassert.h +0 -78
  94. package/include/libavutil/avconfig.h +0 -6
  95. package/include/libavutil/avstring.h +0 -428
  96. package/include/libavutil/avutil.h +0 -362
  97. package/include/libavutil/base64.h +0 -72
  98. package/include/libavutil/blowfish.h +0 -82
  99. package/include/libavutil/bprint.h +0 -254
  100. package/include/libavutil/bswap.h +0 -105
  101. package/include/libavutil/buffer.h +0 -322
  102. package/include/libavutil/camellia.h +0 -70
  103. package/include/libavutil/cast5.h +0 -80
  104. package/include/libavutil/channel_layout.h +0 -751
  105. package/include/libavutil/common.h +0 -589
  106. package/include/libavutil/cpu.h +0 -145
  107. package/include/libavutil/crc.h +0 -102
  108. package/include/libavutil/csp.h +0 -150
  109. package/include/libavutil/des.h +0 -81
  110. package/include/libavutil/detection_bbox.h +0 -108
  111. package/include/libavutil/dict.h +0 -241
  112. package/include/libavutil/display.h +0 -109
  113. package/include/libavutil/dovi_meta.h +0 -396
  114. package/include/libavutil/downmix_info.h +0 -115
  115. package/include/libavutil/encryption_info.h +0 -205
  116. package/include/libavutil/error.h +0 -129
  117. package/include/libavutil/eval.h +0 -140
  118. package/include/libavutil/executor.h +0 -67
  119. package/include/libavutil/ffversion.h +0 -5
  120. package/include/libavutil/fifo.h +0 -242
  121. package/include/libavutil/file.h +0 -62
  122. package/include/libavutil/film_grain_params.h +0 -322
  123. package/include/libavutil/frame.h +0 -1175
  124. package/include/libavutil/hash.h +0 -264
  125. package/include/libavutil/hdr_dynamic_metadata.h +0 -376
  126. package/include/libavutil/hdr_dynamic_vivid_metadata.h +0 -346
  127. package/include/libavutil/hmac.h +0 -99
  128. package/include/libavutil/hwcontext.h +0 -598
  129. package/include/libavutil/hwcontext_cuda.h +0 -74
  130. package/include/libavutil/hwcontext_d3d11va.h +0 -178
  131. package/include/libavutil/hwcontext_d3d12va.h +0 -142
  132. package/include/libavutil/hwcontext_drm.h +0 -169
  133. package/include/libavutil/hwcontext_dxva2.h +0 -75
  134. package/include/libavutil/hwcontext_mediacodec.h +0 -61
  135. package/include/libavutil/hwcontext_opencl.h +0 -100
  136. package/include/libavutil/hwcontext_qsv.h +0 -87
  137. package/include/libavutil/hwcontext_vaapi.h +0 -117
  138. package/include/libavutil/hwcontext_vdpau.h +0 -44
  139. package/include/libavutil/hwcontext_videotoolbox.h +0 -106
  140. package/include/libavutil/hwcontext_vulkan.h +0 -382
  141. package/include/libavutil/iamf.h +0 -690
  142. package/include/libavutil/imgutils.h +0 -377
  143. package/include/libavutil/intfloat.h +0 -77
  144. package/include/libavutil/intreadwrite.h +0 -677
  145. package/include/libavutil/lfg.h +0 -81
  146. package/include/libavutil/log.h +0 -387
  147. package/include/libavutil/lzo.h +0 -66
  148. package/include/libavutil/macros.h +0 -80
  149. package/include/libavutil/mastering_display_metadata.h +0 -137
  150. package/include/libavutil/mathematics.h +0 -300
  151. package/include/libavutil/md5.h +0 -89
  152. package/include/libavutil/mem.h +0 -607
  153. package/include/libavutil/motion_vector.h +0 -57
  154. package/include/libavutil/murmur3.h +0 -115
  155. package/include/libavutil/opt.h +0 -1187
  156. package/include/libavutil/parseutils.h +0 -197
  157. package/include/libavutil/pixdesc.h +0 -440
  158. package/include/libavutil/pixelutils.h +0 -51
  159. package/include/libavutil/pixfmt.h +0 -716
  160. package/include/libavutil/random_seed.h +0 -57
  161. package/include/libavutil/rational.h +0 -225
  162. package/include/libavutil/rc4.h +0 -69
  163. package/include/libavutil/replaygain.h +0 -50
  164. package/include/libavutil/ripemd.h +0 -83
  165. package/include/libavutil/samplefmt.h +0 -269
  166. package/include/libavutil/sha.h +0 -90
  167. package/include/libavutil/sha512.h +0 -92
  168. package/include/libavutil/spherical.h +0 -243
  169. package/include/libavutil/stereo3d.h +0 -325
  170. package/include/libavutil/tea.h +0 -71
  171. package/include/libavutil/threadmessage.h +0 -115
  172. package/include/libavutil/time.h +0 -56
  173. package/include/libavutil/timecode.h +0 -199
  174. package/include/libavutil/timestamp.h +0 -85
  175. package/include/libavutil/tree.h +0 -137
  176. package/include/libavutil/twofish.h +0 -70
  177. package/include/libavutil/tx.h +0 -210
  178. package/include/libavutil/uuid.h +0 -146
  179. package/include/libavutil/version.h +0 -124
  180. package/include/libavutil/video_enc_params.h +0 -171
  181. package/include/libavutil/video_hint.h +0 -107
  182. package/include/libavutil/xtea.h +0 -94
  183. package/include/libswresample/swresample.h +0 -587
  184. package/include/libswresample/version.h +0 -46
  185. package/include/libswresample/version_major.h +0 -31
  186. package/include/libswscale/swscale.h +0 -460
  187. package/include/libswscale/version.h +0 -44
  188. package/include/libswscale/version_major.h +0 -35
  189. package/include/ogg/config_types.h +0 -26
  190. package/include/ogg/ogg.h +0 -209
  191. package/include/ogg/os_types.h +0 -158
  192. package/include/opus/opus.h +0 -1099
  193. package/include/opus/opus_defines.h +0 -830
  194. package/include/opus/opus_multistream.h +0 -660
  195. package/include/opus/opus_projection.h +0 -568
  196. package/include/opus/opus_types.h +0 -166
  197. package/include/svt-av1/EbDebugMacros.h +0 -88
  198. package/include/svt-av1/EbSvtAv1.h +0 -462
  199. package/include/svt-av1/EbSvtAv1Enc.h +0 -1112
  200. package/include/svt-av1/EbSvtAv1ErrorCodes.h +0 -67
  201. package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +0 -64
  202. package/include/svt-av1/EbSvtAv1Formats.h +0 -126
  203. package/include/svt-av1/EbSvtAv1Metadata.h +0 -156
  204. package/include/vorbis/codec.h +0 -242
  205. package/include/vorbis/vorbisenc.h +0 -435
  206. package/include/vorbis/vorbisfile.h +0 -205
  207. package/include/vpx/vp8.h +0 -136
  208. package/include/vpx/vp8cx.h +0 -1118
  209. package/include/vpx/vp8dx.h +0 -228
  210. package/include/vpx/vpx_codec.h +0 -475
  211. package/include/vpx/vpx_decoder.h +0 -367
  212. package/include/vpx/vpx_encoder.h +0 -1150
  213. package/include/vpx/vpx_ext_ratectrl.h +0 -590
  214. package/include/vpx/vpx_frame_buffer.h +0 -83
  215. package/include/vpx/vpx_image.h +0 -221
  216. package/include/vpx/vpx_integer.h +0 -40
  217. package/include/vpx/vpx_tpl.h +0 -68
  218. /package/{include → lib/pkgconfig}/index.js +0 -0
@@ -1,241 +0,0 @@
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
- * Public dictionary API.
22
- * @deprecated
23
- * AVDictionary is provided for compatibility with libav. It is both in
24
- * implementation as well as API inefficient. It does not scale and is
25
- * extremely slow with large dictionaries.
26
- * It is recommended that new code uses our tree container from tree.c/h
27
- * where applicable, which uses AVL trees to achieve O(log n) performance.
28
- */
29
-
30
- #ifndef AVUTIL_DICT_H
31
- #define AVUTIL_DICT_H
32
-
33
- #include <stdint.h>
34
-
35
- /**
36
- * @addtogroup lavu_dict AVDictionary
37
- * @ingroup lavu_data
38
- *
39
- * @brief Simple key:value store
40
- *
41
- * @{
42
- * Dictionaries are used for storing key-value pairs.
43
- *
44
- * - To **create an AVDictionary**, simply pass an address of a NULL
45
- * pointer to av_dict_set(). NULL can be used as an empty dictionary
46
- * wherever a pointer to an AVDictionary is required.
47
- * - To **insert an entry**, use av_dict_set().
48
- * - Use av_dict_get() to **retrieve an entry**.
49
- * - To **iterate over all entries**, use av_dict_iterate().
50
- * - In order to **free the dictionary and all its contents**, use av_dict_free().
51
- *
52
- @code
53
- AVDictionary *d = NULL; // "create" an empty dictionary
54
- AVDictionaryEntry *t = NULL;
55
-
56
- av_dict_set(&d, "foo", "bar", 0); // add an entry
57
-
58
- char *k = av_strdup("key"); // if your strings are already allocated,
59
- char *v = av_strdup("value"); // you can avoid copying them like this
60
- av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
61
-
62
- while ((t = av_dict_iterate(d, t))) {
63
- <....> // iterate over all entries in d
64
- }
65
- av_dict_free(&d);
66
- @endcode
67
- */
68
-
69
- /**
70
- * @name AVDictionary Flags
71
- * Flags that influence behavior of the matching of keys or insertion to the dictionary.
72
- * @{
73
- */
74
- #define AV_DICT_MATCH_CASE 1 /**< Only get an entry with exact-case key match. Only relevant in av_dict_get(). */
75
- #define AV_DICT_IGNORE_SUFFIX 2 /**< Return first entry in a dictionary whose first part corresponds to the search key,
76
- ignoring the suffix of the found key string. Only relevant in av_dict_get(). */
77
- #define AV_DICT_DONT_STRDUP_KEY 4 /**< Take ownership of a key that's been
78
- allocated with av_malloc() or another memory allocation function. */
79
- #define AV_DICT_DONT_STRDUP_VAL 8 /**< Take ownership of a value that's been
80
- allocated with av_malloc() or another memory allocation function. */
81
- #define AV_DICT_DONT_OVERWRITE 16 /**< Don't overwrite existing entries. */
82
- #define AV_DICT_APPEND 32 /**< If the entry already exists, append to it. Note that no
83
- delimiter is added, the strings are simply concatenated. */
84
- #define AV_DICT_MULTIKEY 64 /**< Allow to store several equal keys in the dictionary */
85
- /**
86
- * @}
87
- */
88
-
89
- typedef struct AVDictionaryEntry {
90
- char *key;
91
- char *value;
92
- } AVDictionaryEntry;
93
-
94
- typedef struct AVDictionary AVDictionary;
95
-
96
- /**
97
- * Get a dictionary entry with matching key.
98
- *
99
- * The returned entry key or value must not be changed, or it will
100
- * cause undefined behavior.
101
- *
102
- * @param prev Set to the previous matching element to find the next.
103
- * If set to NULL the first matching element is returned.
104
- * @param key Matching key
105
- * @param flags A collection of AV_DICT_* flags controlling how the
106
- * entry is retrieved
107
- *
108
- * @return Found entry or NULL in case no matching entry was found in the dictionary
109
- */
110
- AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key,
111
- const AVDictionaryEntry *prev, int flags);
112
-
113
- /**
114
- * Iterate over a dictionary
115
- *
116
- * Iterates through all entries in the dictionary.
117
- *
118
- * @warning The returned AVDictionaryEntry key/value must not be changed.
119
- *
120
- * @warning As av_dict_set() invalidates all previous entries returned
121
- * by this function, it must not be called while iterating over the dict.
122
- *
123
- * Typical usage:
124
- * @code
125
- * const AVDictionaryEntry *e = NULL;
126
- * while ((e = av_dict_iterate(m, e))) {
127
- * // ...
128
- * }
129
- * @endcode
130
- *
131
- * @param m The dictionary to iterate over
132
- * @param prev Pointer to the previous AVDictionaryEntry, NULL initially
133
- *
134
- * @retval AVDictionaryEntry* The next element in the dictionary
135
- * @retval NULL No more elements in the dictionary
136
- */
137
- const AVDictionaryEntry *av_dict_iterate(const AVDictionary *m,
138
- const AVDictionaryEntry *prev);
139
-
140
- /**
141
- * Get number of entries in dictionary.
142
- *
143
- * @param m dictionary
144
- * @return number of entries in dictionary
145
- */
146
- int av_dict_count(const AVDictionary *m);
147
-
148
- /**
149
- * Set the given entry in *pm, overwriting an existing entry.
150
- *
151
- * Note: If AV_DICT_DONT_STRDUP_KEY or AV_DICT_DONT_STRDUP_VAL is set,
152
- * these arguments will be freed on error.
153
- *
154
- * @warning Adding a new entry to a dictionary invalidates all existing entries
155
- * previously returned with av_dict_get() or av_dict_iterate().
156
- *
157
- * @param pm Pointer to a pointer to a dictionary struct. If *pm is NULL
158
- * a dictionary struct is allocated and put in *pm.
159
- * @param key Entry key to add to *pm (will either be av_strduped or added as a new key depending on flags)
160
- * @param value Entry value to add to *pm (will be av_strduped or added as a new key depending on flags).
161
- * Passing a NULL value will cause an existing entry to be deleted.
162
- *
163
- * @return >= 0 on success otherwise an error code <0
164
- */
165
- int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);
166
-
167
- /**
168
- * Convenience wrapper for av_dict_set() that converts the value to a string
169
- * and stores it.
170
- *
171
- * Note: If ::AV_DICT_DONT_STRDUP_KEY is set, key will be freed on error.
172
- */
173
- int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags);
174
-
175
- /**
176
- * Parse the key/value pairs list and add the parsed entries to a dictionary.
177
- *
178
- * In case of failure, all the successfully set entries are stored in
179
- * *pm. You may need to manually free the created dictionary.
180
- *
181
- * @param key_val_sep A 0-terminated list of characters used to separate
182
- * key from value
183
- * @param pairs_sep A 0-terminated list of characters used to separate
184
- * two pairs from each other
185
- * @param flags Flags to use when adding to the dictionary.
186
- * ::AV_DICT_DONT_STRDUP_KEY and ::AV_DICT_DONT_STRDUP_VAL
187
- * are ignored since the key/value tokens will always
188
- * be duplicated.
189
- *
190
- * @return 0 on success, negative AVERROR code on failure
191
- */
192
- int av_dict_parse_string(AVDictionary **pm, const char *str,
193
- const char *key_val_sep, const char *pairs_sep,
194
- int flags);
195
-
196
- /**
197
- * Copy entries from one AVDictionary struct into another.
198
- *
199
- * @note Metadata is read using the ::AV_DICT_IGNORE_SUFFIX flag
200
- *
201
- * @param dst Pointer to a pointer to a AVDictionary struct to copy into. If *dst is NULL,
202
- * this function will allocate a struct for you and put it in *dst
203
- * @param src Pointer to the source AVDictionary struct to copy items from.
204
- * @param flags Flags to use when setting entries in *dst
205
- *
206
- * @return 0 on success, negative AVERROR code on failure. If dst was allocated
207
- * by this function, callers should free the associated memory.
208
- */
209
- int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags);
210
-
211
- /**
212
- * Free all the memory allocated for an AVDictionary struct
213
- * and all keys and values.
214
- */
215
- void av_dict_free(AVDictionary **m);
216
-
217
- /**
218
- * Get dictionary entries as a string.
219
- *
220
- * Create a string containing dictionary's entries.
221
- * Such string may be passed back to av_dict_parse_string().
222
- * @note String is escaped with backslashes ('\').
223
- *
224
- * @warning Separators cannot be neither '\\' nor '\0'. They also cannot be the same.
225
- *
226
- * @param[in] m The dictionary
227
- * @param[out] buffer Pointer to buffer that will be allocated with string containg entries.
228
- * Buffer must be freed by the caller when is no longer needed.
229
- * @param[in] key_val_sep Character used to separate key from value
230
- * @param[in] pairs_sep Character used to separate two pairs from each other
231
- *
232
- * @return >= 0 on success, negative on error
233
- */
234
- int av_dict_get_string(const AVDictionary *m, char **buffer,
235
- const char key_val_sep, const char pairs_sep);
236
-
237
- /**
238
- * @}
239
- */
240
-
241
- #endif /* AVUTIL_DICT_H */
@@ -1,109 +0,0 @@
1
- /*
2
- * Copyright (c) 2014 Vittorio Giovara <vittorio.giovara@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
- /**
22
- * @file
23
- * @ingroup lavu_video_display
24
- * Display matrix
25
- */
26
-
27
- #ifndef AVUTIL_DISPLAY_H
28
- #define AVUTIL_DISPLAY_H
29
-
30
- #include <stdint.h>
31
-
32
- /**
33
- * @defgroup lavu_video_display Display transformation matrix functions
34
- * @ingroup lavu_video
35
- *
36
- * The display transformation matrix specifies an affine transformation that
37
- * should be applied to video frames for correct presentation. It is compatible
38
- * with the matrices stored in the ISO/IEC 14496-12 container format.
39
- *
40
- * The data is a 3x3 matrix represented as a 9-element array:
41
- *
42
- * @code{.unparsed}
43
- * | a b u |
44
- * (a, b, u, c, d, v, x, y, w) -> | c d v |
45
- * | x y w |
46
- * @endcode
47
- *
48
- * All numbers are stored in native endianness, as 16.16 fixed-point values,
49
- * except for u, v and w, which are stored as 2.30 fixed-point values.
50
- *
51
- * The transformation maps a point (p, q) in the source (pre-transformation)
52
- * frame to the point (p', q') in the destination (post-transformation) frame as
53
- * follows:
54
- *
55
- * @code{.unparsed}
56
- * | a b u |
57
- * (p, q, 1) . | c d v | = z * (p', q', 1)
58
- * | x y w |
59
- * @endcode
60
- *
61
- * The transformation can also be more explicitly written in components as
62
- * follows:
63
- *
64
- * @code{.unparsed}
65
- * p' = (a * p + c * q + x) / z;
66
- * q' = (b * p + d * q + y) / z;
67
- * z = u * p + v * q + w
68
- * @endcode
69
- *
70
- * @{
71
- */
72
-
73
- /**
74
- * Extract the rotation component of the transformation matrix.
75
- *
76
- * @param matrix the transformation matrix
77
- * @return the angle (in degrees) by which the transformation rotates the frame
78
- * counterclockwise. The angle will be in range [-180.0, 180.0],
79
- * or NaN if the matrix is singular.
80
- *
81
- * @note floating point numbers are inherently inexact, so callers are
82
- * recommended to round the return value to nearest integer before use.
83
- */
84
- double av_display_rotation_get(const int32_t matrix[9]);
85
-
86
- /**
87
- * Initialize a transformation matrix describing a pure clockwise
88
- * rotation by the specified angle (in degrees).
89
- *
90
- * @param[out] matrix a transformation matrix (will be fully overwritten
91
- * by this function)
92
- * @param angle rotation angle in degrees.
93
- */
94
- void av_display_rotation_set(int32_t matrix[9], double angle);
95
-
96
- /**
97
- * Flip the input matrix horizontally and/or vertically.
98
- *
99
- * @param[in,out] matrix a transformation matrix
100
- * @param hflip whether the matrix should be flipped horizontally
101
- * @param vflip whether the matrix should be flipped vertically
102
- */
103
- void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip);
104
-
105
- /**
106
- * @}
107
- */
108
-
109
- #endif /* AVUTIL_DISPLAY_H */