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