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