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