Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

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