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