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