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