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