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