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