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