Imported Debian version 2.5.3~trusty1
[deb_ffmpeg.git] / ffmpeg / libavcodec / codec_desc.c
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
31 static 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 .id = AV_CODEC_ID_APNG,
1445 .type = AVMEDIA_TYPE_VIDEO,
1446 .name = "apng",
1447 .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
1448 .props = AV_CODEC_PROP_LOSSLESS,
1449 .mime_types= MT("image/png"),
1450 },
1451
1452 /* various PCM "codecs" */
1453 {
1454 .id = AV_CODEC_ID_PCM_S16LE,
1455 .type = AVMEDIA_TYPE_AUDIO,
1456 .name = "pcm_s16le",
1457 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian"),
1458 .props = AV_CODEC_PROP_LOSSLESS,
1459 },
1460 {
1461 .id = AV_CODEC_ID_PCM_S16BE,
1462 .type = AVMEDIA_TYPE_AUDIO,
1463 .name = "pcm_s16be",
1464 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian"),
1465 .props = AV_CODEC_PROP_LOSSLESS,
1466 },
1467 {
1468 .id = AV_CODEC_ID_PCM_U16LE,
1469 .type = AVMEDIA_TYPE_AUDIO,
1470 .name = "pcm_u16le",
1471 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit little-endian"),
1472 .props = AV_CODEC_PROP_LOSSLESS,
1473 },
1474 {
1475 .id = AV_CODEC_ID_PCM_U16BE,
1476 .type = AVMEDIA_TYPE_AUDIO,
1477 .name = "pcm_u16be",
1478 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit big-endian"),
1479 .props = AV_CODEC_PROP_LOSSLESS,
1480 },
1481 {
1482 .id = AV_CODEC_ID_PCM_S8,
1483 .type = AVMEDIA_TYPE_AUDIO,
1484 .name = "pcm_s8",
1485 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit"),
1486 .props = AV_CODEC_PROP_LOSSLESS,
1487 },
1488 {
1489 .id = AV_CODEC_ID_PCM_U8,
1490 .type = AVMEDIA_TYPE_AUDIO,
1491 .name = "pcm_u8",
1492 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 8-bit"),
1493 .props = AV_CODEC_PROP_LOSSLESS,
1494 },
1495 {
1496 .id = AV_CODEC_ID_PCM_MULAW,
1497 .type = AVMEDIA_TYPE_AUDIO,
1498 .name = "pcm_mulaw",
1499 .long_name = NULL_IF_CONFIG_SMALL("PCM mu-law / G.711 mu-law"),
1500 .props = AV_CODEC_PROP_LOSSY,
1501 },
1502 {
1503 .id = AV_CODEC_ID_PCM_ALAW,
1504 .type = AVMEDIA_TYPE_AUDIO,
1505 .name = "pcm_alaw",
1506 .long_name = NULL_IF_CONFIG_SMALL("PCM A-law / G.711 A-law"),
1507 .props = AV_CODEC_PROP_LOSSY,
1508 },
1509 {
1510 .id = AV_CODEC_ID_PCM_S32LE,
1511 .type = AVMEDIA_TYPE_AUDIO,
1512 .name = "pcm_s32le",
1513 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian"),
1514 .props = AV_CODEC_PROP_LOSSLESS,
1515 },
1516 {
1517 .id = AV_CODEC_ID_PCM_S32BE,
1518 .type = AVMEDIA_TYPE_AUDIO,
1519 .name = "pcm_s32be",
1520 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
1521 .props = AV_CODEC_PROP_LOSSLESS,
1522 },
1523 {
1524 .id = AV_CODEC_ID_PCM_U32LE,
1525 .type = AVMEDIA_TYPE_AUDIO,
1526 .name = "pcm_u32le",
1527 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit little-endian"),
1528 .props = AV_CODEC_PROP_LOSSLESS,
1529 },
1530 {
1531 .id = AV_CODEC_ID_PCM_U32BE,
1532 .type = AVMEDIA_TYPE_AUDIO,
1533 .name = "pcm_u32be",
1534 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit big-endian"),
1535 .props = AV_CODEC_PROP_LOSSLESS,
1536 },
1537 {
1538 .id = AV_CODEC_ID_PCM_S24LE,
1539 .type = AVMEDIA_TYPE_AUDIO,
1540 .name = "pcm_s24le",
1541 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian"),
1542 .props = AV_CODEC_PROP_LOSSLESS,
1543 },
1544 {
1545 .id = AV_CODEC_ID_PCM_S24BE,
1546 .type = AVMEDIA_TYPE_AUDIO,
1547 .name = "pcm_s24be",
1548 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit big-endian"),
1549 .props = AV_CODEC_PROP_LOSSLESS,
1550 },
1551 {
1552 .id = AV_CODEC_ID_PCM_U24LE,
1553 .type = AVMEDIA_TYPE_AUDIO,
1554 .name = "pcm_u24le",
1555 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit little-endian"),
1556 .props = AV_CODEC_PROP_LOSSLESS,
1557 },
1558 {
1559 .id = AV_CODEC_ID_PCM_U24BE,
1560 .type = AVMEDIA_TYPE_AUDIO,
1561 .name = "pcm_u24be",
1562 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit big-endian"),
1563 .props = AV_CODEC_PROP_LOSSLESS,
1564 },
1565 {
1566 .id = AV_CODEC_ID_PCM_S24DAUD,
1567 .type = AVMEDIA_TYPE_AUDIO,
1568 .name = "pcm_s24daud",
1569 .long_name = NULL_IF_CONFIG_SMALL("PCM D-Cinema audio signed 24-bit"),
1570 .props = AV_CODEC_PROP_LOSSLESS,
1571 },
1572 {
1573 .id = AV_CODEC_ID_PCM_ZORK,
1574 .type = AVMEDIA_TYPE_AUDIO,
1575 .name = "pcm_zork",
1576 .long_name = NULL_IF_CONFIG_SMALL("PCM Zork"),
1577 .props = AV_CODEC_PROP_LOSSY,
1578 },
1579 {
1580 .id = AV_CODEC_ID_PCM_S16BE_PLANAR,
1581 .type = AVMEDIA_TYPE_AUDIO,
1582 .name = "pcm_s16be_planar",
1583 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian planar"),
1584 .props = AV_CODEC_PROP_LOSSLESS,
1585 },
1586 {
1587 .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
1588 .type = AVMEDIA_TYPE_AUDIO,
1589 .name = "pcm_s16le_planar",
1590 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian planar"),
1591 .props = AV_CODEC_PROP_LOSSLESS,
1592 },
1593 {
1594 .id = AV_CODEC_ID_PCM_S24LE_PLANAR,
1595 .type = AVMEDIA_TYPE_AUDIO,
1596 .name = "pcm_s24le_planar",
1597 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar"),
1598 .props = AV_CODEC_PROP_LOSSLESS,
1599 },
1600 {
1601 .id = AV_CODEC_ID_PCM_S32LE_PLANAR,
1602 .type = AVMEDIA_TYPE_AUDIO,
1603 .name = "pcm_s32le_planar",
1604 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar"),
1605 .props = AV_CODEC_PROP_LOSSLESS,
1606 },
1607 {
1608 .id = AV_CODEC_ID_PCM_DVD,
1609 .type = AVMEDIA_TYPE_AUDIO,
1610 .name = "pcm_dvd",
1611 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
1612 .props = AV_CODEC_PROP_LOSSLESS,
1613 },
1614 {
1615 .id = AV_CODEC_ID_PCM_F32BE,
1616 .type = AVMEDIA_TYPE_AUDIO,
1617 .name = "pcm_f32be",
1618 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
1619 .props = AV_CODEC_PROP_LOSSLESS,
1620 },
1621 {
1622 .id = AV_CODEC_ID_PCM_F32LE,
1623 .type = AVMEDIA_TYPE_AUDIO,
1624 .name = "pcm_f32le",
1625 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
1626 .props = AV_CODEC_PROP_LOSSLESS,
1627 },
1628 {
1629 .id = AV_CODEC_ID_PCM_F64BE,
1630 .type = AVMEDIA_TYPE_AUDIO,
1631 .name = "pcm_f64be",
1632 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
1633 .props = AV_CODEC_PROP_LOSSLESS,
1634 },
1635 {
1636 .id = AV_CODEC_ID_PCM_F64LE,
1637 .type = AVMEDIA_TYPE_AUDIO,
1638 .name = "pcm_f64le",
1639 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
1640 .props = AV_CODEC_PROP_LOSSLESS,
1641 },
1642 {
1643 .id = AV_CODEC_ID_PCM_BLURAY,
1644 .type = AVMEDIA_TYPE_AUDIO,
1645 .name = "pcm_bluray",
1646 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
1647 .props = AV_CODEC_PROP_LOSSLESS,
1648 },
1649 {
1650 .id = AV_CODEC_ID_PCM_LXF,
1651 .type = AVMEDIA_TYPE_AUDIO,
1652 .name = "pcm_lxf",
1653 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
1654 .props = AV_CODEC_PROP_LOSSLESS,
1655 },
1656 {
1657 .id = AV_CODEC_ID_S302M,
1658 .type = AVMEDIA_TYPE_AUDIO,
1659 .name = "s302m",
1660 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
1661 .props = AV_CODEC_PROP_LOSSLESS,
1662 },
1663 {
1664 .id = AV_CODEC_ID_PCM_S8_PLANAR,
1665 .type = AVMEDIA_TYPE_AUDIO,
1666 .name = "pcm_s8_planar",
1667 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
1668 .props = AV_CODEC_PROP_LOSSLESS,
1669 },
1670
1671 /* various ADPCM codecs */
1672 {
1673 .id = AV_CODEC_ID_ADPCM_IMA_QT,
1674 .type = AVMEDIA_TYPE_AUDIO,
1675 .name = "adpcm_ima_qt",
1676 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA QuickTime"),
1677 .props = AV_CODEC_PROP_LOSSY,
1678 },
1679 {
1680 .id = AV_CODEC_ID_ADPCM_IMA_WAV,
1681 .type = AVMEDIA_TYPE_AUDIO,
1682 .name = "adpcm_ima_wav",
1683 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA WAV"),
1684 .props = AV_CODEC_PROP_LOSSY,
1685 },
1686 {
1687 .id = AV_CODEC_ID_ADPCM_IMA_DK3,
1688 .type = AVMEDIA_TYPE_AUDIO,
1689 .name = "adpcm_ima_dk3",
1690 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK3"),
1691 .props = AV_CODEC_PROP_LOSSY,
1692 },
1693 {
1694 .id = AV_CODEC_ID_ADPCM_IMA_DK4,
1695 .type = AVMEDIA_TYPE_AUDIO,
1696 .name = "adpcm_ima_dk4",
1697 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK4"),
1698 .props = AV_CODEC_PROP_LOSSY,
1699 },
1700 {
1701 .id = AV_CODEC_ID_ADPCM_IMA_WS,
1702 .type = AVMEDIA_TYPE_AUDIO,
1703 .name = "adpcm_ima_ws",
1704 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Westwood"),
1705 .props = AV_CODEC_PROP_LOSSY,
1706 },
1707 {
1708 .id = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
1709 .type = AVMEDIA_TYPE_AUDIO,
1710 .name = "adpcm_ima_smjpeg",
1711 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Loki SDL MJPEG"),
1712 .props = AV_CODEC_PROP_LOSSY,
1713 },
1714 {
1715 .id = AV_CODEC_ID_ADPCM_MS,
1716 .type = AVMEDIA_TYPE_AUDIO,
1717 .name = "adpcm_ms",
1718 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Microsoft"),
1719 .props = AV_CODEC_PROP_LOSSY,
1720 },
1721 {
1722 .id = AV_CODEC_ID_ADPCM_4XM,
1723 .type = AVMEDIA_TYPE_AUDIO,
1724 .name = "adpcm_4xm",
1725 .long_name = NULL_IF_CONFIG_SMALL("ADPCM 4X Movie"),
1726 .props = AV_CODEC_PROP_LOSSY,
1727 },
1728 {
1729 .id = AV_CODEC_ID_ADPCM_XA,
1730 .type = AVMEDIA_TYPE_AUDIO,
1731 .name = "adpcm_xa",
1732 .long_name = NULL_IF_CONFIG_SMALL("ADPCM CDROM XA"),
1733 .props = AV_CODEC_PROP_LOSSY,
1734 },
1735 {
1736 .id = AV_CODEC_ID_ADPCM_ADX,
1737 .type = AVMEDIA_TYPE_AUDIO,
1738 .name = "adpcm_adx",
1739 .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
1740 .props = AV_CODEC_PROP_LOSSY,
1741 },
1742 {
1743 .id = AV_CODEC_ID_ADPCM_EA,
1744 .type = AVMEDIA_TYPE_AUDIO,
1745 .name = "adpcm_ea",
1746 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts"),
1747 .props = AV_CODEC_PROP_LOSSY,
1748 },
1749 {
1750 .id = AV_CODEC_ID_ADPCM_G726,
1751 .type = AVMEDIA_TYPE_AUDIO,
1752 .name = "adpcm_g726",
1753 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
1754 .props = AV_CODEC_PROP_LOSSY,
1755 },
1756 {
1757 .id = AV_CODEC_ID_ADPCM_CT,
1758 .type = AVMEDIA_TYPE_AUDIO,
1759 .name = "adpcm_ct",
1760 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Creative Technology"),
1761 .props = AV_CODEC_PROP_LOSSY,
1762 },
1763 {
1764 .id = AV_CODEC_ID_ADPCM_SWF,
1765 .type = AVMEDIA_TYPE_AUDIO,
1766 .name = "adpcm_swf",
1767 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Shockwave Flash"),
1768 .props = AV_CODEC_PROP_LOSSY,
1769 },
1770 {
1771 .id = AV_CODEC_ID_ADPCM_YAMAHA,
1772 .type = AVMEDIA_TYPE_AUDIO,
1773 .name = "adpcm_yamaha",
1774 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha"),
1775 .props = AV_CODEC_PROP_LOSSY,
1776 },
1777 {
1778 .id = AV_CODEC_ID_ADPCM_SBPRO_4,
1779 .type = AVMEDIA_TYPE_AUDIO,
1780 .name = "adpcm_sbpro_4",
1781 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 4-bit"),
1782 .props = AV_CODEC_PROP_LOSSY,
1783 },
1784 {
1785 .id = AV_CODEC_ID_ADPCM_SBPRO_3,
1786 .type = AVMEDIA_TYPE_AUDIO,
1787 .name = "adpcm_sbpro_3",
1788 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2.6-bit"),
1789 .props = AV_CODEC_PROP_LOSSY,
1790 },
1791 {
1792 .id = AV_CODEC_ID_ADPCM_SBPRO_2,
1793 .type = AVMEDIA_TYPE_AUDIO,
1794 .name = "adpcm_sbpro_2",
1795 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2-bit"),
1796 .props = AV_CODEC_PROP_LOSSY,
1797 },
1798 {
1799 .id = AV_CODEC_ID_ADPCM_THP,
1800 .type = AVMEDIA_TYPE_AUDIO,
1801 .name = "adpcm_thp",
1802 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube THP"),
1803 .props = AV_CODEC_PROP_LOSSY,
1804 },
1805 {
1806 .id = AV_CODEC_ID_ADPCM_IMA_AMV,
1807 .type = AVMEDIA_TYPE_AUDIO,
1808 .name = "adpcm_ima_amv",
1809 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA AMV"),
1810 .props = AV_CODEC_PROP_LOSSY,
1811 },
1812 {
1813 .id = AV_CODEC_ID_ADPCM_EA_R1,
1814 .type = AVMEDIA_TYPE_AUDIO,
1815 .name = "adpcm_ea_r1",
1816 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R1"),
1817 .props = AV_CODEC_PROP_LOSSY,
1818 },
1819 {
1820 .id = AV_CODEC_ID_ADPCM_EA_R3,
1821 .type = AVMEDIA_TYPE_AUDIO,
1822 .name = "adpcm_ea_r3",
1823 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R3"),
1824 .props = AV_CODEC_PROP_LOSSY,
1825 },
1826 {
1827 .id = AV_CODEC_ID_ADPCM_EA_R2,
1828 .type = AVMEDIA_TYPE_AUDIO,
1829 .name = "adpcm_ea_r2",
1830 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R2"),
1831 .props = AV_CODEC_PROP_LOSSY,
1832 },
1833 {
1834 .id = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
1835 .type = AVMEDIA_TYPE_AUDIO,
1836 .name = "adpcm_ima_ea_sead",
1837 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts SEAD"),
1838 .props = AV_CODEC_PROP_LOSSY,
1839 },
1840 {
1841 .id = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
1842 .type = AVMEDIA_TYPE_AUDIO,
1843 .name = "adpcm_ima_ea_eacs",
1844 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts EACS"),
1845 .props = AV_CODEC_PROP_LOSSY,
1846 },
1847 {
1848 .id = AV_CODEC_ID_ADPCM_EA_XAS,
1849 .type = AVMEDIA_TYPE_AUDIO,
1850 .name = "adpcm_ea_xas",
1851 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts XAS"),
1852 .props = AV_CODEC_PROP_LOSSY,
1853 },
1854 {
1855 .id = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
1856 .type = AVMEDIA_TYPE_AUDIO,
1857 .name = "adpcm_ea_maxis_xa",
1858 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts Maxis CDROM XA"),
1859 .props = AV_CODEC_PROP_LOSSY,
1860 },
1861 {
1862 .id = AV_CODEC_ID_ADPCM_IMA_ISS,
1863 .type = AVMEDIA_TYPE_AUDIO,
1864 .name = "adpcm_ima_iss",
1865 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Funcom ISS"),
1866 .props = AV_CODEC_PROP_LOSSY,
1867 },
1868 {
1869 .id = AV_CODEC_ID_ADPCM_G722,
1870 .type = AVMEDIA_TYPE_AUDIO,
1871 .name = "adpcm_g722",
1872 .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
1873 .props = AV_CODEC_PROP_LOSSY,
1874 },
1875 {
1876 .id = AV_CODEC_ID_ADPCM_IMA_APC,
1877 .type = AVMEDIA_TYPE_AUDIO,
1878 .name = "adpcm_ima_apc",
1879 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
1880 .props = AV_CODEC_PROP_LOSSY,
1881 },
1882 {
1883 .id = AV_CODEC_ID_ADPCM_AFC,
1884 .type = AVMEDIA_TYPE_AUDIO,
1885 .name = "adpcm_afc",
1886 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube AFC"),
1887 .props = AV_CODEC_PROP_LOSSY,
1888 },
1889 {
1890 .id = AV_CODEC_ID_ADPCM_IMA_OKI,
1891 .type = AVMEDIA_TYPE_AUDIO,
1892 .name = "adpcm_ima_oki",
1893 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Dialogic OKI"),
1894 .props = AV_CODEC_PROP_LOSSY,
1895 },
1896 {
1897 .id = AV_CODEC_ID_ADPCM_DTK,
1898 .type = AVMEDIA_TYPE_AUDIO,
1899 .name = "adpcm_dtk",
1900 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube DTK"),
1901 .props = AV_CODEC_PROP_LOSSY,
1902 },
1903 {
1904 .id = AV_CODEC_ID_ADPCM_IMA_RAD,
1905 .type = AVMEDIA_TYPE_AUDIO,
1906 .name = "adpcm_ima_rad",
1907 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Radical"),
1908 .props = AV_CODEC_PROP_LOSSY,
1909 },
1910 {
1911 .id = AV_CODEC_ID_ADPCM_G726LE,
1912 .type = AVMEDIA_TYPE_AUDIO,
1913 .name = "adpcm_g726le",
1914 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),
1915 .props = AV_CODEC_PROP_LOSSY,
1916 },
1917 {
1918 .id = AV_CODEC_ID_ADPCM_VIMA,
1919 .type = AVMEDIA_TYPE_AUDIO,
1920 .name = "adpcm_vima",
1921 .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
1922 .props = AV_CODEC_PROP_LOSSY,
1923 },
1924
1925 /* AMR */
1926 {
1927 .id = AV_CODEC_ID_AMR_NB,
1928 .type = AVMEDIA_TYPE_AUDIO,
1929 .name = "amr_nb",
1930 .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
1931 .props = AV_CODEC_PROP_LOSSY,
1932 },
1933 {
1934 .id = AV_CODEC_ID_AMR_WB,
1935 .type = AVMEDIA_TYPE_AUDIO,
1936 .name = "amr_wb",
1937 .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
1938 .props = AV_CODEC_PROP_LOSSY,
1939 },
1940
1941 /* RealAudio codecs*/
1942 {
1943 .id = AV_CODEC_ID_RA_144,
1944 .type = AVMEDIA_TYPE_AUDIO,
1945 .name = "ra_144",
1946 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
1947 .props = AV_CODEC_PROP_LOSSY,
1948 },
1949 {
1950 .id = AV_CODEC_ID_RA_288,
1951 .type = AVMEDIA_TYPE_AUDIO,
1952 .name = "ra_288",
1953 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
1954 .props = AV_CODEC_PROP_LOSSY,
1955 },
1956
1957 /* various DPCM codecs */
1958 {
1959 .id = AV_CODEC_ID_ROQ_DPCM,
1960 .type = AVMEDIA_TYPE_AUDIO,
1961 .name = "roq_dpcm",
1962 .long_name = NULL_IF_CONFIG_SMALL("DPCM id RoQ"),
1963 .props = AV_CODEC_PROP_LOSSY,
1964 },
1965 {
1966 .id = AV_CODEC_ID_INTERPLAY_DPCM,
1967 .type = AVMEDIA_TYPE_AUDIO,
1968 .name = "interplay_dpcm",
1969 .long_name = NULL_IF_CONFIG_SMALL("DPCM Interplay"),
1970 .props = AV_CODEC_PROP_LOSSY,
1971 },
1972 {
1973 .id = AV_CODEC_ID_XAN_DPCM,
1974 .type = AVMEDIA_TYPE_AUDIO,
1975 .name = "xan_dpcm",
1976 .long_name = NULL_IF_CONFIG_SMALL("DPCM Xan"),
1977 .props = AV_CODEC_PROP_LOSSY,
1978 },
1979 {
1980 .id = AV_CODEC_ID_SOL_DPCM,
1981 .type = AVMEDIA_TYPE_AUDIO,
1982 .name = "sol_dpcm",
1983 .long_name = NULL_IF_CONFIG_SMALL("DPCM Sol"),
1984 .props = AV_CODEC_PROP_LOSSY,
1985 },
1986
1987 /* audio codecs */
1988 {
1989 .id = AV_CODEC_ID_MP2,
1990 .type = AVMEDIA_TYPE_AUDIO,
1991 .name = "mp2",
1992 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
1993 .props = AV_CODEC_PROP_LOSSY,
1994 },
1995 {
1996 .id = AV_CODEC_ID_MP3,
1997 .type = AVMEDIA_TYPE_AUDIO,
1998 .name = "mp3",
1999 .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
2000 .props = AV_CODEC_PROP_LOSSY,
2001 },
2002 {
2003 .id = AV_CODEC_ID_AAC,
2004 .type = AVMEDIA_TYPE_AUDIO,
2005 .name = "aac",
2006 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
2007 .props = AV_CODEC_PROP_LOSSY,
2008 },
2009 {
2010 .id = AV_CODEC_ID_AC3,
2011 .type = AVMEDIA_TYPE_AUDIO,
2012 .name = "ac3",
2013 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
2014 .props = AV_CODEC_PROP_LOSSY,
2015 },
2016 {
2017 .id = AV_CODEC_ID_DTS,
2018 .type = AVMEDIA_TYPE_AUDIO,
2019 .name = "dts",
2020 .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
2021 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
2022 },
2023 {
2024 .id = AV_CODEC_ID_VORBIS,
2025 .type = AVMEDIA_TYPE_AUDIO,
2026 .name = "vorbis",
2027 .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
2028 .props = AV_CODEC_PROP_LOSSY,
2029 },
2030 {
2031 .id = AV_CODEC_ID_DVAUDIO,
2032 .type = AVMEDIA_TYPE_AUDIO,
2033 .name = "dvaudio",
2034 .long_name = NULL_IF_CONFIG_SMALL("DV audio"),
2035 .props = AV_CODEC_PROP_LOSSY,
2036 },
2037 {
2038 .id = AV_CODEC_ID_WMAV1,
2039 .type = AVMEDIA_TYPE_AUDIO,
2040 .name = "wmav1",
2041 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
2042 .props = AV_CODEC_PROP_LOSSY,
2043 },
2044 {
2045 .id = AV_CODEC_ID_WMAV2,
2046 .type = AVMEDIA_TYPE_AUDIO,
2047 .name = "wmav2",
2048 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
2049 .props = AV_CODEC_PROP_LOSSY,
2050 },
2051 {
2052 .id = AV_CODEC_ID_MACE3,
2053 .type = AVMEDIA_TYPE_AUDIO,
2054 .name = "mace3",
2055 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
2056 .props = AV_CODEC_PROP_LOSSY,
2057 },
2058 {
2059 .id = AV_CODEC_ID_MACE6,
2060 .type = AVMEDIA_TYPE_AUDIO,
2061 .name = "mace6",
2062 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
2063 .props = AV_CODEC_PROP_LOSSY,
2064 },
2065 {
2066 .id = AV_CODEC_ID_VMDAUDIO,
2067 .type = AVMEDIA_TYPE_AUDIO,
2068 .name = "vmdaudio",
2069 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
2070 .props = AV_CODEC_PROP_LOSSY,
2071 },
2072 {
2073 .id = AV_CODEC_ID_FLAC,
2074 .type = AVMEDIA_TYPE_AUDIO,
2075 .name = "flac",
2076 .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
2077 .props = AV_CODEC_PROP_LOSSLESS,
2078 },
2079 {
2080 .id = AV_CODEC_ID_MP3ADU,
2081 .type = AVMEDIA_TYPE_AUDIO,
2082 .name = "mp3adu",
2083 .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
2084 .props = AV_CODEC_PROP_LOSSY,
2085 },
2086 {
2087 .id = AV_CODEC_ID_MP3ON4,
2088 .type = AVMEDIA_TYPE_AUDIO,
2089 .name = "mp3on4",
2090 .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
2091 .props = AV_CODEC_PROP_LOSSY,
2092 },
2093 {
2094 .id = AV_CODEC_ID_SHORTEN,
2095 .type = AVMEDIA_TYPE_AUDIO,
2096 .name = "shorten",
2097 .long_name = NULL_IF_CONFIG_SMALL("Shorten"),
2098 .props = AV_CODEC_PROP_LOSSLESS,
2099 },
2100 {
2101 .id = AV_CODEC_ID_ALAC,
2102 .type = AVMEDIA_TYPE_AUDIO,
2103 .name = "alac",
2104 .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
2105 .props = AV_CODEC_PROP_LOSSLESS,
2106 },
2107 {
2108 .id = AV_CODEC_ID_WESTWOOD_SND1,
2109 .type = AVMEDIA_TYPE_AUDIO,
2110 .name = "westwood_snd1",
2111 .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
2112 .props = AV_CODEC_PROP_LOSSY,
2113 },
2114 {
2115 .id = AV_CODEC_ID_GSM,
2116 .type = AVMEDIA_TYPE_AUDIO,
2117 .name = "gsm",
2118 .long_name = NULL_IF_CONFIG_SMALL("GSM"),
2119 .props = AV_CODEC_PROP_LOSSY,
2120 },
2121 {
2122 .id = AV_CODEC_ID_QDM2,
2123 .type = AVMEDIA_TYPE_AUDIO,
2124 .name = "qdm2",
2125 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
2126 .props = AV_CODEC_PROP_LOSSY,
2127 },
2128 {
2129 .id = AV_CODEC_ID_COOK,
2130 .type = AVMEDIA_TYPE_AUDIO,
2131 .name = "cook",
2132 .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
2133 .props = AV_CODEC_PROP_LOSSY,
2134 },
2135 {
2136 .id = AV_CODEC_ID_TRUESPEECH,
2137 .type = AVMEDIA_TYPE_AUDIO,
2138 .name = "truespeech",
2139 .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
2140 .props = AV_CODEC_PROP_LOSSY,
2141 },
2142 {
2143 .id = AV_CODEC_ID_TTA,
2144 .type = AVMEDIA_TYPE_AUDIO,
2145 .name = "tta",
2146 .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
2147 .props = AV_CODEC_PROP_LOSSLESS,
2148 },
2149 {
2150 .id = AV_CODEC_ID_SMACKAUDIO,
2151 .type = AVMEDIA_TYPE_AUDIO,
2152 .name = "smackaudio",
2153 .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
2154 .props = AV_CODEC_PROP_LOSSY,
2155 },
2156 {
2157 .id = AV_CODEC_ID_QCELP,
2158 .type = AVMEDIA_TYPE_AUDIO,
2159 .name = "qcelp",
2160 .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
2161 .props = AV_CODEC_PROP_LOSSY,
2162 },
2163 {
2164 .id = AV_CODEC_ID_WAVPACK,
2165 .type = AVMEDIA_TYPE_AUDIO,
2166 .name = "wavpack",
2167 .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
2168 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
2169 },
2170 {
2171 .id = AV_CODEC_ID_DSICINAUDIO,
2172 .type = AVMEDIA_TYPE_AUDIO,
2173 .name = "dsicinaudio",
2174 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
2175 .props = AV_CODEC_PROP_LOSSY,
2176 },
2177 {
2178 .id = AV_CODEC_ID_IMC,
2179 .type = AVMEDIA_TYPE_AUDIO,
2180 .name = "imc",
2181 .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
2182 .props = AV_CODEC_PROP_LOSSY,
2183 },
2184 {
2185 .id = AV_CODEC_ID_MUSEPACK7,
2186 .type = AVMEDIA_TYPE_AUDIO,
2187 .name = "musepack7",
2188 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
2189 .props = AV_CODEC_PROP_LOSSY,
2190 },
2191 {
2192 .id = AV_CODEC_ID_MLP,
2193 .type = AVMEDIA_TYPE_AUDIO,
2194 .name = "mlp",
2195 .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
2196 .props = AV_CODEC_PROP_LOSSLESS,
2197 },
2198 {
2199 .id = AV_CODEC_ID_GSM_MS,
2200 .type = AVMEDIA_TYPE_AUDIO,
2201 .name = "gsm_ms",
2202 .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
2203 .props = AV_CODEC_PROP_LOSSY,
2204 },
2205 {
2206 .id = AV_CODEC_ID_ATRAC3,
2207 .type = AVMEDIA_TYPE_AUDIO,
2208 .name = "atrac3",
2209 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),
2210 .props = AV_CODEC_PROP_LOSSY,
2211 },
2212 #if FF_API_VOXWARE
2213 {
2214 .id = AV_CODEC_ID_VOXWARE,
2215 .type = AVMEDIA_TYPE_AUDIO,
2216 .name = "voxware",
2217 .long_name = NULL_IF_CONFIG_SMALL("Voxware RT29 Metasound"),
2218 .props = AV_CODEC_PROP_LOSSY,
2219 },
2220 #endif
2221 {
2222 .id = AV_CODEC_ID_APE,
2223 .type = AVMEDIA_TYPE_AUDIO,
2224 .name = "ape",
2225 .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
2226 .props = AV_CODEC_PROP_LOSSLESS,
2227 },
2228 {
2229 .id = AV_CODEC_ID_NELLYMOSER,
2230 .type = AVMEDIA_TYPE_AUDIO,
2231 .name = "nellymoser",
2232 .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
2233 .props = AV_CODEC_PROP_LOSSY,
2234 },
2235 {
2236 .id = AV_CODEC_ID_MUSEPACK8,
2237 .type = AVMEDIA_TYPE_AUDIO,
2238 .name = "musepack8",
2239 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
2240 .props = AV_CODEC_PROP_LOSSY,
2241 },
2242 {
2243 .id = AV_CODEC_ID_SPEEX,
2244 .type = AVMEDIA_TYPE_AUDIO,
2245 .name = "speex",
2246 .long_name = NULL_IF_CONFIG_SMALL("Speex"),
2247 .props = AV_CODEC_PROP_LOSSY,
2248 },
2249 {
2250 .id = AV_CODEC_ID_WMAVOICE,
2251 .type = AVMEDIA_TYPE_AUDIO,
2252 .name = "wmavoice",
2253 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
2254 .props = AV_CODEC_PROP_LOSSY,
2255 },
2256 {
2257 .id = AV_CODEC_ID_WMAPRO,
2258 .type = AVMEDIA_TYPE_AUDIO,
2259 .name = "wmapro",
2260 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
2261 .props = AV_CODEC_PROP_LOSSY,
2262 },
2263 {
2264 .id = AV_CODEC_ID_WMALOSSLESS,
2265 .type = AVMEDIA_TYPE_AUDIO,
2266 .name = "wmalossless",
2267 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
2268 .props = AV_CODEC_PROP_LOSSLESS,
2269 },
2270 {
2271 .id = AV_CODEC_ID_ATRAC3P,
2272 .type = AVMEDIA_TYPE_AUDIO,
2273 .name = "atrac3p",
2274 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
2275 .props = AV_CODEC_PROP_LOSSY,
2276 },
2277 {
2278 .id = AV_CODEC_ID_EAC3,
2279 .type = AVMEDIA_TYPE_AUDIO,
2280 .name = "eac3",
2281 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
2282 .props = AV_CODEC_PROP_LOSSY,
2283 },
2284 {
2285 .id = AV_CODEC_ID_SIPR,
2286 .type = AVMEDIA_TYPE_AUDIO,
2287 .name = "sipr",
2288 .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
2289 .props = AV_CODEC_PROP_LOSSY,
2290 },
2291 {
2292 .id = AV_CODEC_ID_MP1,
2293 .type = AVMEDIA_TYPE_AUDIO,
2294 .name = "mp1",
2295 .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
2296 .props = AV_CODEC_PROP_LOSSY,
2297 },
2298 {
2299 .id = AV_CODEC_ID_TWINVQ,
2300 .type = AVMEDIA_TYPE_AUDIO,
2301 .name = "twinvq",
2302 .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
2303 .props = AV_CODEC_PROP_LOSSY,
2304 },
2305 {
2306 .id = AV_CODEC_ID_TRUEHD,
2307 .type = AVMEDIA_TYPE_AUDIO,
2308 .name = "truehd",
2309 .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
2310 .props = AV_CODEC_PROP_LOSSLESS,
2311 },
2312 {
2313 .id = AV_CODEC_ID_MP4ALS,
2314 .type = AVMEDIA_TYPE_AUDIO,
2315 .name = "mp4als",
2316 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
2317 .props = AV_CODEC_PROP_LOSSLESS,
2318 },
2319 {
2320 .id = AV_CODEC_ID_ATRAC1,
2321 .type = AVMEDIA_TYPE_AUDIO,
2322 .name = "atrac1",
2323 .long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),
2324 .props = AV_CODEC_PROP_LOSSY,
2325 },
2326 {
2327 .id = AV_CODEC_ID_BINKAUDIO_RDFT,
2328 .type = AVMEDIA_TYPE_AUDIO,
2329 .name = "binkaudio_rdft",
2330 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
2331 .props = AV_CODEC_PROP_LOSSY,
2332 },
2333 {
2334 .id = AV_CODEC_ID_BINKAUDIO_DCT,
2335 .type = AVMEDIA_TYPE_AUDIO,
2336 .name = "binkaudio_dct",
2337 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
2338 .props = AV_CODEC_PROP_LOSSY,
2339 },
2340 {
2341 .id = AV_CODEC_ID_AAC_LATM,
2342 .type = AVMEDIA_TYPE_AUDIO,
2343 .name = "aac_latm",
2344 .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
2345 .props = AV_CODEC_PROP_LOSSY,
2346 },
2347 {
2348 .id = AV_CODEC_ID_QDMC,
2349 .type = AVMEDIA_TYPE_AUDIO,
2350 .name = "qdmc",
2351 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music"),
2352 .props = AV_CODEC_PROP_LOSSY,
2353 },
2354 {
2355 .id = AV_CODEC_ID_CELT,
2356 .type = AVMEDIA_TYPE_AUDIO,
2357 .name = "celt",
2358 .long_name = NULL_IF_CONFIG_SMALL("Constrained Energy Lapped Transform (CELT)"),
2359 .props = AV_CODEC_PROP_LOSSY,
2360 },
2361 {
2362 .id = AV_CODEC_ID_G723_1,
2363 .type = AVMEDIA_TYPE_AUDIO,
2364 .name = "g723_1",
2365 .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
2366 .props = AV_CODEC_PROP_LOSSY,
2367 },
2368 {
2369 .id = AV_CODEC_ID_G729,
2370 .type = AVMEDIA_TYPE_AUDIO,
2371 .name = "g729",
2372 .long_name = NULL_IF_CONFIG_SMALL("G.729"),
2373 .props = AV_CODEC_PROP_LOSSY,
2374 },
2375 {
2376 .id = AV_CODEC_ID_8SVX_EXP,
2377 .type = AVMEDIA_TYPE_AUDIO,
2378 .name = "8svx_exp",
2379 .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
2380 .props = AV_CODEC_PROP_LOSSY,
2381 },
2382 {
2383 .id = AV_CODEC_ID_8SVX_FIB,
2384 .type = AVMEDIA_TYPE_AUDIO,
2385 .name = "8svx_fib",
2386 .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
2387 .props = AV_CODEC_PROP_LOSSY,
2388 },
2389 {
2390 .id = AV_CODEC_ID_BMV_AUDIO,
2391 .type = AVMEDIA_TYPE_AUDIO,
2392 .name = "bmv_audio",
2393 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
2394 .props = AV_CODEC_PROP_LOSSY,
2395 },
2396 {
2397 .id = AV_CODEC_ID_RALF,
2398 .type = AVMEDIA_TYPE_AUDIO,
2399 .name = "ralf",
2400 .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
2401 .props = AV_CODEC_PROP_LOSSLESS,
2402 },
2403 {
2404 .id = AV_CODEC_ID_IAC,
2405 .type = AVMEDIA_TYPE_AUDIO,
2406 .name = "iac",
2407 .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
2408 .props = AV_CODEC_PROP_LOSSY,
2409 },
2410 {
2411 .id = AV_CODEC_ID_ILBC,
2412 .type = AVMEDIA_TYPE_AUDIO,
2413 .name = "ilbc",
2414 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
2415 .props = AV_CODEC_PROP_LOSSY,
2416 },
2417 {
2418 .id = AV_CODEC_ID_FFWAVESYNTH,
2419 .type = AVMEDIA_TYPE_AUDIO,
2420 .name = "wavesynth",
2421 .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
2422 },
2423 {
2424 .id = AV_CODEC_ID_SONIC,
2425 .type = AVMEDIA_TYPE_AUDIO,
2426 .name = "sonic",
2427 .long_name = NULL_IF_CONFIG_SMALL("Sonic"),
2428 },
2429 {
2430 .id = AV_CODEC_ID_SONIC_LS,
2431 .type = AVMEDIA_TYPE_AUDIO,
2432 .name = "sonicls",
2433 .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
2434 },
2435 {
2436 .id = AV_CODEC_ID_OPUS,
2437 .type = AVMEDIA_TYPE_AUDIO,
2438 .name = "opus",
2439 .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec)"),
2440 .props = AV_CODEC_PROP_LOSSY,
2441 },
2442 {
2443 .id = AV_CODEC_ID_COMFORT_NOISE,
2444 .type = AVMEDIA_TYPE_AUDIO,
2445 .name = "comfortnoise",
2446 .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 Comfort Noise"),
2447 .props = AV_CODEC_PROP_LOSSY,
2448 },
2449 {
2450 .id = AV_CODEC_ID_TAK,
2451 .type = AVMEDIA_TYPE_AUDIO,
2452 .name = "tak",
2453 .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
2454 .props = AV_CODEC_PROP_LOSSLESS,
2455 },
2456 {
2457 .id = AV_CODEC_ID_METASOUND,
2458 .type = AVMEDIA_TYPE_AUDIO,
2459 .name = "metasound",
2460 .long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),
2461 .props = AV_CODEC_PROP_LOSSY,
2462 },
2463 {
2464 .id = AV_CODEC_ID_PAF_AUDIO,
2465 .type = AVMEDIA_TYPE_AUDIO,
2466 .name = "paf_audio",
2467 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
2468 .props = AV_CODEC_PROP_LOSSY,
2469 },
2470 {
2471 .id = AV_CODEC_ID_ON2AVC,
2472 .type = AVMEDIA_TYPE_AUDIO,
2473 .name = "avc",
2474 .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
2475 .props = AV_CODEC_PROP_LOSSY,
2476 },
2477 {
2478 .id = AV_CODEC_ID_EVRC,
2479 .type = AVMEDIA_TYPE_AUDIO,
2480 .name = "evrc",
2481 .long_name = NULL_IF_CONFIG_SMALL("EVRC (Enhanced Variable Rate Codec)"),
2482 .props = AV_CODEC_PROP_LOSSY,
2483 },
2484 {
2485 .id = AV_CODEC_ID_SMV,
2486 .type = AVMEDIA_TYPE_AUDIO,
2487 .name = "smv",
2488 .long_name = NULL_IF_CONFIG_SMALL("SMV (Selectable Mode Vocoder)"),
2489 .props = AV_CODEC_PROP_LOSSY,
2490 },
2491 {
2492 .id = AV_CODEC_ID_DSD_LSBF,
2493 .type = AVMEDIA_TYPE_AUDIO,
2494 .name = "dsd_lsbf",
2495 .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first"),
2496 .props = AV_CODEC_PROP_LOSSY,
2497 },
2498 {
2499 .id = AV_CODEC_ID_DSD_MSBF,
2500 .type = AVMEDIA_TYPE_AUDIO,
2501 .name = "dsd_msbf",
2502 .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first"),
2503 .props = AV_CODEC_PROP_LOSSY,
2504 },
2505 {
2506 .id = AV_CODEC_ID_DSD_LSBF_PLANAR,
2507 .type = AVMEDIA_TYPE_AUDIO,
2508 .name = "dsd_lsbf_planar",
2509 .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), least significant bit first, planar"),
2510 .props = AV_CODEC_PROP_LOSSY,
2511 },
2512 {
2513 .id = AV_CODEC_ID_DSD_MSBF_PLANAR,
2514 .type = AVMEDIA_TYPE_AUDIO,
2515 .name = "dsd_msbf_planar",
2516 .long_name = NULL_IF_CONFIG_SMALL("DSD (Direct Stream Digital), most significant bit first, planar"),
2517 .props = AV_CODEC_PROP_LOSSY,
2518 },
2519
2520 /* subtitle codecs */
2521 {
2522 .id = AV_CODEC_ID_DVD_SUBTITLE,
2523 .type = AVMEDIA_TYPE_SUBTITLE,
2524 .name = "dvd_subtitle",
2525 .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
2526 .props = AV_CODEC_PROP_BITMAP_SUB,
2527 },
2528 {
2529 .id = AV_CODEC_ID_DVB_SUBTITLE,
2530 .type = AVMEDIA_TYPE_SUBTITLE,
2531 .name = "dvb_subtitle",
2532 .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
2533 .props = AV_CODEC_PROP_BITMAP_SUB,
2534 },
2535 {
2536 .id = AV_CODEC_ID_TEXT,
2537 .type = AVMEDIA_TYPE_SUBTITLE,
2538 .name = "text",
2539 .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"),
2540 .props = AV_CODEC_PROP_TEXT_SUB,
2541 },
2542 {
2543 .id = AV_CODEC_ID_XSUB,
2544 .type = AVMEDIA_TYPE_SUBTITLE,
2545 .name = "xsub",
2546 .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
2547 .props = AV_CODEC_PROP_BITMAP_SUB,
2548 },
2549 {
2550 .id = AV_CODEC_ID_ASS,
2551 .type = AVMEDIA_TYPE_SUBTITLE,
2552 .name = "ass",
2553 .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"),
2554 .props = AV_CODEC_PROP_TEXT_SUB,
2555 },
2556 {
2557 .id = AV_CODEC_ID_SSA,
2558 .type = AVMEDIA_TYPE_SUBTITLE,
2559 .name = "ssa",
2560 .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"),
2561 .props = AV_CODEC_PROP_TEXT_SUB,
2562 },
2563 {
2564 .id = AV_CODEC_ID_MOV_TEXT,
2565 .type = AVMEDIA_TYPE_SUBTITLE,
2566 .name = "mov_text",
2567 .long_name = NULL_IF_CONFIG_SMALL("MOV text"),
2568 .props = AV_CODEC_PROP_TEXT_SUB,
2569 },
2570 {
2571 .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
2572 .type = AVMEDIA_TYPE_SUBTITLE,
2573 .name = "hdmv_pgs_subtitle",
2574 .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
2575 .props = AV_CODEC_PROP_BITMAP_SUB,
2576 },
2577 {
2578 .id = AV_CODEC_ID_DVB_TELETEXT,
2579 .type = AVMEDIA_TYPE_SUBTITLE,
2580 .name = "dvb_teletext",
2581 .long_name = NULL_IF_CONFIG_SMALL("DVB teletext"),
2582 },
2583 {
2584 .id = AV_CODEC_ID_SRT,
2585 .type = AVMEDIA_TYPE_SUBTITLE,
2586 .name = "srt",
2587 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"),
2588 .props = AV_CODEC_PROP_TEXT_SUB,
2589 },
2590 {
2591 .id = AV_CODEC_ID_SUBRIP,
2592 .type = AVMEDIA_TYPE_SUBTITLE,
2593 .name = "subrip",
2594 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
2595 .props = AV_CODEC_PROP_TEXT_SUB,
2596 },
2597 {
2598 .id = AV_CODEC_ID_MICRODVD,
2599 .type = AVMEDIA_TYPE_SUBTITLE,
2600 .name = "microdvd",
2601 .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
2602 .props = AV_CODEC_PROP_TEXT_SUB,
2603 },
2604 {
2605 .id = AV_CODEC_ID_MPL2,
2606 .type = AVMEDIA_TYPE_SUBTITLE,
2607 .name = "mpl2",
2608 .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
2609 .props = AV_CODEC_PROP_TEXT_SUB,
2610 },
2611 {
2612 .id = AV_CODEC_ID_EIA_608,
2613 .type = AVMEDIA_TYPE_SUBTITLE,
2614 .name = "eia_608",
2615 .long_name = NULL_IF_CONFIG_SMALL("EIA-608 closed captions"),
2616 },
2617 {
2618 .id = AV_CODEC_ID_JACOSUB,
2619 .type = AVMEDIA_TYPE_SUBTITLE,
2620 .name = "jacosub",
2621 .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
2622 .props = AV_CODEC_PROP_TEXT_SUB,
2623 },
2624 {
2625 .id = AV_CODEC_ID_PJS,
2626 .type = AVMEDIA_TYPE_SUBTITLE,
2627 .name = "pjs",
2628 .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"),
2629 .props = AV_CODEC_PROP_TEXT_SUB,
2630 },
2631 {
2632 .id = AV_CODEC_ID_SAMI,
2633 .type = AVMEDIA_TYPE_SUBTITLE,
2634 .name = "sami",
2635 .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"),
2636 .props = AV_CODEC_PROP_TEXT_SUB,
2637 },
2638 {
2639 .id = AV_CODEC_ID_REALTEXT,
2640 .type = AVMEDIA_TYPE_SUBTITLE,
2641 .name = "realtext",
2642 .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"),
2643 .props = AV_CODEC_PROP_TEXT_SUB,
2644 },
2645 {
2646 .id = AV_CODEC_ID_STL,
2647 .type = AVMEDIA_TYPE_SUBTITLE,
2648 .name = "stl",
2649 .long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
2650 .props = AV_CODEC_PROP_TEXT_SUB,
2651 },
2652 {
2653 .id = AV_CODEC_ID_SUBVIEWER1,
2654 .type = AVMEDIA_TYPE_SUBTITLE,
2655 .name = "subviewer1",
2656 .long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle"),
2657 .props = AV_CODEC_PROP_TEXT_SUB,
2658 },
2659 {
2660 .id = AV_CODEC_ID_SUBVIEWER,
2661 .type = AVMEDIA_TYPE_SUBTITLE,
2662 .name = "subviewer",
2663 .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"),
2664 .props = AV_CODEC_PROP_TEXT_SUB,
2665 },
2666 {
2667 .id = AV_CODEC_ID_VPLAYER,
2668 .type = AVMEDIA_TYPE_SUBTITLE,
2669 .name = "vplayer",
2670 .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
2671 .props = AV_CODEC_PROP_TEXT_SUB,
2672 },
2673 {
2674 .id = AV_CODEC_ID_WEBVTT,
2675 .type = AVMEDIA_TYPE_SUBTITLE,
2676 .name = "webvtt",
2677 .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
2678 .props = AV_CODEC_PROP_TEXT_SUB,
2679 },
2680
2681 /* other kind of codecs and pseudo-codecs */
2682 {
2683 .id = AV_CODEC_ID_TTF,
2684 .type = AVMEDIA_TYPE_DATA,
2685 .name = "ttf",
2686 .long_name = NULL_IF_CONFIG_SMALL("TrueType font"),
2687 .mime_types= MT("application/x-truetype-font", "application/x-font"),
2688 },
2689 {
2690 .id = AV_CODEC_ID_BINTEXT,
2691 .type = AVMEDIA_TYPE_VIDEO,
2692 .name = "bintext",
2693 .long_name = NULL_IF_CONFIG_SMALL("Binary text"),
2694 .props = AV_CODEC_PROP_INTRA_ONLY,
2695 },
2696 {
2697 .id = AV_CODEC_ID_XBIN,
2698 .type = AVMEDIA_TYPE_VIDEO,
2699 .name = "xbin",
2700 .long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text"),
2701 .props = AV_CODEC_PROP_INTRA_ONLY,
2702 },
2703 {
2704 .id = AV_CODEC_ID_IDF,
2705 .type = AVMEDIA_TYPE_VIDEO,
2706 .name = "idf",
2707 .long_name = NULL_IF_CONFIG_SMALL("iCEDraw text"),
2708 .props = AV_CODEC_PROP_INTRA_ONLY,
2709 },
2710 {
2711 .id = AV_CODEC_ID_OTF,
2712 .type = AVMEDIA_TYPE_DATA,
2713 .name = "otf",
2714 .long_name = NULL_IF_CONFIG_SMALL("OpenType font"),
2715 .mime_types= MT("application/vnd.ms-opentype"),
2716 },
2717 {
2718 .id = AV_CODEC_ID_SMPTE_KLV,
2719 .type = AVMEDIA_TYPE_DATA,
2720 .name = "klv",
2721 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 336M Key-Length-Value (KLV) metadata"),
2722 },
2723 {
2724 .id = AV_CODEC_ID_DVD_NAV,
2725 .type = AVMEDIA_TYPE_DATA,
2726 .name = "dvd_nav_packet",
2727 .long_name = NULL_IF_CONFIG_SMALL("DVD Nav packet"),
2728 },
2729 {
2730 .id = AV_CODEC_ID_TIMED_ID3,
2731 .type = AVMEDIA_TYPE_DATA,
2732 .name = "timed_id3",
2733 .long_name = NULL_IF_CONFIG_SMALL("timed ID3 metadata"),
2734 },
2735 {
2736 .id = AV_CODEC_ID_BIN_DATA,
2737 .type = AVMEDIA_TYPE_DATA,
2738 .name = "bin_data",
2739 .long_name = NULL_IF_CONFIG_SMALL("binary data"),
2740 .mime_types= MT("application/octet-stream"),
2741 },
2742
2743 /* deprecated codec ids */
2744 {
2745 .id = AV_CODEC_ID_BRENDER_PIX_DEPRECATED,
2746 .type = AVMEDIA_TYPE_VIDEO,
2747 .name = "brender_pix_deprecated",
2748 .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image (deprecated id)"),
2749 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
2750 },
2751 {
2752 .id = AV_CODEC_ID_ESCAPE130_DEPRECATED,
2753 .type = AVMEDIA_TYPE_VIDEO,
2754 .name = "escape130_deprecated",
2755 .long_name = NULL_IF_CONFIG_SMALL("Escape 130 (deprecated id)"),
2756 .props = AV_CODEC_PROP_LOSSY,
2757 },
2758 {
2759 .id = AV_CODEC_ID_EXR_DEPRECATED,
2760 .type = AVMEDIA_TYPE_VIDEO,
2761 .name = "exr_deprecated",
2762 .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image (deprecated id)"),
2763 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
2764 AV_CODEC_PROP_LOSSLESS,
2765 },
2766 {
2767 .id = AV_CODEC_ID_G2M_DEPRECATED,
2768 .type = AVMEDIA_TYPE_VIDEO,
2769 .name = "g2m_deprecated",
2770 .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting (deprecated id)"),
2771 .props = AV_CODEC_PROP_LOSSY,
2772 },
2773 {
2774 .id = AV_CODEC_ID_HEVC_DEPRECATED,
2775 .type = AVMEDIA_TYPE_VIDEO,
2776 .name = "hevc_deprecated",
2777 .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding) (deprecated id)"),
2778 .props = AV_CODEC_PROP_LOSSY,
2779 },
2780 {
2781 .id = AV_CODEC_ID_PAF_VIDEO_DEPRECATED,
2782 .type = AVMEDIA_TYPE_VIDEO,
2783 .name = "paf_video_deprecated",
2784 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video (deprecated id)"),
2785 .props = AV_CODEC_PROP_LOSSY,
2786 },
2787 {
2788 .id = AV_CODEC_ID_SANM_DEPRECATED,
2789 .type = AVMEDIA_TYPE_VIDEO,
2790 .name = "sanm_deprecated",
2791 .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/SMUSH video (deprecated id)"),
2792 .props = AV_CODEC_PROP_LOSSY,
2793 },
2794 {
2795 .id = AV_CODEC_ID_VP7_DEPRECATED,
2796 .type = AVMEDIA_TYPE_VIDEO,
2797 .name = "vp7_deprecated",
2798 .long_name = NULL_IF_CONFIG_SMALL("On2 VP7 (deprecated id)"),
2799 .props = AV_CODEC_PROP_LOSSY,
2800 },
2801 {
2802 .id = AV_CODEC_ID_WEBP_DEPRECATED,
2803 .type = AVMEDIA_TYPE_VIDEO,
2804 .name = "webp_deprecated",
2805 .long_name = NULL_IF_CONFIG_SMALL("WebP (deprecated id)"),
2806 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
2807 AV_CODEC_PROP_LOSSLESS,
2808 },
2809
2810 {
2811 .id = AV_CODEC_ID_VIMA,
2812 .type = AVMEDIA_TYPE_AUDIO,
2813 .name = "vima",
2814 .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio (deprecated id)"),
2815 .props = AV_CODEC_PROP_LOSSY,
2816 },
2817 {
2818 .id = AV_CODEC_ID_ADPCM_VIMA_DEPRECATED,
2819 .type = AVMEDIA_TYPE_AUDIO,
2820 .name = "adpcm_vima_deprecated",
2821 .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio (deprecated id)"),
2822 .props = AV_CODEC_PROP_LOSSY,
2823 },
2824 {
2825 .id = AV_CODEC_ID_OPUS_DEPRECATED,
2826 .type = AVMEDIA_TYPE_AUDIO,
2827 .name = "opus_deprecated",
2828 .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec) (deprecated id)"),
2829 .props = AV_CODEC_PROP_LOSSY,
2830 },
2831 {
2832 .id = AV_CODEC_ID_PAF_AUDIO_DEPRECATED,
2833 .type = AVMEDIA_TYPE_AUDIO,
2834 .name = "paf_audio_deprecated",
2835 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio (deprecated id)"),
2836 .props = AV_CODEC_PROP_LOSSY,
2837 },
2838 {
2839 .id = AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED,
2840 .type = AVMEDIA_TYPE_AUDIO,
2841 .name = "pcm_s24le_planar_deprecated",
2842 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian planar (deprecated id)"),
2843 .props = AV_CODEC_PROP_LOSSLESS,
2844 },
2845 {
2846 .id = AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED,
2847 .type = AVMEDIA_TYPE_AUDIO,
2848 .name = "pcm_s32le_planar_deprecated",
2849 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian planar (deprecated id)"),
2850 .props = AV_CODEC_PROP_LOSSLESS,
2851 },
2852 {
2853 .id = AV_CODEC_ID_TAK_DEPRECATED,
2854 .type = AVMEDIA_TYPE_AUDIO,
2855 .name = "tak_deprecated",
2856 .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor) (deprecated id)"),
2857 .props = AV_CODEC_PROP_LOSSLESS,
2858 },
2859 };
2860
2861 const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
2862 {
2863 int i;
2864
2865 for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
2866 if (codec_descriptors[i].id == id)
2867 return &codec_descriptors[i];
2868 return NULL;
2869 }
2870
2871 const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
2872 {
2873 if (!prev)
2874 return &codec_descriptors[0];
2875 if (prev - codec_descriptors < FF_ARRAY_ELEMS(codec_descriptors) - 1)
2876 return prev + 1;
2877 return NULL;
2878 }
2879
2880 const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name)
2881 {
2882 const AVCodecDescriptor *desc = NULL;
2883
2884 while ((desc = avcodec_descriptor_next(desc)))
2885 if (!strcmp(desc->name, name))
2886 return desc;
2887 return NULL;
2888 }