aarch64: Add assembly support for -fsanitize=hwaddress tagged globals.
[libav.git] / libavcodec / codec_desc.c
1 /*
2 * This file is part of Libav.
3 *
4 * Libav 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 * Libav 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 Libav; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19 #include <string.h>
20
21 #include "libavutil/common.h"
22 #include "libavutil/internal.h"
23
24 #include "avcodec.h"
25 #include "profiles.h"
26
27 static const AVCodecDescriptor codec_descriptors[] = {
28 /* video codecs */
29 {
30 .id = AV_CODEC_ID_MPEG1VIDEO,
31 .type = AVMEDIA_TYPE_VIDEO,
32 .name = "mpeg1video",
33 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
34 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
35 },
36 {
37 .id = AV_CODEC_ID_MPEG2VIDEO,
38 .type = AVMEDIA_TYPE_VIDEO,
39 .name = "mpeg2video",
40 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
41 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
42 .profiles = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles),
43 },
44 {
45 .id = AV_CODEC_ID_H261,
46 .type = AVMEDIA_TYPE_VIDEO,
47 .name = "h261",
48 .long_name = NULL_IF_CONFIG_SMALL("H.261"),
49 .props = AV_CODEC_PROP_LOSSY,
50 },
51 {
52 .id = AV_CODEC_ID_H263,
53 .type = AVMEDIA_TYPE_VIDEO,
54 .name = "h263",
55 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
56 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
57 },
58 {
59 .id = AV_CODEC_ID_RV10,
60 .type = AVMEDIA_TYPE_VIDEO,
61 .name = "rv10",
62 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
63 .props = AV_CODEC_PROP_LOSSY,
64 },
65 {
66 .id = AV_CODEC_ID_RV20,
67 .type = AVMEDIA_TYPE_VIDEO,
68 .name = "rv20",
69 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
70 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
71 },
72 {
73 .id = AV_CODEC_ID_MJPEG,
74 .type = AVMEDIA_TYPE_VIDEO,
75 .name = "mjpeg",
76 .long_name = NULL_IF_CONFIG_SMALL("Motion JPEG"),
77 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
78 },
79 {
80 .id = AV_CODEC_ID_MJPEGB,
81 .type = AVMEDIA_TYPE_VIDEO,
82 .name = "mjpegb",
83 .long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),
84 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
85 },
86 {
87 .id = AV_CODEC_ID_MPEG4,
88 .type = AVMEDIA_TYPE_VIDEO,
89 .name = "mpeg4",
90 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
91 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
92 .profiles = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles),
93 },
94 {
95 .id = AV_CODEC_ID_RAWVIDEO,
96 .type = AVMEDIA_TYPE_VIDEO,
97 .name = "rawvideo",
98 .long_name = NULL_IF_CONFIG_SMALL("raw video"),
99 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
100 },
101 {
102 .id = AV_CODEC_ID_MSMPEG4V1,
103 .type = AVMEDIA_TYPE_VIDEO,
104 .name = "msmpeg4v1",
105 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
106 .props = AV_CODEC_PROP_LOSSY,
107 },
108 {
109 .id = AV_CODEC_ID_MSMPEG4V2,
110 .type = AVMEDIA_TYPE_VIDEO,
111 .name = "msmpeg4v2",
112 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
113 .props = AV_CODEC_PROP_LOSSY,
114 },
115 {
116 .id = AV_CODEC_ID_MSMPEG4V3,
117 .type = AVMEDIA_TYPE_VIDEO,
118 .name = "msmpeg4v3",
119 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
120 .props = AV_CODEC_PROP_LOSSY,
121 },
122 {
123 .id = AV_CODEC_ID_WMV1,
124 .type = AVMEDIA_TYPE_VIDEO,
125 .name = "wmv1",
126 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
127 .props = AV_CODEC_PROP_LOSSY,
128 },
129 {
130 .id = AV_CODEC_ID_WMV2,
131 .type = AVMEDIA_TYPE_VIDEO,
132 .name = "wmv2",
133 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
134 .props = AV_CODEC_PROP_LOSSY,
135 },
136 {
137 .id = AV_CODEC_ID_H263P,
138 .type = AVMEDIA_TYPE_VIDEO,
139 .name = "h263p",
140 .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
141 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
142 },
143 {
144 .id = AV_CODEC_ID_H263I,
145 .type = AVMEDIA_TYPE_VIDEO,
146 .name = "h263i",
147 .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
148 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
149 },
150 {
151 .id = AV_CODEC_ID_FLV1,
152 .type = AVMEDIA_TYPE_VIDEO,
153 .name = "flv1",
154 .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
155 .props = AV_CODEC_PROP_LOSSY,
156 },
157 {
158 .id = AV_CODEC_ID_SVQ1,
159 .type = AVMEDIA_TYPE_VIDEO,
160 .name = "svq1",
161 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
162 .props = AV_CODEC_PROP_LOSSY,
163 },
164 {
165 .id = AV_CODEC_ID_SVQ3,
166 .type = AVMEDIA_TYPE_VIDEO,
167 .name = "svq3",
168 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
169 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
170 },
171 {
172 .id = AV_CODEC_ID_DVVIDEO,
173 .type = AVMEDIA_TYPE_VIDEO,
174 .name = "dvvideo",
175 .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
176 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
177 },
178 {
179 .id = AV_CODEC_ID_HUFFYUV,
180 .type = AVMEDIA_TYPE_VIDEO,
181 .name = "huffyuv",
182 .long_name = NULL_IF_CONFIG_SMALL("HuffYUV"),
183 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
184 },
185 {
186 .id = AV_CODEC_ID_CYUV,
187 .type = AVMEDIA_TYPE_VIDEO,
188 .name = "cyuv",
189 .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
190 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
191 },
192 {
193 .id = AV_CODEC_ID_H264,
194 .type = AVMEDIA_TYPE_VIDEO,
195 .name = "h264",
196 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
197 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
198 .profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
199 },
200 {
201 .id = AV_CODEC_ID_INDEO3,
202 .type = AVMEDIA_TYPE_VIDEO,
203 .name = "indeo3",
204 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 3"),
205 .props = AV_CODEC_PROP_LOSSY,
206 },
207 {
208 .id = AV_CODEC_ID_VP3,
209 .type = AVMEDIA_TYPE_VIDEO,
210 .name = "vp3",
211 .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),
212 .props = AV_CODEC_PROP_LOSSY,
213 },
214 {
215 .id = AV_CODEC_ID_THEORA,
216 .type = AVMEDIA_TYPE_VIDEO,
217 .name = "theora",
218 .long_name = NULL_IF_CONFIG_SMALL("Theora"),
219 .props = AV_CODEC_PROP_LOSSY,
220 },
221 {
222 .id = AV_CODEC_ID_ASV1,
223 .type = AVMEDIA_TYPE_VIDEO,
224 .name = "asv1",
225 .long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
226 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
227 },
228 {
229 .id = AV_CODEC_ID_ASV2,
230 .type = AVMEDIA_TYPE_VIDEO,
231 .name = "asv2",
232 .long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
233 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
234 },
235 {
236 .id = AV_CODEC_ID_FFV1,
237 .type = AVMEDIA_TYPE_VIDEO,
238 .name = "ffv1",
239 .long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
240 .props = AV_CODEC_PROP_LOSSLESS,
241 },
242 {
243 .id = AV_CODEC_ID_4XM,
244 .type = AVMEDIA_TYPE_VIDEO,
245 .name = "4xm",
246 .long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
247 .props = AV_CODEC_PROP_LOSSY,
248 },
249 {
250 .id = AV_CODEC_ID_VCR1,
251 .type = AVMEDIA_TYPE_VIDEO,
252 .name = "vcr1",
253 .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),
254 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
255 },
256 {
257 .id = AV_CODEC_ID_CLJR,
258 .type = AVMEDIA_TYPE_VIDEO,
259 .name = "cljr",
260 .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
261 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
262 },
263 {
264 .id = AV_CODEC_ID_MDEC,
265 .type = AVMEDIA_TYPE_VIDEO,
266 .name = "mdec",
267 .long_name = NULL_IF_CONFIG_SMALL("Sony PlayStation MDEC (Motion DECoder)"),
268 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
269 },
270 {
271 .id = AV_CODEC_ID_ROQ,
272 .type = AVMEDIA_TYPE_VIDEO,
273 .name = "roq",
274 .long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
275 .props = AV_CODEC_PROP_LOSSY,
276 },
277 {
278 .id = AV_CODEC_ID_INTERPLAY_VIDEO,
279 .type = AVMEDIA_TYPE_VIDEO,
280 .name = "interplayvideo",
281 .long_name = NULL_IF_CONFIG_SMALL("Interplay MVE video"),
282 .props = AV_CODEC_PROP_LOSSY,
283 },
284 {
285 .id = AV_CODEC_ID_XAN_WC3,
286 .type = AVMEDIA_TYPE_VIDEO,
287 .name = "xan_wc3",
288 .long_name = NULL_IF_CONFIG_SMALL("Wing Commander III / Xan"),
289 .props = AV_CODEC_PROP_LOSSY,
290 },
291 {
292 .id = AV_CODEC_ID_XAN_WC4,
293 .type = AVMEDIA_TYPE_VIDEO,
294 .name = "xan_wc4",
295 .long_name = NULL_IF_CONFIG_SMALL("Wing Commander IV / Xxan"),
296 .props = AV_CODEC_PROP_LOSSY,
297 },
298 {
299 .id = AV_CODEC_ID_RPZA,
300 .type = AVMEDIA_TYPE_VIDEO,
301 .name = "rpza",
302 .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
303 .props = AV_CODEC_PROP_LOSSY,
304 },
305 {
306 .id = AV_CODEC_ID_CINEPAK,
307 .type = AVMEDIA_TYPE_VIDEO,
308 .name = "cinepak",
309 .long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
310 .props = AV_CODEC_PROP_LOSSY,
311 },
312 {
313 .id = AV_CODEC_ID_WS_VQA,
314 .type = AVMEDIA_TYPE_VIDEO,
315 .name = "ws_vqa",
316 .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA (Vector Quantized Animation) video"),
317 .props = AV_CODEC_PROP_LOSSY,
318 },
319 {
320 .id = AV_CODEC_ID_MSRLE,
321 .type = AVMEDIA_TYPE_VIDEO,
322 .name = "msrle",
323 .long_name = NULL_IF_CONFIG_SMALL("Microsoft RLE"),
324 .props = AV_CODEC_PROP_LOSSLESS,
325 },
326 {
327 .id = AV_CODEC_ID_MSVIDEO1,
328 .type = AVMEDIA_TYPE_VIDEO,
329 .name = "msvideo1",
330 .long_name = NULL_IF_CONFIG_SMALL("Microsoft Video 1"),
331 .props = AV_CODEC_PROP_LOSSY,
332 },
333 {
334 .id = AV_CODEC_ID_IDCIN,
335 .type = AVMEDIA_TYPE_VIDEO,
336 .name = "idcin",
337 .long_name = NULL_IF_CONFIG_SMALL("id Quake II CIN video"),
338 .props = AV_CODEC_PROP_LOSSY,
339 },
340 {
341 .id = AV_CODEC_ID_8BPS,
342 .type = AVMEDIA_TYPE_VIDEO,
343 .name = "8bps",
344 .long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
345 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
346 },
347 {
348 .id = AV_CODEC_ID_SMC,
349 .type = AVMEDIA_TYPE_VIDEO,
350 .name = "smc",
351 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
352 .props = AV_CODEC_PROP_LOSSY,
353 },
354 {
355 .id = AV_CODEC_ID_FLIC,
356 .type = AVMEDIA_TYPE_VIDEO,
357 .name = "flic",
358 .long_name = NULL_IF_CONFIG_SMALL("Autodesk Animator Flic video"),
359 .props = AV_CODEC_PROP_LOSSLESS,
360 },
361 {
362 .id = AV_CODEC_ID_TRUEMOTION1,
363 .type = AVMEDIA_TYPE_VIDEO,
364 .name = "truemotion1",
365 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 1.0"),
366 .props = AV_CODEC_PROP_LOSSY,
367 },
368 {
369 .id = AV_CODEC_ID_VMDVIDEO,
370 .type = AVMEDIA_TYPE_VIDEO,
371 .name = "vmdvideo",
372 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD video"),
373 .props = AV_CODEC_PROP_LOSSY,
374 },
375 {
376 .id = AV_CODEC_ID_MSZH,
377 .type = AVMEDIA_TYPE_VIDEO,
378 .name = "mszh",
379 .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),
380 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
381 },
382 {
383 .id = AV_CODEC_ID_ZLIB,
384 .type = AVMEDIA_TYPE_VIDEO,
385 .name = "zlib",
386 .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
387 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
388 },
389 {
390 .id = AV_CODEC_ID_QTRLE,
391 .type = AVMEDIA_TYPE_VIDEO,
392 .name = "qtrle",
393 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
394 .props = AV_CODEC_PROP_LOSSLESS,
395 },
396 {
397 .id = AV_CODEC_ID_TSCC,
398 .type = AVMEDIA_TYPE_VIDEO,
399 .name = "tscc",
400 .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),
401 .props = AV_CODEC_PROP_LOSSLESS,
402 },
403 {
404 .id = AV_CODEC_ID_ULTI,
405 .type = AVMEDIA_TYPE_VIDEO,
406 .name = "ulti",
407 .long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),
408 .props = AV_CODEC_PROP_LOSSY,
409 },
410 {
411 .id = AV_CODEC_ID_QDRAW,
412 .type = AVMEDIA_TYPE_VIDEO,
413 .name = "qdraw",
414 .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),
415 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
416 },
417 {
418 .id = AV_CODEC_ID_VIXL,
419 .type = AVMEDIA_TYPE_VIDEO,
420 .name = "vixl",
421 .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),
422 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
423 },
424 {
425 .id = AV_CODEC_ID_QPEG,
426 .type = AVMEDIA_TYPE_VIDEO,
427 .name = "qpeg",
428 .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
429 .props = AV_CODEC_PROP_LOSSY,
430 },
431 {
432 .id = AV_CODEC_ID_FFVHUFF,
433 .type = AVMEDIA_TYPE_VIDEO,
434 .name = "ffvhuff",
435 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
436 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
437 },
438 {
439 .id = AV_CODEC_ID_RV30,
440 .type = AVMEDIA_TYPE_VIDEO,
441 .name = "rv30",
442 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
443 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
444 },
445 {
446 .id = AV_CODEC_ID_RV40,
447 .type = AVMEDIA_TYPE_VIDEO,
448 .name = "rv40",
449 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
450 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
451 },
452 {
453 .id = AV_CODEC_ID_VC1,
454 .type = AVMEDIA_TYPE_VIDEO,
455 .name = "vc1",
456 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
457 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
458 .profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles),
459 },
460 {
461 .id = AV_CODEC_ID_WMV3,
462 .type = AVMEDIA_TYPE_VIDEO,
463 .name = "wmv3",
464 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
465 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
466 .profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles),
467 },
468 {
469 .id = AV_CODEC_ID_LOCO,
470 .type = AVMEDIA_TYPE_VIDEO,
471 .name = "loco",
472 .long_name = NULL_IF_CONFIG_SMALL("LOCO"),
473 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
474 },
475 {
476 .id = AV_CODEC_ID_WNV1,
477 .type = AVMEDIA_TYPE_VIDEO,
478 .name = "wnv1",
479 .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),
480 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
481 },
482 {
483 .id = AV_CODEC_ID_AASC,
484 .type = AVMEDIA_TYPE_VIDEO,
485 .name = "aasc",
486 .long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
487 .props = AV_CODEC_PROP_LOSSLESS,
488 },
489 {
490 .id = AV_CODEC_ID_INDEO2,
491 .type = AVMEDIA_TYPE_VIDEO,
492 .name = "indeo2",
493 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),
494 .props = AV_CODEC_PROP_LOSSY,
495 },
496 {
497 .id = AV_CODEC_ID_FRAPS,
498 .type = AVMEDIA_TYPE_VIDEO,
499 .name = "fraps",
500 .long_name = NULL_IF_CONFIG_SMALL("Fraps"),
501 .props = AV_CODEC_PROP_LOSSLESS,
502 },
503 {
504 .id = AV_CODEC_ID_TRUEMOTION2,
505 .type = AVMEDIA_TYPE_VIDEO,
506 .name = "truemotion2",
507 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),
508 .props = AV_CODEC_PROP_LOSSY,
509 },
510 {
511 .id = AV_CODEC_ID_BMP,
512 .type = AVMEDIA_TYPE_VIDEO,
513 .name = "bmp",
514 .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
515 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
516 },
517 {
518 .id = AV_CODEC_ID_CSCD,
519 .type = AVMEDIA_TYPE_VIDEO,
520 .name = "cscd",
521 .long_name = NULL_IF_CONFIG_SMALL("CamStudio"),
522 .props = AV_CODEC_PROP_LOSSLESS,
523 },
524 {
525 .id = AV_CODEC_ID_MMVIDEO,
526 .type = AVMEDIA_TYPE_VIDEO,
527 .name = "mmvideo",
528 .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),
529 .props = AV_CODEC_PROP_LOSSY,
530 },
531 {
532 .id = AV_CODEC_ID_ZMBV,
533 .type = AVMEDIA_TYPE_VIDEO,
534 .name = "zmbv",
535 .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
536 .props = AV_CODEC_PROP_LOSSLESS,
537 },
538 {
539 .id = AV_CODEC_ID_AVS,
540 .type = AVMEDIA_TYPE_VIDEO,
541 .name = "avs",
542 .long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
543 .props = AV_CODEC_PROP_LOSSY,
544 },
545 {
546 .id = AV_CODEC_ID_SMACKVIDEO,
547 .type = AVMEDIA_TYPE_VIDEO,
548 .name = "smackvideo",
549 .long_name = NULL_IF_CONFIG_SMALL("Smacker video"),
550 .props = AV_CODEC_PROP_LOSSY,
551 },
552 {
553 .id = AV_CODEC_ID_NUV,
554 .type = AVMEDIA_TYPE_VIDEO,
555 .name = "nuv",
556 .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),
557 .props = AV_CODEC_PROP_LOSSY,
558 },
559 {
560 .id = AV_CODEC_ID_KMVC,
561 .type = AVMEDIA_TYPE_VIDEO,
562 .name = "kmvc",
563 .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),
564 .props = AV_CODEC_PROP_LOSSY,
565 },
566 {
567 .id = AV_CODEC_ID_FLASHSV,
568 .type = AVMEDIA_TYPE_VIDEO,
569 .name = "flashsv",
570 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),
571 .props = AV_CODEC_PROP_LOSSLESS,
572 },
573 {
574 .id = AV_CODEC_ID_CAVS,
575 .type = AVMEDIA_TYPE_VIDEO,
576 .name = "cavs",
577 .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
578 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
579 },
580 {
581 .id = AV_CODEC_ID_JPEG2000,
582 .type = AVMEDIA_TYPE_VIDEO,
583 .name = "jpeg2000",
584 .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
585 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
586 AV_CODEC_PROP_LOSSLESS,
587 .profiles = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles),
588 },
589 {
590 .id = AV_CODEC_ID_VMNC,
591 .type = AVMEDIA_TYPE_VIDEO,
592 .name = "vmnc",
593 .long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),
594 .props = AV_CODEC_PROP_LOSSLESS,
595 },
596 {
597 .id = AV_CODEC_ID_VP5,
598 .type = AVMEDIA_TYPE_VIDEO,
599 .name = "vp5",
600 .long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),
601 .props = AV_CODEC_PROP_LOSSY,
602 },
603 {
604 .id = AV_CODEC_ID_VP6,
605 .type = AVMEDIA_TYPE_VIDEO,
606 .name = "vp6",
607 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
608 .props = AV_CODEC_PROP_LOSSY,
609 },
610 {
611 .id = AV_CODEC_ID_VP6F,
612 .type = AVMEDIA_TYPE_VIDEO,
613 .name = "vp6f",
614 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
615 .props = AV_CODEC_PROP_LOSSY,
616 },
617 {
618 .id = AV_CODEC_ID_DSICINVIDEO,
619 .type = AVMEDIA_TYPE_VIDEO,
620 .name = "dsicinvideo",
621 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),
622 .props = AV_CODEC_PROP_LOSSY,
623 },
624 {
625 .id = AV_CODEC_ID_TIERTEXSEQVIDEO,
626 .type = AVMEDIA_TYPE_VIDEO,
627 .name = "tiertexseqvideo",
628 .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
629 .props = AV_CODEC_PROP_LOSSY,
630 },
631 {
632 .id = AV_CODEC_ID_DXA,
633 .type = AVMEDIA_TYPE_VIDEO,
634 .name = "dxa",
635 .long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),
636 .props = AV_CODEC_PROP_LOSSLESS,
637 },
638 {
639 .id = AV_CODEC_ID_DNXHD,
640 .type = AVMEDIA_TYPE_VIDEO,
641 .name = "dnxhd",
642 .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
643 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
644 },
645 {
646 .id = AV_CODEC_ID_THP,
647 .type = AVMEDIA_TYPE_VIDEO,
648 .name = "thp",
649 .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
650 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
651 },
652 {
653 .id = AV_CODEC_ID_C93,
654 .type = AVMEDIA_TYPE_VIDEO,
655 .name = "c93",
656 .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
657 .props = AV_CODEC_PROP_LOSSY,
658 },
659 {
660 .id = AV_CODEC_ID_BETHSOFTVID,
661 .type = AVMEDIA_TYPE_VIDEO,
662 .name = "bethsoftvid",
663 .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
664 .props = AV_CODEC_PROP_LOSSY,
665 },
666 {
667 .id = AV_CODEC_ID_VP6A,
668 .type = AVMEDIA_TYPE_VIDEO,
669 .name = "vp6a",
670 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
671 .props = AV_CODEC_PROP_LOSSY,
672 },
673 {
674 .id = AV_CODEC_ID_AMV,
675 .type = AVMEDIA_TYPE_VIDEO,
676 .name = "amv",
677 .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
678 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
679 },
680 {
681 .id = AV_CODEC_ID_VB,
682 .type = AVMEDIA_TYPE_VIDEO,
683 .name = "vb",
684 .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
685 .props = AV_CODEC_PROP_LOSSY,
686 },
687 {
688 .id = AV_CODEC_ID_INDEO4,
689 .type = AVMEDIA_TYPE_VIDEO,
690 .name = "indeo4",
691 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),
692 .props = AV_CODEC_PROP_LOSSY,
693 },
694 {
695 .id = AV_CODEC_ID_INDEO5,
696 .type = AVMEDIA_TYPE_VIDEO,
697 .name = "indeo5",
698 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
699 .props = AV_CODEC_PROP_LOSSY,
700 },
701 {
702 .id = AV_CODEC_ID_MIMIC,
703 .type = AVMEDIA_TYPE_VIDEO,
704 .name = "mimic",
705 .long_name = NULL_IF_CONFIG_SMALL("Mimic"),
706 .props = AV_CODEC_PROP_LOSSY,
707 },
708 {
709 .id = AV_CODEC_ID_RL2,
710 .type = AVMEDIA_TYPE_VIDEO,
711 .name = "rl2",
712 .long_name = NULL_IF_CONFIG_SMALL("RL2 video"),
713 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
714 },
715 {
716 .id = AV_CODEC_ID_ESCAPE124,
717 .type = AVMEDIA_TYPE_VIDEO,
718 .name = "escape124",
719 .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
720 .props = AV_CODEC_PROP_LOSSY,
721 },
722 {
723 .id = AV_CODEC_ID_DIRAC,
724 .type = AVMEDIA_TYPE_VIDEO,
725 .name = "dirac",
726 .long_name = NULL_IF_CONFIG_SMALL("Dirac"),
727 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
728 },
729 {
730 .id = AV_CODEC_ID_BFI,
731 .type = AVMEDIA_TYPE_VIDEO,
732 .name = "bfi",
733 .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
734 .props = AV_CODEC_PROP_LOSSY,
735 },
736 {
737 .id = AV_CODEC_ID_CMV,
738 .type = AVMEDIA_TYPE_VIDEO,
739 .name = "cmv",
740 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
741 .props = AV_CODEC_PROP_LOSSY,
742 },
743 {
744 .id = AV_CODEC_ID_MOTIONPIXELS,
745 .type = AVMEDIA_TYPE_VIDEO,
746 .name = "motionpixels",
747 .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),
748 .props = AV_CODEC_PROP_LOSSY,
749 },
750 {
751 .id = AV_CODEC_ID_TGV,
752 .type = AVMEDIA_TYPE_VIDEO,
753 .name = "tgv",
754 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),
755 .props = AV_CODEC_PROP_LOSSY,
756 },
757 {
758 .id = AV_CODEC_ID_TGQ,
759 .type = AVMEDIA_TYPE_VIDEO,
760 .name = "tgq",
761 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),
762 .props = AV_CODEC_PROP_LOSSY,
763 },
764 {
765 .id = AV_CODEC_ID_TQI,
766 .type = AVMEDIA_TYPE_VIDEO,
767 .name = "tqi",
768 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI video"),
769 .props = AV_CODEC_PROP_LOSSY,
770 },
771 {
772 .id = AV_CODEC_ID_AURA,
773 .type = AVMEDIA_TYPE_VIDEO,
774 .name = "aura",
775 .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
776 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
777 },
778 {
779 .id = AV_CODEC_ID_AURA2,
780 .type = AVMEDIA_TYPE_VIDEO,
781 .name = "aura2",
782 .long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),
783 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
784 },
785 {
786 .id = AV_CODEC_ID_V210X,
787 .type = AVMEDIA_TYPE_VIDEO,
788 .name = "v210x",
789 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
790 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
791 },
792 {
793 .id = AV_CODEC_ID_TMV,
794 .type = AVMEDIA_TYPE_VIDEO,
795 .name = "tmv",
796 .long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
797 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
798 },
799 {
800 .id = AV_CODEC_ID_V210,
801 .type = AVMEDIA_TYPE_VIDEO,
802 .name = "v210",
803 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
804 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
805 },
806 {
807 .id = AV_CODEC_ID_MAD,
808 .type = AVMEDIA_TYPE_VIDEO,
809 .name = "mad",
810 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),
811 .props = AV_CODEC_PROP_LOSSY,
812 },
813 {
814 .id = AV_CODEC_ID_FRWU,
815 .type = AVMEDIA_TYPE_VIDEO,
816 .name = "frwu",
817 .long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),
818 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
819 },
820 {
821 .id = AV_CODEC_ID_FLASHSV2,
822 .type = AVMEDIA_TYPE_VIDEO,
823 .name = "flashsv2",
824 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),
825 .props = AV_CODEC_PROP_LOSSY,
826 },
827 {
828 .id = AV_CODEC_ID_CDGRAPHICS,
829 .type = AVMEDIA_TYPE_VIDEO,
830 .name = "cdgraphics",
831 .long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
832 .props = AV_CODEC_PROP_LOSSY,
833 },
834 {
835 .id = AV_CODEC_ID_R210,
836 .type = AVMEDIA_TYPE_VIDEO,
837 .name = "r210",
838 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
839 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
840 },
841 {
842 .id = AV_CODEC_ID_ANM,
843 .type = AVMEDIA_TYPE_VIDEO,
844 .name = "anm",
845 .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
846 .props = AV_CODEC_PROP_LOSSY,
847 },
848 {
849 .id = AV_CODEC_ID_BINKVIDEO,
850 .type = AVMEDIA_TYPE_VIDEO,
851 .name = "binkvideo",
852 .long_name = NULL_IF_CONFIG_SMALL("Bink video"),
853 .props = AV_CODEC_PROP_LOSSY,
854 },
855 {
856 .id = AV_CODEC_ID_IFF_ILBM,
857 .type = AVMEDIA_TYPE_VIDEO,
858 .name = "iff_ilbm",
859 .long_name = NULL_IF_CONFIG_SMALL("IFF ILBM"),
860 .props = AV_CODEC_PROP_LOSSY,
861 },
862 {
863 .id = AV_CODEC_ID_IFF_BYTERUN1,
864 .type = AVMEDIA_TYPE_VIDEO,
865 .name = "iff_byterun1",
866 .long_name = NULL_IF_CONFIG_SMALL("IFF ByteRun1"),
867 .props = AV_CODEC_PROP_LOSSY,
868 },
869 {
870 .id = AV_CODEC_ID_KGV1,
871 .type = AVMEDIA_TYPE_VIDEO,
872 .name = "kgv1",
873 .long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),
874 .props = AV_CODEC_PROP_LOSSY,
875 },
876 {
877 .id = AV_CODEC_ID_YOP,
878 .type = AVMEDIA_TYPE_VIDEO,
879 .name = "yop",
880 .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),
881 .props = AV_CODEC_PROP_LOSSY,
882 },
883 {
884 .id = AV_CODEC_ID_VP8,
885 .type = AVMEDIA_TYPE_VIDEO,
886 .name = "vp8",
887 .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
888 .props = AV_CODEC_PROP_LOSSY,
889 },
890 {
891 .id = AV_CODEC_ID_VP9,
892 .type = AVMEDIA_TYPE_VIDEO,
893 .name = "vp9",
894 .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
895 .props = AV_CODEC_PROP_LOSSY,
896 },
897 {
898 .id = AV_CODEC_ID_PICTOR,
899 .type = AVMEDIA_TYPE_VIDEO,
900 .name = "pictor",
901 .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
902 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
903 },
904 {
905 .id = AV_CODEC_ID_A64_MULTI,
906 .type = AVMEDIA_TYPE_VIDEO,
907 .name = "a64_multi",
908 .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
909 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
910 },
911 {
912 .id = AV_CODEC_ID_A64_MULTI5,
913 .type = AVMEDIA_TYPE_VIDEO,
914 .name = "a64_multi5",
915 .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
916 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
917 },
918 {
919 .id = AV_CODEC_ID_R10K,
920 .type = AVMEDIA_TYPE_VIDEO,
921 .name = "r10k",
922 .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
923 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
924 },
925 {
926 .id = AV_CODEC_ID_MVC1,
927 .type = AVMEDIA_TYPE_VIDEO,
928 .name = "mvc1",
929 .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
930 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
931 },
932 {
933 .id = AV_CODEC_ID_MVC2,
934 .type = AVMEDIA_TYPE_VIDEO,
935 .name = "mvc2",
936 .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
937 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
938 },
939 {
940 .id = AV_CODEC_ID_MXPEG,
941 .type = AVMEDIA_TYPE_VIDEO,
942 .name = "mxpeg",
943 .long_name = NULL_IF_CONFIG_SMALL("Mobotix MxPEG video"),
944 .props = AV_CODEC_PROP_LOSSY,
945 },
946 {
947 .id = AV_CODEC_ID_LAGARITH,
948 .type = AVMEDIA_TYPE_VIDEO,
949 .name = "lagarith",
950 .long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),
951 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
952 },
953 {
954 .id = AV_CODEC_ID_PRORES,
955 .type = AVMEDIA_TYPE_VIDEO,
956 .name = "prores",
957 .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),
958 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
959 },
960 {
961 .id = AV_CODEC_ID_JV,
962 .type = AVMEDIA_TYPE_VIDEO,
963 .name = "jv",
964 .long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV video"),
965 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
966 },
967 {
968 .id = AV_CODEC_ID_DFA,
969 .type = AVMEDIA_TYPE_VIDEO,
970 .name = "dfa",
971 .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
972 .props = AV_CODEC_PROP_LOSSY,
973 },
974 {
975 .id = AV_CODEC_ID_UTVIDEO,
976 .type = AVMEDIA_TYPE_VIDEO,
977 .name = "utvideo",
978 .long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
979 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
980 },
981 {
982 .id = AV_CODEC_ID_BMV_VIDEO,
983 .type = AVMEDIA_TYPE_VIDEO,
984 .name = "bmv_video",
985 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),
986 .props = AV_CODEC_PROP_LOSSLESS,
987 },
988 {
989 .id = AV_CODEC_ID_VBLE,
990 .type = AVMEDIA_TYPE_VIDEO,
991 .name = "vble",
992 .long_name = NULL_IF_CONFIG_SMALL("VBLE Lossless Codec"),
993 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
994 },
995 {
996 .id = AV_CODEC_ID_DXTORY,
997 .type = AVMEDIA_TYPE_VIDEO,
998 .name = "dxtory",
999 .long_name = NULL_IF_CONFIG_SMALL("Dxtory"),
1000 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1001 },
1002 {
1003 .id = AV_CODEC_ID_V410,
1004 .type = AVMEDIA_TYPE_VIDEO,
1005 .name = "v410",
1006 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
1007 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1008 },
1009 {
1010 .id = AV_CODEC_ID_CDXL,
1011 .type = AVMEDIA_TYPE_VIDEO,
1012 .name = "cdxl",
1013 .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
1014 .props = AV_CODEC_PROP_LOSSY,
1015 },
1016 {
1017 .id = AV_CODEC_ID_ZEROCODEC,
1018 .type = AVMEDIA_TYPE_VIDEO,
1019 .name = "zerocodec",
1020 .long_name = NULL_IF_CONFIG_SMALL("ZeroCodec Lossless Video"),
1021 .props = AV_CODEC_PROP_LOSSLESS,
1022 },
1023 {
1024 .id = AV_CODEC_ID_MSS1,
1025 .type = AVMEDIA_TYPE_VIDEO,
1026 .name = "mss1",
1027 .long_name = NULL_IF_CONFIG_SMALL("MS Screen 1"),
1028 .props = AV_CODEC_PROP_LOSSY,
1029 },
1030 {
1031 .id = AV_CODEC_ID_MSA1,
1032 .type = AVMEDIA_TYPE_VIDEO,
1033 .name = "msa1",
1034 .long_name = NULL_IF_CONFIG_SMALL("MS ATC Screen"),
1035 .props = AV_CODEC_PROP_LOSSY,
1036 },
1037 {
1038 .id = AV_CODEC_ID_TSCC2,
1039 .type = AVMEDIA_TYPE_VIDEO,
1040 .name = "tscc2",
1041 .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),
1042 .props = AV_CODEC_PROP_LOSSY,
1043 },
1044 {
1045 .id = AV_CODEC_ID_MTS2,
1046 .type = AVMEDIA_TYPE_VIDEO,
1047 .name = "mts2",
1048 .long_name = NULL_IF_CONFIG_SMALL("MS Expression Encoder Screen"),
1049 .props = AV_CODEC_PROP_LOSSY,
1050 },
1051 {
1052 .id = AV_CODEC_ID_CLLC,
1053 .type = AVMEDIA_TYPE_VIDEO,
1054 .name = "cllc",
1055 .long_name = NULL_IF_CONFIG_SMALL("Canopus Lossless Codec"),
1056 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1057 },
1058 {
1059 .id = AV_CODEC_ID_MSS2,
1060 .type = AVMEDIA_TYPE_VIDEO,
1061 .name = "mss2",
1062 .long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),
1063 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1064 },
1065 {
1066 .id = AV_CODEC_ID_AIC,
1067 .type = AVMEDIA_TYPE_VIDEO,
1068 .name = "aic",
1069 .long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
1070 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1071 },
1072 {
1073 .id = AV_CODEC_ID_ESCAPE130,
1074 .type = AVMEDIA_TYPE_VIDEO,
1075 .name = "escape130",
1076 .long_name = NULL_IF_CONFIG_SMALL("Escape 130"),
1077 .props = AV_CODEC_PROP_LOSSY,
1078 },
1079 {
1080 .id = AV_CODEC_ID_G2M,
1081 .type = AVMEDIA_TYPE_VIDEO,
1082 .name = "g2m",
1083 .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
1084 .props = AV_CODEC_PROP_LOSSY,
1085 },
1086 {
1087 .id = AV_CODEC_ID_HNM4_VIDEO,
1088 .type = AVMEDIA_TYPE_VIDEO,
1089 .name = "hnm4video",
1090 .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
1091 .props = AV_CODEC_PROP_LOSSY,
1092 },
1093 {
1094 .id = AV_CODEC_ID_HEVC,
1095 .type = AVMEDIA_TYPE_VIDEO,
1096 .name = "hevc",
1097 .long_name = NULL_IF_CONFIG_SMALL("HEVC (High Efficiency Video Coding)"),
1098 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
1099 .profiles = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
1100 },
1101 {
1102 .id = AV_CODEC_ID_FIC,
1103 .type = AVMEDIA_TYPE_VIDEO,
1104 .name = "fic",
1105 .long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
1106 .props = AV_CODEC_PROP_LOSSY,
1107 },
1108 {
1109 .id = AV_CODEC_ID_PAF_VIDEO,
1110 .type = AVMEDIA_TYPE_VIDEO,
1111 .name = "paf_video",
1112 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
1113 .props = AV_CODEC_PROP_LOSSY,
1114 },
1115 {
1116 .id = AV_CODEC_ID_VP7,
1117 .type = AVMEDIA_TYPE_VIDEO,
1118 .name = "vp7",
1119 .long_name = NULL_IF_CONFIG_SMALL("On2 VP7"),
1120 .props = AV_CODEC_PROP_LOSSY,
1121 },
1122 {
1123 .id = AV_CODEC_ID_SANM,
1124 .type = AVMEDIA_TYPE_VIDEO,
1125 .name = "sanm",
1126 .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM video"),
1127 .props = AV_CODEC_PROP_LOSSY,
1128 },
1129 {
1130 .id = AV_CODEC_ID_SGIRLE,
1131 .type = AVMEDIA_TYPE_VIDEO,
1132 .name = "sgirle",
1133 .long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"),
1134 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1135 },
1136 {
1137 .id = AV_CODEC_ID_HQX,
1138 .type = AVMEDIA_TYPE_VIDEO,
1139 .name = "hqx",
1140 .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),
1141 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1142 },
1143 {
1144 .id = AV_CODEC_ID_HQ_HQA,
1145 .type = AVMEDIA_TYPE_VIDEO,
1146 .name = "hq_hqa",
1147 .long_name = NULL_IF_CONFIG_SMALL("Canopus HQ/HQA"),
1148 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1149 },
1150 {
1151 .id = AV_CODEC_ID_HAP,
1152 .type = AVMEDIA_TYPE_VIDEO,
1153 .name = "hap",
1154 .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap decoder"),
1155 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1156 },
1157 {
1158 .id = AV_CODEC_ID_DXV,
1159 .type = AVMEDIA_TYPE_VIDEO,
1160 .name = "dxv",
1161 .long_name = NULL_IF_CONFIG_SMALL("Resolume DXV"),
1162 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1163 },
1164 {
1165 .id = AV_CODEC_ID_SCREENPRESSO,
1166 .type = AVMEDIA_TYPE_VIDEO,
1167 .name = "screenpresso",
1168 .long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),
1169 .props = AV_CODEC_PROP_LOSSLESS,
1170 },
1171 {
1172 .id = AV_CODEC_ID_WRAPPED_AVFRAME,
1173 .type = AVMEDIA_TYPE_VIDEO,
1174 .name = "wrapped_avframe",
1175 .long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),
1176 .props = AV_CODEC_PROP_LOSSLESS,
1177 },
1178 {
1179 .id = AV_CODEC_ID_RSCC,
1180 .type = AVMEDIA_TYPE_VIDEO,
1181 .name = "rscc",
1182 .long_name = NULL_IF_CONFIG_SMALL("innoHeim/Rsupport Screen Capture Codec"),
1183 .props = AV_CODEC_PROP_LOSSLESS,
1184 },
1185 {
1186 .id = AV_CODEC_ID_MAGICYUV,
1187 .type = AVMEDIA_TYPE_VIDEO,
1188 .name = "magicyuv",
1189 .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
1190 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1191 },
1192 {
1193 .id = AV_CODEC_ID_TRUEMOTION2RT,
1194 .type = AVMEDIA_TYPE_VIDEO,
1195 .name = "truemotion2rt",
1196 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
1197 .props = AV_CODEC_PROP_LOSSY,
1198 },
1199 {
1200 .id = AV_CODEC_ID_AV1,
1201 .type = AVMEDIA_TYPE_VIDEO,
1202 .name = "av1",
1203 .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
1204 .props = AV_CODEC_PROP_LOSSY,
1205 },
1206 {
1207 .id = AV_CODEC_ID_PIXLET,
1208 .type = AVMEDIA_TYPE_VIDEO,
1209 .name = "pixlet",
1210 .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
1211 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1212 },
1213 {
1214 .id = AV_CODEC_ID_FMVC,
1215 .type = AVMEDIA_TYPE_VIDEO,
1216 .name = "fmvc",
1217 .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
1218 .props = AV_CODEC_PROP_LOSSLESS,
1219 },
1220 {
1221 .id = AV_CODEC_ID_CLEARVIDEO,
1222 .type = AVMEDIA_TYPE_VIDEO,
1223 .name = "clearvideo",
1224 .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
1225 .props = AV_CODEC_PROP_LOSSY,
1226 },
1227
1228 /* image codecs */
1229 {
1230 .id = AV_CODEC_ID_ALIAS_PIX,
1231 .type = AVMEDIA_TYPE_VIDEO,
1232 .name = "alias_pix",
1233 .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
1234 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1235 },
1236 {
1237 .id = AV_CODEC_ID_ANSI,
1238 .type = AVMEDIA_TYPE_VIDEO,
1239 .name = "ansi",
1240 .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
1241 .props = AV_CODEC_PROP_LOSSY,
1242 },
1243 {
1244 .id = AV_CODEC_ID_BRENDER_PIX,
1245 .type = AVMEDIA_TYPE_VIDEO,
1246 .name = "brender_pix",
1247 .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
1248 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1249 },
1250 {
1251 .id = AV_CODEC_ID_DDS,
1252 .type = AVMEDIA_TYPE_VIDEO,
1253 .name = "dds",
1254 .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
1255 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
1256 AV_CODEC_PROP_LOSSLESS,
1257 },
1258 {
1259 .id = AV_CODEC_ID_DPX,
1260 .type = AVMEDIA_TYPE_VIDEO,
1261 .name = "dpx",
1262 .long_name = NULL_IF_CONFIG_SMALL("DPX image"),
1263 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1264 },
1265 {
1266 .id = AV_CODEC_ID_EXR,
1267 .type = AVMEDIA_TYPE_VIDEO,
1268 .name = "exr",
1269 .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
1270 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
1271 AV_CODEC_PROP_LOSSLESS,
1272 },
1273 {
1274 .id = AV_CODEC_ID_GIF,
1275 .type = AVMEDIA_TYPE_VIDEO,
1276 .name = "gif",
1277 .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
1278 .props = AV_CODEC_PROP_LOSSLESS,
1279 },
1280 {
1281 .id = AV_CODEC_ID_JPEGLS,
1282 .type = AVMEDIA_TYPE_VIDEO,
1283 .name = "jpegls",
1284 .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
1285 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
1286 AV_CODEC_PROP_LOSSLESS,
1287 },
1288 {
1289 .id = AV_CODEC_ID_LJPEG,
1290 .type = AVMEDIA_TYPE_VIDEO,
1291 .name = "ljpeg",
1292 .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
1293 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1294 },
1295 {
1296 .id = AV_CODEC_ID_PAM,
1297 .type = AVMEDIA_TYPE_VIDEO,
1298 .name = "pam",
1299 .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
1300 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1301 },
1302 {
1303 .id = AV_CODEC_ID_PBM,
1304 .type = AVMEDIA_TYPE_VIDEO,
1305 .name = "pbm",
1306 .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
1307 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1308 },
1309 {
1310 .id = AV_CODEC_ID_PCX,
1311 .type = AVMEDIA_TYPE_VIDEO,
1312 .name = "pcx",
1313 .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
1314 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1315 },
1316 {
1317 .id = AV_CODEC_ID_PGM,
1318 .type = AVMEDIA_TYPE_VIDEO,
1319 .name = "pgm",
1320 .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
1321 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1322 },
1323 {
1324 .id = AV_CODEC_ID_PGMYUV,
1325 .type = AVMEDIA_TYPE_VIDEO,
1326 .name = "pgmyuv",
1327 .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
1328 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1329 },
1330 {
1331 .id = AV_CODEC_ID_PNG,
1332 .type = AVMEDIA_TYPE_VIDEO,
1333 .name = "png",
1334 .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
1335 .props = AV_CODEC_PROP_LOSSLESS,
1336 },
1337 {
1338 .id = AV_CODEC_ID_PPM,
1339 .type = AVMEDIA_TYPE_VIDEO,
1340 .name = "ppm",
1341 .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
1342 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1343 },
1344 {
1345 .id = AV_CODEC_ID_PTX,
1346 .type = AVMEDIA_TYPE_VIDEO,
1347 .name = "ptx",
1348 .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
1349 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1350 },
1351 {
1352 .id = AV_CODEC_ID_SGI,
1353 .type = AVMEDIA_TYPE_VIDEO,
1354 .name = "sgi",
1355 .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
1356 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1357 },
1358 {
1359 .id = AV_CODEC_ID_SP5X,
1360 .type = AVMEDIA_TYPE_VIDEO,
1361 .name = "sp5x",
1362 .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
1363 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1364 },
1365 {
1366 .id = AV_CODEC_ID_SUNRAST,
1367 .type = AVMEDIA_TYPE_VIDEO,
1368 .name = "sunrast",
1369 .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
1370 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1371 },
1372 {
1373 .id = AV_CODEC_ID_TARGA,
1374 .type = AVMEDIA_TYPE_VIDEO,
1375 .name = "targa",
1376 .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
1377 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1378 },
1379 {
1380 .id = AV_CODEC_ID_TDSC,
1381 .type = AVMEDIA_TYPE_VIDEO,
1382 .name = "tdsc",
1383 .long_name = NULL_IF_CONFIG_SMALL("TDSC"),
1384 .props = AV_CODEC_PROP_LOSSY,
1385 },
1386 {
1387 .id = AV_CODEC_ID_TIFF,
1388 .type = AVMEDIA_TYPE_VIDEO,
1389 .name = "tiff",
1390 .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
1391 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1392 },
1393 {
1394 .id = AV_CODEC_ID_TXD,
1395 .type = AVMEDIA_TYPE_VIDEO,
1396 .name = "txd",
1397 .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
1398 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
1399 },
1400 {
1401 .id = AV_CODEC_ID_VC1IMAGE,
1402 .type = AVMEDIA_TYPE_VIDEO,
1403 .name = "vc1image",
1404 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
1405 .props = AV_CODEC_PROP_LOSSY,
1406 },
1407 {
1408 .id = AV_CODEC_ID_WEBP,
1409 .type = AVMEDIA_TYPE_VIDEO,
1410 .name = "webp",
1411 .long_name = NULL_IF_CONFIG_SMALL("WebP"),
1412 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
1413 AV_CODEC_PROP_LOSSLESS,
1414 },
1415 {
1416 .id = AV_CODEC_ID_WMV3IMAGE,
1417 .type = AVMEDIA_TYPE_VIDEO,
1418 .name = "wmv3image",
1419 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
1420 .props = AV_CODEC_PROP_LOSSY,
1421 },
1422 {
1423 .id = AV_CODEC_ID_XBM,
1424 .type = AVMEDIA_TYPE_VIDEO,
1425 .name = "xbm",
1426 .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
1427 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1428 },
1429 {
1430 .id = AV_CODEC_ID_XWD,
1431 .type = AVMEDIA_TYPE_VIDEO,
1432 .name = "xwd",
1433 .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
1434 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
1435 },
1436 {
1437 .id = AV_CODEC_ID_CFHD,
1438 .type = AVMEDIA_TYPE_VIDEO,
1439 .name = "cfhd",
1440 .long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
1441 .props = AV_CODEC_PROP_LOSSY,
1442 },
1443
1444 /* various PCM "codecs" */
1445 {
1446 .id = AV_CODEC_ID_PCM_S16LE,
1447 .type = AVMEDIA_TYPE_AUDIO,
1448 .name = "pcm_s16le",
1449 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian"),
1450 .props = AV_CODEC_PROP_LOSSLESS,
1451 },
1452 {
1453 .id = AV_CODEC_ID_PCM_S16BE,
1454 .type = AVMEDIA_TYPE_AUDIO,
1455 .name = "pcm_s16be",
1456 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian"),
1457 .props = AV_CODEC_PROP_LOSSLESS,
1458 },
1459 {
1460 .id = AV_CODEC_ID_PCM_U16LE,
1461 .type = AVMEDIA_TYPE_AUDIO,
1462 .name = "pcm_u16le",
1463 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit little-endian"),
1464 .props = AV_CODEC_PROP_LOSSLESS,
1465 },
1466 {
1467 .id = AV_CODEC_ID_PCM_U16BE,
1468 .type = AVMEDIA_TYPE_AUDIO,
1469 .name = "pcm_u16be",
1470 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit big-endian"),
1471 .props = AV_CODEC_PROP_LOSSLESS,
1472 },
1473 {
1474 .id = AV_CODEC_ID_PCM_S8,
1475 .type = AVMEDIA_TYPE_AUDIO,
1476 .name = "pcm_s8",
1477 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit"),
1478 .props = AV_CODEC_PROP_LOSSLESS,
1479 },
1480 {
1481 .id = AV_CODEC_ID_PCM_U8,
1482 .type = AVMEDIA_TYPE_AUDIO,
1483 .name = "pcm_u8",
1484 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 8-bit"),
1485 .props = AV_CODEC_PROP_LOSSLESS,
1486 },
1487 {
1488 .id = AV_CODEC_ID_PCM_MULAW,
1489 .type = AVMEDIA_TYPE_AUDIO,
1490 .name = "pcm_mulaw",
1491 .long_name = NULL_IF_CONFIG_SMALL("PCM mu-law"),
1492 },
1493 {
1494 .id = AV_CODEC_ID_PCM_ALAW,
1495 .type = AVMEDIA_TYPE_AUDIO,
1496 .name = "pcm_alaw",
1497 .long_name = NULL_IF_CONFIG_SMALL("PCM A-law"),
1498 },
1499 {
1500 .id = AV_CODEC_ID_PCM_S32LE,
1501 .type = AVMEDIA_TYPE_AUDIO,
1502 .name = "pcm_s32le",
1503 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian"),
1504 .props = AV_CODEC_PROP_LOSSLESS,
1505 },
1506 {
1507 .id = AV_CODEC_ID_PCM_S32BE,
1508 .type = AVMEDIA_TYPE_AUDIO,
1509 .name = "pcm_s32be",
1510 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
1511 .props = AV_CODEC_PROP_LOSSLESS,
1512 },
1513 {
1514 .id = AV_CODEC_ID_PCM_U32LE,
1515 .type = AVMEDIA_TYPE_AUDIO,
1516 .name = "pcm_u32le",
1517 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit little-endian"),
1518 .props = AV_CODEC_PROP_LOSSLESS,
1519 },
1520 {
1521 .id = AV_CODEC_ID_PCM_U32BE,
1522 .type = AVMEDIA_TYPE_AUDIO,
1523 .name = "pcm_u32be",
1524 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit big-endian"),
1525 .props = AV_CODEC_PROP_LOSSLESS,
1526 },
1527 {
1528 .id = AV_CODEC_ID_PCM_S24LE,
1529 .type = AVMEDIA_TYPE_AUDIO,
1530 .name = "pcm_s24le",
1531 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian"),
1532 .props = AV_CODEC_PROP_LOSSLESS,
1533 },
1534 {
1535 .id = AV_CODEC_ID_PCM_S24BE,
1536 .type = AVMEDIA_TYPE_AUDIO,
1537 .name = "pcm_s24be",
1538 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit big-endian"),
1539 .props = AV_CODEC_PROP_LOSSLESS,
1540 },
1541 {
1542 .id = AV_CODEC_ID_PCM_U24LE,
1543 .type = AVMEDIA_TYPE_AUDIO,
1544 .name = "pcm_u24le",
1545 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit little-endian"),
1546 .props = AV_CODEC_PROP_LOSSLESS,
1547 },
1548 {
1549 .id = AV_CODEC_ID_PCM_U24BE,
1550 .type = AVMEDIA_TYPE_AUDIO,
1551 .name = "pcm_u24be",
1552 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit big-endian"),
1553 .props = AV_CODEC_PROP_LOSSLESS,
1554 },
1555 {
1556 .id = AV_CODEC_ID_PCM_S24DAUD,
1557 .type = AVMEDIA_TYPE_AUDIO,
1558 .name = "pcm_s24daud",
1559 .long_name = NULL_IF_CONFIG_SMALL("PCM D-Cinema audio signed 24-bit"),
1560 .props = AV_CODEC_PROP_LOSSLESS,
1561 },
1562 {
1563 .id = AV_CODEC_ID_PCM_ZORK,
1564 .type = AVMEDIA_TYPE_AUDIO,
1565 .name = "pcm_zork",
1566 .long_name = NULL_IF_CONFIG_SMALL("PCM Zork"),
1567 .props = AV_CODEC_PROP_LOSSY,
1568 },
1569 {
1570 .id = AV_CODEC_ID_PCM_S16BE_PLANAR,
1571 .type = AVMEDIA_TYPE_AUDIO,
1572 .name = "pcm_s16be_planar",
1573 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
1574 .props = AV_CODEC_PROP_LOSSLESS,
1575 },
1576 {
1577 .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
1578 .type = AVMEDIA_TYPE_AUDIO,
1579 .name = "pcm_s16le_planar",
1580 .long_name = NULL_IF_CONFIG_SMALL("PCM 16-bit little-endian planar"),
1581 .props = AV_CODEC_PROP_LOSSLESS,
1582 },
1583 {
1584 .id = AV_CODEC_ID_PCM_S24LE_PLANAR,
1585 .type = AVMEDIA_TYPE_AUDIO,
1586 .name = "pcm_s24le_planar",
1587 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
1588 .props = AV_CODEC_PROP_LOSSLESS,
1589 },
1590 {
1591 .id = AV_CODEC_ID_PCM_S32LE_PLANAR,
1592 .type = AVMEDIA_TYPE_AUDIO,
1593 .name = "pcm_s32le_planar",
1594 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
1595 .props = AV_CODEC_PROP_LOSSLESS,
1596 },
1597 {
1598 .id = AV_CODEC_ID_PCM_DVD,
1599 .type = AVMEDIA_TYPE_AUDIO,
1600 .name = "pcm_dvd",
1601 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
1602 .props = AV_CODEC_PROP_LOSSLESS,
1603 },
1604 {
1605 .id = AV_CODEC_ID_PCM_F32BE,
1606 .type = AVMEDIA_TYPE_AUDIO,
1607 .name = "pcm_f32be",
1608 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
1609 .props = AV_CODEC_PROP_LOSSLESS,
1610 },
1611 {
1612 .id = AV_CODEC_ID_PCM_F32LE,
1613 .type = AVMEDIA_TYPE_AUDIO,
1614 .name = "pcm_f32le",
1615 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
1616 .props = AV_CODEC_PROP_LOSSLESS,
1617 },
1618 {
1619 .id = AV_CODEC_ID_PCM_F64BE,
1620 .type = AVMEDIA_TYPE_AUDIO,
1621 .name = "pcm_f64be",
1622 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
1623 .props = AV_CODEC_PROP_LOSSLESS,
1624 },
1625 {
1626 .id = AV_CODEC_ID_PCM_F64LE,
1627 .type = AVMEDIA_TYPE_AUDIO,
1628 .name = "pcm_f64le",
1629 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
1630 .props = AV_CODEC_PROP_LOSSLESS,
1631 },
1632 {
1633 .id = AV_CODEC_ID_PCM_BLURAY,
1634 .type = AVMEDIA_TYPE_AUDIO,
1635 .name = "pcm_bluray",
1636 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
1637 .props = AV_CODEC_PROP_LOSSLESS,
1638 },
1639 {
1640 .id = AV_CODEC_ID_PCM_LXF,
1641 .type = AVMEDIA_TYPE_AUDIO,
1642 .name = "pcm_lxf",
1643 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
1644 .props = AV_CODEC_PROP_LOSSLESS,
1645 },
1646 {
1647 .id = AV_CODEC_ID_S302M,
1648 .type = AVMEDIA_TYPE_AUDIO,
1649 .name = "s302m",
1650 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
1651 .props = AV_CODEC_PROP_LOSSY,
1652 },
1653 {
1654 .id = AV_CODEC_ID_PCM_S8_PLANAR,
1655 .type = AVMEDIA_TYPE_AUDIO,
1656 .name = "pcm_s8_planar",
1657 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
1658 .props = AV_CODEC_PROP_LOSSLESS,
1659 },
1660
1661 /* various ADPCM codecs */
1662 {
1663 .id = AV_CODEC_ID_ADPCM_IMA_QT,
1664 .type = AVMEDIA_TYPE_AUDIO,
1665 .name = "adpcm_ima_qt",
1666 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA QuickTime"),
1667 .props = AV_CODEC_PROP_LOSSY,
1668 },
1669 {
1670 .id = AV_CODEC_ID_ADPCM_IMA_WAV,
1671 .type = AVMEDIA_TYPE_AUDIO,
1672 .name = "adpcm_ima_wav",
1673 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA WAV"),
1674 .props = AV_CODEC_PROP_LOSSY,
1675 },
1676 {
1677 .id = AV_CODEC_ID_ADPCM_IMA_DK3,
1678 .type = AVMEDIA_TYPE_AUDIO,
1679 .name = "adpcm_ima_dk3",
1680 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK3"),
1681 .props = AV_CODEC_PROP_LOSSY,
1682 },
1683 {
1684 .id = AV_CODEC_ID_ADPCM_IMA_DK4,
1685 .type = AVMEDIA_TYPE_AUDIO,
1686 .name = "adpcm_ima_dk4",
1687 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK4"),
1688 .props = AV_CODEC_PROP_LOSSY,
1689 },
1690 {
1691 .id = AV_CODEC_ID_ADPCM_IMA_WS,
1692 .type = AVMEDIA_TYPE_AUDIO,
1693 .name = "adpcm_ima_ws",
1694 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Westwood"),
1695 .props = AV_CODEC_PROP_LOSSY,
1696 },
1697 {
1698 .id = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
1699 .type = AVMEDIA_TYPE_AUDIO,
1700 .name = "adpcm_ima_smjpeg",
1701 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Loki SDL MJPEG"),
1702 .props = AV_CODEC_PROP_LOSSY,
1703 },
1704 {
1705 .id = AV_CODEC_ID_ADPCM_MS,
1706 .type = AVMEDIA_TYPE_AUDIO,
1707 .name = "adpcm_ms",
1708 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Microsoft"),
1709 .props = AV_CODEC_PROP_LOSSY,
1710 },
1711 {
1712 .id = AV_CODEC_ID_ADPCM_4XM,
1713 .type = AVMEDIA_TYPE_AUDIO,
1714 .name = "adpcm_4xm",
1715 .long_name = NULL_IF_CONFIG_SMALL("ADPCM 4X Movie"),
1716 .props = AV_CODEC_PROP_LOSSY,
1717 },
1718 {
1719 .id = AV_CODEC_ID_ADPCM_XA,
1720 .type = AVMEDIA_TYPE_AUDIO,
1721 .name = "adpcm_xa",
1722 .long_name = NULL_IF_CONFIG_SMALL("ADPCM CDROM XA"),
1723 .props = AV_CODEC_PROP_LOSSY,
1724 },
1725 {
1726 .id = AV_CODEC_ID_ADPCM_ADX,
1727 .type = AVMEDIA_TYPE_AUDIO,
1728 .name = "adpcm_adx",
1729 .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
1730 .props = AV_CODEC_PROP_LOSSY,
1731 },
1732 {
1733 .id = AV_CODEC_ID_ADPCM_EA,
1734 .type = AVMEDIA_TYPE_AUDIO,
1735 .name = "adpcm_ea",
1736 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts"),
1737 .props = AV_CODEC_PROP_LOSSY,
1738 },
1739 {
1740 .id = AV_CODEC_ID_ADPCM_G726,
1741 .type = AVMEDIA_TYPE_AUDIO,
1742 .name = "adpcm_g726",
1743 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
1744 .props = AV_CODEC_PROP_LOSSY,
1745 },
1746 {
1747 .id = AV_CODEC_ID_ADPCM_CT,
1748 .type = AVMEDIA_TYPE_AUDIO,
1749 .name = "adpcm_ct",
1750 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Creative Technology"),
1751 .props = AV_CODEC_PROP_LOSSY,
1752 },
1753 {
1754 .id = AV_CODEC_ID_ADPCM_SWF,
1755 .type = AVMEDIA_TYPE_AUDIO,
1756 .name = "adpcm_swf",
1757 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Shockwave Flash"),
1758 .props = AV_CODEC_PROP_LOSSY,
1759 },
1760 {
1761 .id = AV_CODEC_ID_ADPCM_YAMAHA,
1762 .type = AVMEDIA_TYPE_AUDIO,
1763 .name = "adpcm_yamaha",
1764 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha"),
1765 .props = AV_CODEC_PROP_LOSSY,
1766 },
1767 {
1768 .id = AV_CODEC_ID_ADPCM_SBPRO_4,
1769 .type = AVMEDIA_TYPE_AUDIO,
1770 .name = "adpcm_sbpro_4",
1771 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 4-bit"),
1772 .props = AV_CODEC_PROP_LOSSY,
1773 },
1774 {
1775 .id = AV_CODEC_ID_ADPCM_SBPRO_3,
1776 .type = AVMEDIA_TYPE_AUDIO,
1777 .name = "adpcm_sbpro_3",
1778 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2.6-bit"),
1779 .props = AV_CODEC_PROP_LOSSY,
1780 },
1781 {
1782 .id = AV_CODEC_ID_ADPCM_SBPRO_2,
1783 .type = AVMEDIA_TYPE_AUDIO,
1784 .name = "adpcm_sbpro_2",
1785 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2-bit"),
1786 .props = AV_CODEC_PROP_LOSSY,
1787 },
1788 {
1789 .id = AV_CODEC_ID_ADPCM_THP,
1790 .type = AVMEDIA_TYPE_AUDIO,
1791 .name = "adpcm_thp",
1792 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube THP"),
1793 .props = AV_CODEC_PROP_LOSSY,
1794 },
1795 {
1796 .id = AV_CODEC_ID_ADPCM_IMA_AMV,
1797 .type = AVMEDIA_TYPE_AUDIO,
1798 .name = "adpcm_ima_amv",
1799 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA AMV"),
1800 .props = AV_CODEC_PROP_LOSSY,
1801 },
1802 {
1803 .id = AV_CODEC_ID_ADPCM_EA_R1,
1804 .type = AVMEDIA_TYPE_AUDIO,
1805 .name = "adpcm_ea_r1",
1806 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R1"),
1807 .props = AV_CODEC_PROP_LOSSY,
1808 },
1809 {
1810 .id = AV_CODEC_ID_ADPCM_EA_R3,
1811 .type = AVMEDIA_TYPE_AUDIO,
1812 .name = "adpcm_ea_r3",
1813 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R3"),
1814 .props = AV_CODEC_PROP_LOSSY,
1815 },
1816 {
1817 .id = AV_CODEC_ID_ADPCM_EA_R2,
1818 .type = AVMEDIA_TYPE_AUDIO,
1819 .name = "adpcm_ea_r2",
1820 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R2"),
1821 .props = AV_CODEC_PROP_LOSSY,
1822 },
1823 {
1824 .id = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
1825 .type = AVMEDIA_TYPE_AUDIO,
1826 .name = "adpcm_ima_ea_sead",
1827 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts SEAD"),
1828 .props = AV_CODEC_PROP_LOSSY,
1829 },
1830 {
1831 .id = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
1832 .type = AVMEDIA_TYPE_AUDIO,
1833 .name = "adpcm_ima_ea_eacs",
1834 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts EACS"),
1835 .props = AV_CODEC_PROP_LOSSY,
1836 },
1837 {
1838 .id = AV_CODEC_ID_ADPCM_EA_XAS,
1839 .type = AVMEDIA_TYPE_AUDIO,
1840 .name = "adpcm_ea_xas",
1841 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts XAS"),
1842 .props = AV_CODEC_PROP_LOSSY,
1843 },
1844 {
1845 .id = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
1846 .type = AVMEDIA_TYPE_AUDIO,
1847 .name = "adpcm_ea_maxis_xa",
1848 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts Maxis CDROM XA"),
1849 .props = AV_CODEC_PROP_LOSSY,
1850 },
1851 {
1852 .id = AV_CODEC_ID_ADPCM_IMA_ISS,
1853 .type = AVMEDIA_TYPE_AUDIO,
1854 .name = "adpcm_ima_iss",
1855 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Funcom ISS"),
1856 .props = AV_CODEC_PROP_LOSSY,
1857 },
1858 {
1859 .id = AV_CODEC_ID_ADPCM_G722,
1860 .type = AVMEDIA_TYPE_AUDIO,
1861 .name = "adpcm_g722",
1862 .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
1863 .props = AV_CODEC_PROP_LOSSY,
1864 },
1865 {
1866 .id = AV_CODEC_ID_ADPCM_IMA_APC,
1867 .type = AVMEDIA_TYPE_AUDIO,
1868 .name = "adpcm_ima_apc",
1869 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
1870 .props = AV_CODEC_PROP_LOSSY,
1871 },
1872 {
1873 .id = AV_CODEC_ID_ADPCM_VIMA,
1874 .type = AVMEDIA_TYPE_AUDIO,
1875 .name = "adpcm_vima",
1876 .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
1877 .props = AV_CODEC_PROP_LOSSY,
1878 },
1879
1880 /* AMR */
1881 {
1882 .id = AV_CODEC_ID_AMR_NB,
1883 .type = AVMEDIA_TYPE_AUDIO,
1884 .name = "amr_nb",
1885 .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
1886 .props = AV_CODEC_PROP_LOSSY,
1887 },
1888 {
1889 .id = AV_CODEC_ID_AMR_WB,
1890 .type = AVMEDIA_TYPE_AUDIO,
1891 .name = "amr_wb",
1892 .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
1893 .props = AV_CODEC_PROP_LOSSY,
1894 },
1895
1896 /* RealAudio codecs*/
1897 {
1898 .id = AV_CODEC_ID_RA_144,
1899 .type = AVMEDIA_TYPE_AUDIO,
1900 .name = "ra_144",
1901 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
1902 .props = AV_CODEC_PROP_LOSSY,
1903 },
1904 {
1905 .id = AV_CODEC_ID_RA_288,
1906 .type = AVMEDIA_TYPE_AUDIO,
1907 .name = "ra_288",
1908 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
1909 .props = AV_CODEC_PROP_LOSSY,
1910 },
1911
1912 /* various DPCM codecs */
1913 {
1914 .id = AV_CODEC_ID_ROQ_DPCM,
1915 .type = AVMEDIA_TYPE_AUDIO,
1916 .name = "roq_dpcm",
1917 .long_name = NULL_IF_CONFIG_SMALL("DPCM id RoQ"),
1918 .props = AV_CODEC_PROP_LOSSY,
1919 },
1920 {
1921 .id = AV_CODEC_ID_INTERPLAY_DPCM,
1922 .type = AVMEDIA_TYPE_AUDIO,
1923 .name = "interplay_dpcm",
1924 .long_name = NULL_IF_CONFIG_SMALL("DPCM Interplay"),
1925 .props = AV_CODEC_PROP_LOSSY,
1926 },
1927 {
1928 .id = AV_CODEC_ID_XAN_DPCM,
1929 .type = AVMEDIA_TYPE_AUDIO,
1930 .name = "xan_dpcm",
1931 .long_name = NULL_IF_CONFIG_SMALL("DPCM Xan"),
1932 .props = AV_CODEC_PROP_LOSSY,
1933 },
1934 {
1935 .id = AV_CODEC_ID_SOL_DPCM,
1936 .type = AVMEDIA_TYPE_AUDIO,
1937 .name = "sol_dpcm",
1938 .long_name = NULL_IF_CONFIG_SMALL("DPCM Sol"),
1939 .props = AV_CODEC_PROP_LOSSY,
1940 },
1941
1942 /* audio codecs */
1943 {
1944 .id = AV_CODEC_ID_MP2,
1945 .type = AVMEDIA_TYPE_AUDIO,
1946 .name = "mp2",
1947 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
1948 .props = AV_CODEC_PROP_LOSSY,
1949 },
1950 {
1951 .id = AV_CODEC_ID_MP3,
1952 .type = AVMEDIA_TYPE_AUDIO,
1953 .name = "mp3",
1954 .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
1955 .props = AV_CODEC_PROP_LOSSY,
1956 },
1957 {
1958 .id = AV_CODEC_ID_AAC,
1959 .type = AVMEDIA_TYPE_AUDIO,
1960 .name = "aac",
1961 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
1962 .props = AV_CODEC_PROP_LOSSY,
1963 .profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
1964 },
1965 {
1966 .id = AV_CODEC_ID_AC3,
1967 .type = AVMEDIA_TYPE_AUDIO,
1968 .name = "ac3",
1969 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
1970 .props = AV_CODEC_PROP_LOSSY,
1971 },
1972 {
1973 .id = AV_CODEC_ID_DTS,
1974 .type = AVMEDIA_TYPE_AUDIO,
1975 .name = "dts",
1976 .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
1977 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
1978 .profiles = NULL_IF_CONFIG_SMALL(ff_dca_profiles),
1979 },
1980 {
1981 .id = AV_CODEC_ID_VORBIS,
1982 .type = AVMEDIA_TYPE_AUDIO,
1983 .name = "vorbis",
1984 .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
1985 .props = AV_CODEC_PROP_LOSSY,
1986 },
1987 {
1988 .id = AV_CODEC_ID_DVAUDIO,
1989 .type = AVMEDIA_TYPE_AUDIO,
1990 .name = "dvaudio",
1991 .long_name = NULL_IF_CONFIG_SMALL("DV audio"),
1992 .props = AV_CODEC_PROP_LOSSY,
1993 },
1994 {
1995 .id = AV_CODEC_ID_WMAV1,
1996 .type = AVMEDIA_TYPE_AUDIO,
1997 .name = "wmav1",
1998 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
1999 .props = AV_CODEC_PROP_LOSSY,
2000 },
2001 {
2002 .id = AV_CODEC_ID_WMAV2,
2003 .type = AVMEDIA_TYPE_AUDIO,
2004 .name = "wmav2",
2005 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
2006 .props = AV_CODEC_PROP_LOSSY,
2007 },
2008 {
2009 .id = AV_CODEC_ID_MACE3,
2010 .type = AVMEDIA_TYPE_AUDIO,
2011 .name = "mace3",
2012 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
2013 .props = AV_CODEC_PROP_LOSSY,
2014 },
2015 {
2016 .id = AV_CODEC_ID_MACE6,
2017 .type = AVMEDIA_TYPE_AUDIO,
2018 .name = "mace6",
2019 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
2020 .props = AV_CODEC_PROP_LOSSY,
2021 },
2022 {
2023 .id = AV_CODEC_ID_VMDAUDIO,
2024 .type = AVMEDIA_TYPE_AUDIO,
2025 .name = "vmdaudio",
2026 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
2027 .props = AV_CODEC_PROP_LOSSY,
2028 },
2029 {
2030 .id = AV_CODEC_ID_FLAC,
2031 .type = AVMEDIA_TYPE_AUDIO,
2032 .name = "flac",
2033 .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
2034 .props = AV_CODEC_PROP_LOSSLESS,
2035 },
2036 {
2037 .id = AV_CODEC_ID_MP3ADU,
2038 .type = AVMEDIA_TYPE_AUDIO,
2039 .name = "mp3adu",
2040 .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
2041 .props = AV_CODEC_PROP_LOSSY,
2042 },
2043 {
2044 .id = AV_CODEC_ID_MP3ON4,
2045 .type = AVMEDIA_TYPE_AUDIO,
2046 .name = "mp3on4",
2047 .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
2048 .props = AV_CODEC_PROP_LOSSY,
2049 },
2050 {
2051 .id = AV_CODEC_ID_SHORTEN,
2052 .type = AVMEDIA_TYPE_AUDIO,
2053 .name = "shorten",
2054 .long_name = NULL_IF_CONFIG_SMALL("Shorten"),
2055 .props = AV_CODEC_PROP_LOSSLESS,
2056 },
2057 {
2058 .id = AV_CODEC_ID_ALAC,
2059 .type = AVMEDIA_TYPE_AUDIO,
2060 .name = "alac",
2061 .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
2062 .props = AV_CODEC_PROP_LOSSLESS,
2063 },
2064 {
2065 .id = AV_CODEC_ID_WESTWOOD_SND1,
2066 .type = AVMEDIA_TYPE_AUDIO,
2067 .name = "westwood_snd1",
2068 .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
2069 .props = AV_CODEC_PROP_LOSSY,
2070 },
2071 {
2072 .id = AV_CODEC_ID_GSM,
2073 .type = AVMEDIA_TYPE_AUDIO,
2074 .name = "gsm",
2075 .long_name = NULL_IF_CONFIG_SMALL("GSM"),
2076 .props = AV_CODEC_PROP_LOSSY,
2077 },
2078 {
2079 .id = AV_CODEC_ID_QDM2,
2080 .type = AVMEDIA_TYPE_AUDIO,
2081 .name = "qdm2",
2082 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
2083 .props = AV_CODEC_PROP_LOSSY,
2084 },
2085 {
2086 .id = AV_CODEC_ID_COOK,
2087 .type = AVMEDIA_TYPE_AUDIO,
2088 .name = "cook",
2089 .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
2090 .props = AV_CODEC_PROP_LOSSY,
2091 },
2092 {
2093 .id = AV_CODEC_ID_TRUESPEECH,
2094 .type = AVMEDIA_TYPE_AUDIO,
2095 .name = "truespeech",
2096 .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
2097 .props = AV_CODEC_PROP_LOSSY,
2098 },
2099 {
2100 .id = AV_CODEC_ID_TTA,
2101 .type = AVMEDIA_TYPE_AUDIO,
2102 .name = "tta",
2103 .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
2104 .props = AV_CODEC_PROP_LOSSLESS,
2105 },
2106 {
2107 .id = AV_CODEC_ID_SMACKAUDIO,
2108 .type = AVMEDIA_TYPE_AUDIO,
2109 .name = "smackaudio",
2110 .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
2111 .props = AV_CODEC_PROP_LOSSY,
2112 },
2113 {
2114 .id = AV_CODEC_ID_QCELP,
2115 .type = AVMEDIA_TYPE_AUDIO,
2116 .name = "qcelp",
2117 .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
2118 .props = AV_CODEC_PROP_LOSSY,
2119 },
2120 {
2121 .id = AV_CODEC_ID_WAVPACK,
2122 .type = AVMEDIA_TYPE_AUDIO,
2123 .name = "wavpack",
2124 .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
2125 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
2126 },
2127 {
2128 .id = AV_CODEC_ID_DSICINAUDIO,
2129 .type = AVMEDIA_TYPE_AUDIO,
2130 .name = "dsicinaudio",
2131 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
2132 .props = AV_CODEC_PROP_LOSSY,
2133 },
2134 {
2135 .id = AV_CODEC_ID_IMC,
2136 .type = AVMEDIA_TYPE_AUDIO,
2137 .name = "imc",
2138 .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
2139 .props = AV_CODEC_PROP_LOSSY,
2140 },
2141 {
2142 .id = AV_CODEC_ID_MUSEPACK7,
2143 .type = AVMEDIA_TYPE_AUDIO,
2144 .name = "musepack7",
2145 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
2146 .props = AV_CODEC_PROP_LOSSY,
2147 },
2148 {
2149 .id = AV_CODEC_ID_MLP,
2150 .type = AVMEDIA_TYPE_AUDIO,
2151 .name = "mlp",
2152 .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
2153 .props = AV_CODEC_PROP_LOSSLESS,
2154 },
2155 {
2156 .id = AV_CODEC_ID_GSM_MS,
2157 .type = AVMEDIA_TYPE_AUDIO,
2158 .name = "gsm_ms",
2159 .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
2160 .props = AV_CODEC_PROP_LOSSY,
2161 },
2162 {
2163 .id = AV_CODEC_ID_ATRAC3,
2164 .type = AVMEDIA_TYPE_AUDIO,
2165 .name = "atrac3",
2166 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),
2167 .props = AV_CODEC_PROP_LOSSY,
2168 },
2169 {
2170 .id = AV_CODEC_ID_APE,
2171 .type = AVMEDIA_TYPE_AUDIO,
2172 .name = "ape",
2173 .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
2174 .props = AV_CODEC_PROP_LOSSLESS,
2175 },
2176 {
2177 .id = AV_CODEC_ID_NELLYMOSER,
2178 .type = AVMEDIA_TYPE_AUDIO,
2179 .name = "nellymoser",
2180 .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
2181 .props = AV_CODEC_PROP_LOSSY,
2182 },
2183 {
2184 .id = AV_CODEC_ID_MUSEPACK8,
2185 .type = AVMEDIA_TYPE_AUDIO,
2186 .name = "musepack8",
2187 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
2188 .props = AV_CODEC_PROP_LOSSY,
2189 },
2190 {
2191 .id = AV_CODEC_ID_SPEEX,
2192 .type = AVMEDIA_TYPE_AUDIO,
2193 .name = "speex",
2194 .long_name = NULL_IF_CONFIG_SMALL("Speex"),
2195 .props = AV_CODEC_PROP_LOSSY,
2196 },
2197 {
2198 .id = AV_CODEC_ID_WMAVOICE,
2199 .type = AVMEDIA_TYPE_AUDIO,
2200 .name = "wmavoice",
2201 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
2202 .props = AV_CODEC_PROP_LOSSY,
2203 },
2204 {
2205 .id = AV_CODEC_ID_WMAPRO,
2206 .type = AVMEDIA_TYPE_AUDIO,
2207 .name = "wmapro",
2208 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
2209 .props = AV_CODEC_PROP_LOSSY,
2210 },
2211 {
2212 .id = AV_CODEC_ID_WMALOSSLESS,
2213 .type = AVMEDIA_TYPE_AUDIO,
2214 .name = "wmalossless",
2215 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
2216 .props = AV_CODEC_PROP_LOSSLESS,
2217 },
2218 {
2219 .id = AV_CODEC_ID_ATRAC3P,
2220 .type = AVMEDIA_TYPE_AUDIO,
2221 .name = "atrac3p",
2222 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
2223 .props = AV_CODEC_PROP_LOSSY,
2224 },
2225 {
2226 .id = AV_CODEC_ID_EAC3,
2227 .type = AVMEDIA_TYPE_AUDIO,
2228 .name = "eac3",
2229 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
2230 .props = AV_CODEC_PROP_LOSSY,
2231 },
2232 {
2233 .id = AV_CODEC_ID_SIPR,
2234 .type = AVMEDIA_TYPE_AUDIO,
2235 .name = "sipr",
2236 .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
2237 .props = AV_CODEC_PROP_LOSSY,
2238 },
2239 {
2240 .id = AV_CODEC_ID_MP1,
2241 .type = AVMEDIA_TYPE_AUDIO,
2242 .name = "mp1",
2243 .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
2244 .props = AV_CODEC_PROP_LOSSY,
2245 },
2246 {
2247 .id = AV_CODEC_ID_TWINVQ,
2248 .type = AVMEDIA_TYPE_AUDIO,
2249 .name = "twinvq",
2250 .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
2251 .props = AV_CODEC_PROP_LOSSY,
2252 },
2253 {
2254 .id = AV_CODEC_ID_TRUEHD,
2255 .type = AVMEDIA_TYPE_AUDIO,
2256 .name = "truehd",
2257 .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
2258 .props = AV_CODEC_PROP_LOSSLESS,
2259 },
2260 {
2261 .id = AV_CODEC_ID_MP4ALS,
2262 .type = AVMEDIA_TYPE_AUDIO,
2263 .name = "mp4als",
2264 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
2265 .props = AV_CODEC_PROP_LOSSLESS,
2266 },
2267 {
2268 .id = AV_CODEC_ID_ATRAC1,
2269 .type = AVMEDIA_TYPE_AUDIO,
2270 .name = "atrac1",
2271 .long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),
2272 .props = AV_CODEC_PROP_LOSSY,
2273 },
2274 {
2275 .id = AV_CODEC_ID_BINKAUDIO_RDFT,
2276 .type = AVMEDIA_TYPE_AUDIO,
2277 .name = "binkaudio_rdft",
2278 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
2279 .props = AV_CODEC_PROP_LOSSY,
2280 },
2281 {
2282 .id = AV_CODEC_ID_BINKAUDIO_DCT,
2283 .type = AVMEDIA_TYPE_AUDIO,
2284 .name = "binkaudio_dct",
2285 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
2286 .props = AV_CODEC_PROP_LOSSY,
2287 },
2288 {
2289 .id = AV_CODEC_ID_AAC_LATM,
2290 .type = AVMEDIA_TYPE_AUDIO,
2291 .name = "aac_latm",
2292 .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
2293 .props = AV_CODEC_PROP_LOSSY,
2294 },
2295 {
2296 .id = AV_CODEC_ID_QDMC,
2297 .type = AVMEDIA_TYPE_AUDIO,
2298 .name = "qdmc",
2299 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music"),
2300 .props = AV_CODEC_PROP_LOSSY,
2301 },
2302 {
2303 .id = AV_CODEC_ID_CELT,
2304 .type = AVMEDIA_TYPE_AUDIO,
2305 .name = "celt",
2306 .long_name = NULL_IF_CONFIG_SMALL("Constrained Energy Lapped Transform (CELT)"),
2307 .props = AV_CODEC_PROP_LOSSY,
2308 },
2309 {
2310 .id = AV_CODEC_ID_G723_1,
2311 .type = AVMEDIA_TYPE_AUDIO,
2312 .name = "g723_1",
2313 .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
2314 .props = AV_CODEC_PROP_LOSSY,
2315 },
2316 {
2317 .id = AV_CODEC_ID_DSS_SP,
2318 .type = AVMEDIA_TYPE_AUDIO,
2319 .name = "dss_sp",
2320 .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
2321 .props = AV_CODEC_PROP_LOSSY,
2322 },
2323 {
2324 .id = AV_CODEC_ID_G729,
2325 .type = AVMEDIA_TYPE_AUDIO,
2326 .name = "g729",
2327 .long_name = NULL_IF_CONFIG_SMALL("G.729"),
2328 .props = AV_CODEC_PROP_LOSSY,
2329 },
2330 {
2331 .id = AV_CODEC_ID_8SVX_EXP,
2332 .type = AVMEDIA_TYPE_AUDIO,
2333 .name = "8svx_exp",
2334 .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
2335 .props = AV_CODEC_PROP_LOSSY,
2336 },
2337 {
2338 .id = AV_CODEC_ID_8SVX_FIB,
2339 .type = AVMEDIA_TYPE_AUDIO,
2340 .name = "8svx_fib",
2341 .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
2342 .props = AV_CODEC_PROP_LOSSY,
2343 },
2344 {
2345 .id = AV_CODEC_ID_BMV_AUDIO,
2346 .type = AVMEDIA_TYPE_AUDIO,
2347 .name = "bmv_audio",
2348 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
2349 .props = AV_CODEC_PROP_LOSSY,
2350 },
2351 {
2352 .id = AV_CODEC_ID_RALF,
2353 .type = AVMEDIA_TYPE_AUDIO,
2354 .name = "ralf",
2355 .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
2356 .props = AV_CODEC_PROP_LOSSLESS,
2357 },
2358 {
2359 .id = AV_CODEC_ID_IAC,
2360 .type = AVMEDIA_TYPE_AUDIO,
2361 .name = "iac",
2362 .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
2363 .props = AV_CODEC_PROP_LOSSY,
2364 },
2365 {
2366 .id = AV_CODEC_ID_ILBC,
2367 .type = AVMEDIA_TYPE_AUDIO,
2368 .name = "ilbc",
2369 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
2370 .props = AV_CODEC_PROP_LOSSY,
2371 },
2372 {
2373 .id = AV_CODEC_ID_OPUS,
2374 .type = AVMEDIA_TYPE_AUDIO,
2375 .name = "opus",
2376 .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec)"),
2377 .props = AV_CODEC_PROP_LOSSY,
2378 },
2379 {
2380 .id = AV_CODEC_ID_COMFORT_NOISE,
2381 .type = AVMEDIA_TYPE_AUDIO,
2382 .name = "comfortnoise",
2383 .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 Comfort Noise"),
2384 .props = AV_CODEC_PROP_LOSSY,
2385 },
2386 {
2387 .id = AV_CODEC_ID_TAK,
2388 .type = AVMEDIA_TYPE_AUDIO,
2389 .name = "tak",
2390 .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
2391 .props = AV_CODEC_PROP_LOSSLESS,
2392 },
2393 {
2394 .id = AV_CODEC_ID_METASOUND,
2395 .type = AVMEDIA_TYPE_AUDIO,
2396 .name = "metasound",
2397 .long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),
2398 .props = AV_CODEC_PROP_LOSSY,
2399 },
2400 {
2401 .id = AV_CODEC_ID_PAF_AUDIO,
2402 .type = AVMEDIA_TYPE_AUDIO,
2403 .name = "paf_audio",
2404 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
2405 .props = AV_CODEC_PROP_LOSSY,
2406 },
2407 {
2408 .id = AV_CODEC_ID_ON2AVC,
2409 .type = AVMEDIA_TYPE_AUDIO,
2410 .name = "avc",
2411 .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
2412 .props = AV_CODEC_PROP_LOSSY,
2413 },
2414
2415 /* subtitle codecs */
2416 {
2417 .id = AV_CODEC_ID_DVD_SUBTITLE,
2418 .type = AVMEDIA_TYPE_SUBTITLE,
2419 .name = "dvd_subtitle",
2420 .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
2421 },
2422 {
2423 .id = AV_CODEC_ID_DVB_SUBTITLE,
2424 .type = AVMEDIA_TYPE_SUBTITLE,
2425 .name = "dvb_subtitle",
2426 .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
2427 },
2428 {
2429 .id = AV_CODEC_ID_TEXT,
2430 .type = AVMEDIA_TYPE_SUBTITLE,
2431 .name = "text",
2432 .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"),
2433 },
2434 {
2435 .id = AV_CODEC_ID_XSUB,
2436 .type = AVMEDIA_TYPE_SUBTITLE,
2437 .name = "xsub",
2438 .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
2439 },
2440 {
2441 .id = AV_CODEC_ID_SSA,
2442 .type = AVMEDIA_TYPE_SUBTITLE,
2443 .name = "ssa",
2444 .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) / ASS (Advanced SSA) subtitle"),
2445 },
2446 {
2447 .id = AV_CODEC_ID_MOV_TEXT,
2448 .type = AVMEDIA_TYPE_SUBTITLE,
2449 .name = "mov_text",
2450 .long_name = NULL_IF_CONFIG_SMALL("MOV text"),
2451 },
2452 {
2453 .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
2454 .type = AVMEDIA_TYPE_SUBTITLE,
2455 .name = "hdmv_pgs_subtitle",
2456 .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
2457 },
2458 {
2459 .id = AV_CODEC_ID_DVB_TELETEXT,
2460 .type = AVMEDIA_TYPE_SUBTITLE,
2461 .name = "dvb_teletext",
2462 .long_name = NULL_IF_CONFIG_SMALL("DVB teletext"),
2463 },
2464 {
2465 .id = AV_CODEC_ID_SRT,
2466 .type = AVMEDIA_TYPE_SUBTITLE,
2467 .name = "srt",
2468 .long_name = NULL_IF_CONFIG_SMALL("SubRip Text"),
2469 },
2470 };
2471
2472 const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
2473 {
2474 int i;
2475
2476 for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
2477 if (codec_descriptors[i].id == id)
2478 return &codec_descriptors[i];
2479 return NULL;
2480 }
2481
2482 const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
2483 {
2484 if (!prev)
2485 return &codec_descriptors[0];
2486 if (prev - codec_descriptors < FF_ARRAY_ELEMS(codec_descriptors) - 1)
2487 return prev + 1;
2488 return NULL;
2489 }
2490
2491 const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name)
2492 {
2493 const AVCodecDescriptor *desc = NULL;
2494
2495 while ((desc = avcodec_descriptor_next(desc)))
2496 if (!strcmp(desc->name, name))
2497 return desc;
2498 return NULL;
2499 }
2500
2501 enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
2502 {
2503 const AVCodecDescriptor *desc = avcodec_descriptor_get(codec_id);
2504 return desc ? desc->type : AVMEDIA_TYPE_UNKNOWN;
2505 }