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