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