lpc: Add a function for calculating reflection coefficients from samples
[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 {
422 .id = AV_CODEC_ID_SNOW,
423 .type = AVMEDIA_TYPE_VIDEO,
424 .name = "snow",
425 .long_name = NULL_IF_CONFIG_SMALL("Snow"),
a2318326 426 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
427 },
428 {
429 .id = AV_CODEC_ID_TSCC,
430 .type = AVMEDIA_TYPE_VIDEO,
431 .name = "tscc",
432 .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),
a2318326 433 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
434 },
435 {
436 .id = AV_CODEC_ID_ULTI,
437 .type = AVMEDIA_TYPE_VIDEO,
438 .name = "ulti",
439 .long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),
a2318326 440 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
441 },
442 {
443 .id = AV_CODEC_ID_QDRAW,
444 .type = AVMEDIA_TYPE_VIDEO,
445 .name = "qdraw",
446 .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),
a2318326 447 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
448 },
449 {
450 .id = AV_CODEC_ID_VIXL,
451 .type = AVMEDIA_TYPE_VIDEO,
452 .name = "vixl",
453 .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),
a2318326 454 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
455 },
456 {
457 .id = AV_CODEC_ID_QPEG,
458 .type = AVMEDIA_TYPE_VIDEO,
459 .name = "qpeg",
460 .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
a2318326 461 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
462 },
463 {
464 .id = AV_CODEC_ID_PNG,
465 .type = AVMEDIA_TYPE_VIDEO,
466 .name = "png",
467 .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
a2318326 468 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
469 },
470 {
471 .id = AV_CODEC_ID_PPM,
472 .type = AVMEDIA_TYPE_VIDEO,
473 .name = "ppm",
474 .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
a2318326 475 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
476 },
477 {
478 .id = AV_CODEC_ID_PBM,
479 .type = AVMEDIA_TYPE_VIDEO,
480 .name = "pbm",
481 .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
a2318326 482 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
483 },
484 {
485 .id = AV_CODEC_ID_PGM,
486 .type = AVMEDIA_TYPE_VIDEO,
487 .name = "pgm",
488 .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
a2318326 489 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
490 },
491 {
492 .id = AV_CODEC_ID_PGMYUV,
493 .type = AVMEDIA_TYPE_VIDEO,
494 .name = "pgmyuv",
495 .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
a2318326 496 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
497 },
498 {
499 .id = AV_CODEC_ID_PAM,
500 .type = AVMEDIA_TYPE_VIDEO,
501 .name = "pam",
502 .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
a2318326 503 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
504 },
505 {
506 .id = AV_CODEC_ID_FFVHUFF,
507 .type = AVMEDIA_TYPE_VIDEO,
508 .name = "ffvhuff",
509 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
a2318326 510 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
511 },
512 {
513 .id = AV_CODEC_ID_RV30,
514 .type = AVMEDIA_TYPE_VIDEO,
515 .name = "rv30",
516 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
a2318326 517 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
518 },
519 {
520 .id = AV_CODEC_ID_RV40,
521 .type = AVMEDIA_TYPE_VIDEO,
522 .name = "rv40",
523 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
a2318326 524 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
525 },
526 {
527 .id = AV_CODEC_ID_VC1,
528 .type = AVMEDIA_TYPE_VIDEO,
529 .name = "vc1",
530 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
a2318326 531 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
532 },
533 {
534 .id = AV_CODEC_ID_WMV3,
535 .type = AVMEDIA_TYPE_VIDEO,
536 .name = "wmv3",
537 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
a2318326 538 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
539 },
540 {
541 .id = AV_CODEC_ID_LOCO,
542 .type = AVMEDIA_TYPE_VIDEO,
543 .name = "loco",
544 .long_name = NULL_IF_CONFIG_SMALL("LOCO"),
a2318326 545 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
546 },
547 {
548 .id = AV_CODEC_ID_WNV1,
549 .type = AVMEDIA_TYPE_VIDEO,
550 .name = "wnv1",
551 .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),
a2318326 552 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
553 },
554 {
555 .id = AV_CODEC_ID_AASC,
556 .type = AVMEDIA_TYPE_VIDEO,
557 .name = "aasc",
558 .long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
a2318326 559 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
560 },
561 {
562 .id = AV_CODEC_ID_INDEO2,
563 .type = AVMEDIA_TYPE_VIDEO,
564 .name = "indeo2",
565 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),
a2318326 566 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
567 },
568 {
569 .id = AV_CODEC_ID_FRAPS,
570 .type = AVMEDIA_TYPE_VIDEO,
571 .name = "fraps",
572 .long_name = NULL_IF_CONFIG_SMALL("Fraps"),
a2318326 573 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
574 },
575 {
576 .id = AV_CODEC_ID_TRUEMOTION2,
577 .type = AVMEDIA_TYPE_VIDEO,
578 .name = "truemotion2",
579 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),
a2318326 580 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
581 },
582 {
583 .id = AV_CODEC_ID_BMP,
584 .type = AVMEDIA_TYPE_VIDEO,
585 .name = "bmp",
586 .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
a2318326 587 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
588 },
589 {
590 .id = AV_CODEC_ID_CSCD,
591 .type = AVMEDIA_TYPE_VIDEO,
592 .name = "cscd",
593 .long_name = NULL_IF_CONFIG_SMALL("CamStudio"),
a2318326 594 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
595 },
596 {
597 .id = AV_CODEC_ID_MMVIDEO,
598 .type = AVMEDIA_TYPE_VIDEO,
599 .name = "mmvideo",
600 .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),
a2318326 601 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
602 },
603 {
604 .id = AV_CODEC_ID_ZMBV,
605 .type = AVMEDIA_TYPE_VIDEO,
606 .name = "zmbv",
607 .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
a2318326 608 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
609 },
610 {
611 .id = AV_CODEC_ID_AVS,
612 .type = AVMEDIA_TYPE_VIDEO,
613 .name = "avs",
614 .long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
a2318326 615 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
616 },
617 {
618 .id = AV_CODEC_ID_SMACKVIDEO,
619 .type = AVMEDIA_TYPE_VIDEO,
620 .name = "smackvideo",
621 .long_name = NULL_IF_CONFIG_SMALL("Smacker video"),
a2318326 622 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
623 },
624 {
625 .id = AV_CODEC_ID_NUV,
626 .type = AVMEDIA_TYPE_VIDEO,
627 .name = "nuv",
628 .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),
a2318326 629 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
630 },
631 {
632 .id = AV_CODEC_ID_KMVC,
633 .type = AVMEDIA_TYPE_VIDEO,
634 .name = "kmvc",
635 .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),
a2318326 636 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
637 },
638 {
639 .id = AV_CODEC_ID_FLASHSV,
640 .type = AVMEDIA_TYPE_VIDEO,
641 .name = "flashsv",
642 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),
a2318326 643 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
644 },
645 {
646 .id = AV_CODEC_ID_CAVS,
647 .type = AVMEDIA_TYPE_VIDEO,
648 .name = "cavs",
649 .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
a2318326 650 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
651 },
652 {
653 .id = AV_CODEC_ID_JPEG2000,
654 .type = AVMEDIA_TYPE_VIDEO,
655 .name = "jpeg2000",
656 .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
a2318326
AK
657 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY |
658 AV_CODEC_PROP_LOSSLESS,
c223d799
AK
659 },
660 {
661 .id = AV_CODEC_ID_VMNC,
662 .type = AVMEDIA_TYPE_VIDEO,
663 .name = "vmnc",
664 .long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),
a2318326 665 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
666 },
667 {
668 .id = AV_CODEC_ID_VP5,
669 .type = AVMEDIA_TYPE_VIDEO,
670 .name = "vp5",
671 .long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),
a2318326 672 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
673 },
674 {
675 .id = AV_CODEC_ID_VP6,
676 .type = AVMEDIA_TYPE_VIDEO,
677 .name = "vp6",
678 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
a2318326 679 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
680 },
681 {
682 .id = AV_CODEC_ID_VP6F,
683 .type = AVMEDIA_TYPE_VIDEO,
684 .name = "vp6f",
685 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
a2318326 686 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
687 },
688 {
689 .id = AV_CODEC_ID_TARGA,
690 .type = AVMEDIA_TYPE_VIDEO,
691 .name = "targa",
692 .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
a2318326 693 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
694 },
695 {
696 .id = AV_CODEC_ID_DSICINVIDEO,
697 .type = AVMEDIA_TYPE_VIDEO,
698 .name = "dsicinvideo",
699 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),
a2318326 700 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
701 },
702 {
703 .id = AV_CODEC_ID_TIERTEXSEQVIDEO,
704 .type = AVMEDIA_TYPE_VIDEO,
705 .name = "tiertexseqvideo",
706 .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
a2318326 707 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
708 },
709 {
710 .id = AV_CODEC_ID_TIFF,
711 .type = AVMEDIA_TYPE_VIDEO,
712 .name = "tiff",
713 .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
a2318326 714 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
715 },
716 {
717 .id = AV_CODEC_ID_GIF,
718 .type = AVMEDIA_TYPE_VIDEO,
719 .name = "gif",
720 .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
a2318326 721 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
722 },
723 {
724 .id = AV_CODEC_ID_DXA,
725 .type = AVMEDIA_TYPE_VIDEO,
726 .name = "dxa",
727 .long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),
a2318326 728 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
729 },
730 {
731 .id = AV_CODEC_ID_DNXHD,
732 .type = AVMEDIA_TYPE_VIDEO,
733 .name = "dnxhd",
734 .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
a2318326 735 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
736 },
737 {
738 .id = AV_CODEC_ID_THP,
739 .type = AVMEDIA_TYPE_VIDEO,
740 .name = "thp",
741 .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
a2318326 742 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
743 },
744 {
745 .id = AV_CODEC_ID_SGI,
746 .type = AVMEDIA_TYPE_VIDEO,
747 .name = "sgi",
748 .long_name = NULL_IF_CONFIG_SMALL("SGI image"),
a2318326 749 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
750 },
751 {
752 .id = AV_CODEC_ID_C93,
753 .type = AVMEDIA_TYPE_VIDEO,
754 .name = "c93",
755 .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
a2318326 756 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
757 },
758 {
759 .id = AV_CODEC_ID_BETHSOFTVID,
760 .type = AVMEDIA_TYPE_VIDEO,
761 .name = "bethsoftvid",
762 .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
a2318326 763 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
764 },
765 {
766 .id = AV_CODEC_ID_PTX,
767 .type = AVMEDIA_TYPE_VIDEO,
768 .name = "ptx",
769 .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
a2318326 770 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
771 },
772 {
773 .id = AV_CODEC_ID_TXD,
774 .type = AVMEDIA_TYPE_VIDEO,
775 .name = "txd",
776 .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
a2318326 777 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
778 },
779 {
780 .id = AV_CODEC_ID_VP6A,
781 .type = AVMEDIA_TYPE_VIDEO,
782 .name = "vp6a",
783 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
a2318326 784 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
785 },
786 {
787 .id = AV_CODEC_ID_AMV,
788 .type = AVMEDIA_TYPE_VIDEO,
789 .name = "amv",
790 .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
a2318326 791 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
792 },
793 {
794 .id = AV_CODEC_ID_VB,
795 .type = AVMEDIA_TYPE_VIDEO,
796 .name = "vb",
797 .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
a2318326 798 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
799 },
800 {
801 .id = AV_CODEC_ID_PCX,
802 .type = AVMEDIA_TYPE_VIDEO,
803 .name = "pcx",
804 .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
a2318326 805 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
806 },
807 {
808 .id = AV_CODEC_ID_SUNRAST,
809 .type = AVMEDIA_TYPE_VIDEO,
810 .name = "sunrast",
811 .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
a2318326 812 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
813 },
814 {
815 .id = AV_CODEC_ID_INDEO4,
816 .type = AVMEDIA_TYPE_VIDEO,
817 .name = "indeo4",
818 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),
a2318326 819 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
820 },
821 {
822 .id = AV_CODEC_ID_INDEO5,
823 .type = AVMEDIA_TYPE_VIDEO,
824 .name = "indeo5",
825 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
a2318326 826 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
827 },
828 {
829 .id = AV_CODEC_ID_MIMIC,
830 .type = AVMEDIA_TYPE_VIDEO,
831 .name = "mimic",
832 .long_name = NULL_IF_CONFIG_SMALL("Mimic"),
a2318326 833 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
834 },
835 {
836 .id = AV_CODEC_ID_RL2,
837 .type = AVMEDIA_TYPE_VIDEO,
838 .name = "rl2",
839 .long_name = NULL_IF_CONFIG_SMALL("RL2 video"),
a2318326 840 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
841 },
842 {
843 .id = AV_CODEC_ID_ESCAPE124,
844 .type = AVMEDIA_TYPE_VIDEO,
845 .name = "escape124",
846 .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
a2318326 847 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
848 },
849 {
850 .id = AV_CODEC_ID_DIRAC,
851 .type = AVMEDIA_TYPE_VIDEO,
852 .name = "dirac",
853 .long_name = NULL_IF_CONFIG_SMALL("Dirac"),
a2318326 854 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
855 },
856 {
857 .id = AV_CODEC_ID_BFI,
858 .type = AVMEDIA_TYPE_VIDEO,
859 .name = "bfi",
860 .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
a2318326 861 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
862 },
863 {
864 .id = AV_CODEC_ID_CMV,
865 .type = AVMEDIA_TYPE_VIDEO,
866 .name = "cmv",
867 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
a2318326 868 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
869 },
870 {
871 .id = AV_CODEC_ID_MOTIONPIXELS,
872 .type = AVMEDIA_TYPE_VIDEO,
873 .name = "motionpixels",
874 .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),
a2318326 875 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
876 },
877 {
878 .id = AV_CODEC_ID_TGV,
879 .type = AVMEDIA_TYPE_VIDEO,
880 .name = "tgv",
881 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),
a2318326 882 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
883 },
884 {
885 .id = AV_CODEC_ID_TGQ,
886 .type = AVMEDIA_TYPE_VIDEO,
887 .name = "tgq",
888 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),
a2318326 889 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
890 },
891 {
892 .id = AV_CODEC_ID_TQI,
893 .type = AVMEDIA_TYPE_VIDEO,
894 .name = "tqi",
895 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI video"),
a2318326 896 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
897 },
898 {
899 .id = AV_CODEC_ID_AURA,
900 .type = AVMEDIA_TYPE_VIDEO,
901 .name = "aura",
902 .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
a2318326 903 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
904 },
905 {
906 .id = AV_CODEC_ID_AURA2,
907 .type = AVMEDIA_TYPE_VIDEO,
908 .name = "aura2",
909 .long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),
a2318326 910 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
911 },
912 {
913 .id = AV_CODEC_ID_V210X,
914 .type = AVMEDIA_TYPE_VIDEO,
915 .name = "v210x",
a2318326 916 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
917 },
918 {
919 .id = AV_CODEC_ID_TMV,
920 .type = AVMEDIA_TYPE_VIDEO,
921 .name = "tmv",
a2318326 922 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
923 },
924 {
925 .id = AV_CODEC_ID_V210,
926 .type = AVMEDIA_TYPE_VIDEO,
927 .name = "v210",
928 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
a2318326 929 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
930 },
931 {
932 .id = AV_CODEC_ID_DPX,
933 .type = AVMEDIA_TYPE_VIDEO,
934 .name = "dpx",
935 .long_name = NULL_IF_CONFIG_SMALL("DPX image"),
a2318326 936 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
c223d799
AK
937 },
938 {
939 .id = AV_CODEC_ID_MAD,
940 .type = AVMEDIA_TYPE_VIDEO,
941 .name = "mad",
a2318326
AK
942 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),
943 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
944 },
945 {
946 .id = AV_CODEC_ID_FRWU,
947 .type = AVMEDIA_TYPE_VIDEO,
948 .name = "frwu",
949 .long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),
a2318326 950 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
951 },
952 {
953 .id = AV_CODEC_ID_FLASHSV2,
954 .type = AVMEDIA_TYPE_VIDEO,
955 .name = "flashsv2",
956 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),
a2318326 957 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
958 },
959 {
960 .id = AV_CODEC_ID_CDGRAPHICS,
961 .type = AVMEDIA_TYPE_VIDEO,
962 .name = "cdgraphics",
963 .long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
a2318326 964 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
965 },
966 {
967 .id = AV_CODEC_ID_R210,
968 .type = AVMEDIA_TYPE_VIDEO,
969 .name = "r210",
970 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
a2318326 971 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
972 },
973 {
974 .id = AV_CODEC_ID_ANM,
975 .type = AVMEDIA_TYPE_VIDEO,
976 .name = "anm",
977 .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
a2318326 978 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
979 },
980 {
981 .id = AV_CODEC_ID_BINKVIDEO,
982 .type = AVMEDIA_TYPE_VIDEO,
983 .name = "binkvideo",
984 .long_name = NULL_IF_CONFIG_SMALL("Bink video"),
a2318326 985 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
986 },
987 {
988 .id = AV_CODEC_ID_IFF_ILBM,
989 .type = AVMEDIA_TYPE_VIDEO,
990 .name = "iff_ilbm",
991 .long_name = NULL_IF_CONFIG_SMALL("IFF ILBM"),
a2318326 992 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
993 },
994 {
995 .id = AV_CODEC_ID_IFF_BYTERUN1,
996 .type = AVMEDIA_TYPE_VIDEO,
997 .name = "iff_byterun1",
998 .long_name = NULL_IF_CONFIG_SMALL("IFF ByteRun1"),
a2318326 999 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1000 },
1001 {
1002 .id = AV_CODEC_ID_KGV1,
1003 .type = AVMEDIA_TYPE_VIDEO,
1004 .name = "kgv1",
1005 .long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),
a2318326 1006 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1007 },
1008 {
1009 .id = AV_CODEC_ID_YOP,
1010 .type = AVMEDIA_TYPE_VIDEO,
1011 .name = "yop",
1012 .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),
a2318326 1013 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1014 },
1015 {
1016 .id = AV_CODEC_ID_VP8,
1017 .type = AVMEDIA_TYPE_VIDEO,
1018 .name = "vp8",
1019 .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
a2318326 1020 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1021 },
1022 {
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 },
c223d799
AK
1210
1211 /* various PCM "codecs" */
1212 {
1213 .id = AV_CODEC_ID_PCM_S16LE,
1214 .type = AVMEDIA_TYPE_AUDIO,
1215 .name = "pcm_s16le",
1216 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit little-endian"),
a2318326 1217 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1218 },
1219 {
1220 .id = AV_CODEC_ID_PCM_S16BE,
1221 .type = AVMEDIA_TYPE_AUDIO,
1222 .name = "pcm_s16be",
1223 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16-bit big-endian"),
a2318326 1224 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1225 },
1226 {
1227 .id = AV_CODEC_ID_PCM_U16LE,
1228 .type = AVMEDIA_TYPE_AUDIO,
1229 .name = "pcm_u16le",
1230 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit little-endian"),
a2318326 1231 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1232 },
1233 {
1234 .id = AV_CODEC_ID_PCM_U16BE,
1235 .type = AVMEDIA_TYPE_AUDIO,
1236 .name = "pcm_u16be",
1237 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 16-bit big-endian"),
a2318326 1238 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1239 },
1240 {
1241 .id = AV_CODEC_ID_PCM_S8,
1242 .type = AVMEDIA_TYPE_AUDIO,
1243 .name = "pcm_s8",
1244 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit"),
a2318326 1245 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1246 },
1247 {
1248 .id = AV_CODEC_ID_PCM_U8,
1249 .type = AVMEDIA_TYPE_AUDIO,
1250 .name = "pcm_u8",
1251 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 8-bit"),
a2318326 1252 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1253 },
1254 {
1255 .id = AV_CODEC_ID_PCM_MULAW,
1256 .type = AVMEDIA_TYPE_AUDIO,
1257 .name = "pcm_mulaw",
1258 .long_name = NULL_IF_CONFIG_SMALL("PCM mu-law"),
1259 },
1260 {
1261 .id = AV_CODEC_ID_PCM_ALAW,
1262 .type = AVMEDIA_TYPE_AUDIO,
1263 .name = "pcm_alaw",
1264 .long_name = NULL_IF_CONFIG_SMALL("PCM A-law"),
1265 },
1266 {
1267 .id = AV_CODEC_ID_PCM_S32LE,
1268 .type = AVMEDIA_TYPE_AUDIO,
1269 .name = "pcm_s32le",
1270 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit little-endian"),
a2318326 1271 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1272 },
1273 {
1274 .id = AV_CODEC_ID_PCM_S32BE,
1275 .type = AVMEDIA_TYPE_AUDIO,
1276 .name = "pcm_s32be",
1277 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 32-bit big-endian"),
a2318326 1278 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1279 },
1280 {
1281 .id = AV_CODEC_ID_PCM_U32LE,
1282 .type = AVMEDIA_TYPE_AUDIO,
1283 .name = "pcm_u32le",
1284 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit little-endian"),
a2318326 1285 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1286 },
1287 {
1288 .id = AV_CODEC_ID_PCM_U32BE,
1289 .type = AVMEDIA_TYPE_AUDIO,
1290 .name = "pcm_u32be",
1291 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 32-bit big-endian"),
a2318326 1292 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1293 },
1294 {
1295 .id = AV_CODEC_ID_PCM_S24LE,
1296 .type = AVMEDIA_TYPE_AUDIO,
1297 .name = "pcm_s24le",
1298 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit little-endian"),
a2318326 1299 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1300 },
1301 {
1302 .id = AV_CODEC_ID_PCM_S24BE,
1303 .type = AVMEDIA_TYPE_AUDIO,
1304 .name = "pcm_s24be",
1305 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 24-bit big-endian"),
a2318326 1306 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1307 },
1308 {
1309 .id = AV_CODEC_ID_PCM_U24LE,
1310 .type = AVMEDIA_TYPE_AUDIO,
1311 .name = "pcm_u24le",
1312 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit little-endian"),
a2318326 1313 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1314 },
1315 {
1316 .id = AV_CODEC_ID_PCM_U24BE,
1317 .type = AVMEDIA_TYPE_AUDIO,
1318 .name = "pcm_u24be",
1319 .long_name = NULL_IF_CONFIG_SMALL("PCM unsigned 24-bit big-endian"),
a2318326 1320 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1321 },
1322 {
1323 .id = AV_CODEC_ID_PCM_S24DAUD,
1324 .type = AVMEDIA_TYPE_AUDIO,
1325 .name = "pcm_s24daud",
1326 .long_name = NULL_IF_CONFIG_SMALL("PCM D-Cinema audio signed 24-bit"),
a2318326 1327 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1328 },
1329 {
1330 .id = AV_CODEC_ID_PCM_ZORK,
1331 .type = AVMEDIA_TYPE_AUDIO,
1332 .name = "pcm_zork",
1333 .long_name = NULL_IF_CONFIG_SMALL("PCM Zork"),
a2318326 1334 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1335 },
1336 {
1337 .id = AV_CODEC_ID_PCM_S16LE_PLANAR,
1338 .type = AVMEDIA_TYPE_AUDIO,
1339 .name = "pcm_s16le_planar",
1340 .long_name = NULL_IF_CONFIG_SMALL("PCM 16-bit little-endian planar"),
a2318326 1341 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1342 },
1343 {
1344 .id = AV_CODEC_ID_PCM_DVD,
1345 .type = AVMEDIA_TYPE_AUDIO,
1346 .name = "pcm_dvd",
1347 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20|24-bit big-endian"),
a2318326 1348 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1349 },
1350 {
1351 .id = AV_CODEC_ID_PCM_F32BE,
1352 .type = AVMEDIA_TYPE_AUDIO,
1353 .name = "pcm_f32be",
1354 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point big-endian"),
a2318326 1355 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1356 },
1357 {
1358 .id = AV_CODEC_ID_PCM_F32LE,
1359 .type = AVMEDIA_TYPE_AUDIO,
1360 .name = "pcm_f32le",
1361 .long_name = NULL_IF_CONFIG_SMALL("PCM 32-bit floating point little-endian"),
a2318326 1362 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1363 },
1364 {
1365 .id = AV_CODEC_ID_PCM_F64BE,
1366 .type = AVMEDIA_TYPE_AUDIO,
1367 .name = "pcm_f64be",
1368 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point big-endian"),
a2318326 1369 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1370 },
1371 {
1372 .id = AV_CODEC_ID_PCM_F64LE,
1373 .type = AVMEDIA_TYPE_AUDIO,
1374 .name = "pcm_f64le",
1375 .long_name = NULL_IF_CONFIG_SMALL("PCM 64-bit floating point little-endian"),
a2318326 1376 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1377 },
1378 {
1379 .id = AV_CODEC_ID_PCM_BLURAY,
1380 .type = AVMEDIA_TYPE_AUDIO,
1381 .name = "pcm_bluray",
1382 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
a2318326 1383 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1384 },
1385 {
1386 .id = AV_CODEC_ID_PCM_LXF,
1387 .type = AVMEDIA_TYPE_AUDIO,
1388 .name = "pcm_lxf",
1389 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 20-bit little-endian planar"),
a2318326 1390 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1391 },
1392 {
1393 .id = AV_CODEC_ID_S302M,
1394 .type = AVMEDIA_TYPE_AUDIO,
1395 .name = "s302m",
1396 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
a2318326 1397 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1398 },
1399 {
1400 .id = AV_CODEC_ID_PCM_S8_PLANAR,
1401 .type = AVMEDIA_TYPE_AUDIO,
1402 .name = "pcm_s8_planar",
1403 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 8-bit planar"),
a2318326 1404 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1405 },
1406
1407 /* various ADPCM codecs */
1408 {
1409 .id = AV_CODEC_ID_ADPCM_IMA_QT,
1410 .type = AVMEDIA_TYPE_AUDIO,
1411 .name = "adpcm_ima_qt",
1412 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA QuickTime"),
a2318326 1413 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1414 },
1415 {
1416 .id = AV_CODEC_ID_ADPCM_IMA_WAV,
1417 .type = AVMEDIA_TYPE_AUDIO,
1418 .name = "adpcm_ima_wav",
1419 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA WAV"),
a2318326 1420 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1421 },
1422 {
1423 .id = AV_CODEC_ID_ADPCM_IMA_DK3,
1424 .type = AVMEDIA_TYPE_AUDIO,
1425 .name = "adpcm_ima_dk3",
1426 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK3"),
a2318326 1427 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1428 },
1429 {
1430 .id = AV_CODEC_ID_ADPCM_IMA_DK4,
1431 .type = AVMEDIA_TYPE_AUDIO,
1432 .name = "adpcm_ima_dk4",
1433 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Duck DK4"),
a2318326 1434 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1435 },
1436 {
1437 .id = AV_CODEC_ID_ADPCM_IMA_WS,
1438 .type = AVMEDIA_TYPE_AUDIO,
1439 .name = "adpcm_ima_ws",
1440 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Westwood"),
a2318326 1441 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1442 },
1443 {
1444 .id = AV_CODEC_ID_ADPCM_IMA_SMJPEG,
1445 .type = AVMEDIA_TYPE_AUDIO,
1446 .name = "adpcm_ima_smjpeg",
1447 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Loki SDL MJPEG"),
a2318326 1448 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1449 },
1450 {
1451 .id = AV_CODEC_ID_ADPCM_MS,
1452 .type = AVMEDIA_TYPE_AUDIO,
1453 .name = "adpcm_ms",
1454 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Microsoft"),
a2318326 1455 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1456 },
1457 {
1458 .id = AV_CODEC_ID_ADPCM_4XM,
1459 .type = AVMEDIA_TYPE_AUDIO,
1460 .name = "adpcm_4xm",
1461 .long_name = NULL_IF_CONFIG_SMALL("ADPCM 4X Movie"),
a2318326 1462 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1463 },
1464 {
1465 .id = AV_CODEC_ID_ADPCM_XA,
1466 .type = AVMEDIA_TYPE_AUDIO,
1467 .name = "adpcm_xa",
1468 .long_name = NULL_IF_CONFIG_SMALL("ADPCM CDROM XA"),
a2318326 1469 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1470 },
1471 {
1472 .id = AV_CODEC_ID_ADPCM_ADX,
1473 .type = AVMEDIA_TYPE_AUDIO,
1474 .name = "adpcm_adx",
1475 .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
a2318326 1476 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1477 },
1478 {
1479 .id = AV_CODEC_ID_ADPCM_EA,
1480 .type = AVMEDIA_TYPE_AUDIO,
1481 .name = "adpcm_ea",
1482 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts"),
a2318326 1483 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1484 },
1485 {
1486 .id = AV_CODEC_ID_ADPCM_G726,
1487 .type = AVMEDIA_TYPE_AUDIO,
1488 .name = "adpcm_g726",
1489 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
a2318326 1490 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1491 },
1492 {
1493 .id = AV_CODEC_ID_ADPCM_CT,
1494 .type = AVMEDIA_TYPE_AUDIO,
1495 .name = "adpcm_ct",
1496 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Creative Technology"),
a2318326 1497 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1498 },
1499 {
1500 .id = AV_CODEC_ID_ADPCM_SWF,
1501 .type = AVMEDIA_TYPE_AUDIO,
1502 .name = "adpcm_swf",
1503 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Shockwave Flash"),
a2318326 1504 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1505 },
1506 {
1507 .id = AV_CODEC_ID_ADPCM_YAMAHA,
1508 .type = AVMEDIA_TYPE_AUDIO,
1509 .name = "adpcm_yamaha",
1510 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha"),
a2318326 1511 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1512 },
1513 {
1514 .id = AV_CODEC_ID_ADPCM_SBPRO_4,
1515 .type = AVMEDIA_TYPE_AUDIO,
1516 .name = "adpcm_sbpro_4",
1517 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 4-bit"),
a2318326 1518 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1519 },
1520 {
1521 .id = AV_CODEC_ID_ADPCM_SBPRO_3,
1522 .type = AVMEDIA_TYPE_AUDIO,
1523 .name = "adpcm_sbpro_3",
1524 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2.6-bit"),
a2318326 1525 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1526 },
1527 {
1528 .id = AV_CODEC_ID_ADPCM_SBPRO_2,
1529 .type = AVMEDIA_TYPE_AUDIO,
1530 .name = "adpcm_sbpro_2",
1531 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Sound Blaster Pro 2-bit"),
a2318326 1532 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1533 },
1534 {
1535 .id = AV_CODEC_ID_ADPCM_THP,
1536 .type = AVMEDIA_TYPE_AUDIO,
1537 .name = "adpcm_thp",
1538 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Nintendo Gamecube THP"),
a2318326 1539 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1540 },
1541 {
1542 .id = AV_CODEC_ID_ADPCM_IMA_AMV,
1543 .type = AVMEDIA_TYPE_AUDIO,
1544 .name = "adpcm_ima_amv",
1545 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA AMV"),
a2318326 1546 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1547 },
1548 {
1549 .id = AV_CODEC_ID_ADPCM_EA_R1,
1550 .type = AVMEDIA_TYPE_AUDIO,
1551 .name = "adpcm_ea_r1",
1552 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R1"),
a2318326 1553 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1554 },
1555 {
1556 .id = AV_CODEC_ID_ADPCM_EA_R3,
1557 .type = AVMEDIA_TYPE_AUDIO,
1558 .name = "adpcm_ea_r3",
1559 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R3"),
a2318326 1560 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1561 },
1562 {
1563 .id = AV_CODEC_ID_ADPCM_EA_R2,
1564 .type = AVMEDIA_TYPE_AUDIO,
1565 .name = "adpcm_ea_r2",
1566 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts R2"),
a2318326 1567 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1568 },
1569 {
1570 .id = AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
1571 .type = AVMEDIA_TYPE_AUDIO,
1572 .name = "adpcm_ima_ea_sead",
1573 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts SEAD"),
a2318326 1574 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1575 },
1576 {
1577 .id = AV_CODEC_ID_ADPCM_IMA_EA_EACS,
1578 .type = AVMEDIA_TYPE_AUDIO,
1579 .name = "adpcm_ima_ea_eacs",
1580 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Electronic Arts EACS"),
a2318326 1581 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1582 },
1583 {
1584 .id = AV_CODEC_ID_ADPCM_EA_XAS,
1585 .type = AVMEDIA_TYPE_AUDIO,
1586 .name = "adpcm_ea_xas",
1587 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts XAS"),
a2318326 1588 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1589 },
1590 {
1591 .id = AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
1592 .type = AVMEDIA_TYPE_AUDIO,
1593 .name = "adpcm_ea_maxis_xa",
1594 .long_name = NULL_IF_CONFIG_SMALL("ADPCM Electronic Arts Maxis CDROM XA"),
a2318326 1595 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1596 },
1597 {
1598 .id = AV_CODEC_ID_ADPCM_IMA_ISS,
1599 .type = AVMEDIA_TYPE_AUDIO,
1600 .name = "adpcm_ima_iss",
1601 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Funcom ISS"),
a2318326 1602 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1603 },
1604 {
1605 .id = AV_CODEC_ID_ADPCM_G722,
1606 .type = AVMEDIA_TYPE_AUDIO,
1607 .name = "adpcm_g722",
1608 .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
a2318326 1609 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1610 },
1611 {
1612 .id = AV_CODEC_ID_ADPCM_IMA_APC,
1613 .type = AVMEDIA_TYPE_AUDIO,
1614 .name = "adpcm_ima_apc",
1615 .long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA CRYO APC"),
a2318326 1616 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1617 },
1618
1619 /* AMR */
1620 {
1621 .id = AV_CODEC_ID_AMR_NB,
1622 .type = AVMEDIA_TYPE_AUDIO,
1623 .name = "amr_nb",
1624 .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
a2318326 1625 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1626 },
1627 {
1628 .id = AV_CODEC_ID_AMR_WB,
1629 .type = AVMEDIA_TYPE_AUDIO,
1630 .name = "amr_wb",
1631 .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
a2318326 1632 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1633 },
1634
1635 /* RealAudio codecs*/
1636 {
1637 .id = AV_CODEC_ID_RA_144,
1638 .type = AVMEDIA_TYPE_AUDIO,
1639 .name = "ra_144",
1640 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
a2318326 1641 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1642 },
1643 {
1644 .id = AV_CODEC_ID_RA_288,
1645 .type = AVMEDIA_TYPE_AUDIO,
1646 .name = "ra_288",
1647 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
a2318326 1648 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1649 },
1650
1651 /* various DPCM codecs */
1652 {
1653 .id = AV_CODEC_ID_ROQ_DPCM,
1654 .type = AVMEDIA_TYPE_AUDIO,
1655 .name = "roq_dpcm",
1656 .long_name = NULL_IF_CONFIG_SMALL("DPCM id RoQ"),
a2318326 1657 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1658 },
1659 {
1660 .id = AV_CODEC_ID_INTERPLAY_DPCM,
1661 .type = AVMEDIA_TYPE_AUDIO,
1662 .name = "interplay_dpcm",
1663 .long_name = NULL_IF_CONFIG_SMALL("DPCM Interplay"),
a2318326 1664 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1665 },
1666 {
1667 .id = AV_CODEC_ID_XAN_DPCM,
1668 .type = AVMEDIA_TYPE_AUDIO,
1669 .name = "xan_dpcm",
1670 .long_name = NULL_IF_CONFIG_SMALL("DPCM Xan"),
a2318326 1671 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1672 },
1673 {
1674 .id = AV_CODEC_ID_SOL_DPCM,
1675 .type = AVMEDIA_TYPE_AUDIO,
1676 .name = "sol_dpcm",
1677 .long_name = NULL_IF_CONFIG_SMALL("DPCM Sol"),
a2318326 1678 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1679 },
1680
1681 /* audio codecs */
1682 {
1683 .id = AV_CODEC_ID_MP2,
1684 .type = AVMEDIA_TYPE_AUDIO,
1685 .name = "mp2",
1686 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
a2318326 1687 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1688 },
1689 {
1690 .id = AV_CODEC_ID_MP3,
1691 .type = AVMEDIA_TYPE_AUDIO,
1692 .name = "mp3",
1693 .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
a2318326 1694 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1695 },
1696 {
1697 .id = AV_CODEC_ID_AAC,
1698 .type = AVMEDIA_TYPE_AUDIO,
1699 .name = "aac",
1700 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
a2318326 1701 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1702 },
1703 {
1704 .id = AV_CODEC_ID_AC3,
1705 .type = AVMEDIA_TYPE_AUDIO,
1706 .name = "ac3",
1707 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
a2318326 1708 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1709 },
1710 {
1711 .id = AV_CODEC_ID_DTS,
1712 .type = AVMEDIA_TYPE_AUDIO,
1713 .name = "dts",
1714 .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
a2318326 1715 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1716 },
1717 {
1718 .id = AV_CODEC_ID_VORBIS,
1719 .type = AVMEDIA_TYPE_AUDIO,
1720 .name = "vorbis",
1721 .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
a2318326 1722 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1723 },
1724 {
1725 .id = AV_CODEC_ID_DVAUDIO,
1726 .type = AVMEDIA_TYPE_AUDIO,
1727 .name = "dvaudio",
a2318326 1728 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1729 },
1730 {
1731 .id = AV_CODEC_ID_WMAV1,
1732 .type = AVMEDIA_TYPE_AUDIO,
1733 .name = "wmav1",
1734 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
a2318326 1735 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1736 },
1737 {
1738 .id = AV_CODEC_ID_WMAV2,
1739 .type = AVMEDIA_TYPE_AUDIO,
1740 .name = "wmav2",
1741 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
a2318326 1742 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1743 },
1744 {
1745 .id = AV_CODEC_ID_MACE3,
1746 .type = AVMEDIA_TYPE_AUDIO,
1747 .name = "mace3",
1748 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
a2318326 1749 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1750 },
1751 {
1752 .id = AV_CODEC_ID_MACE6,
1753 .type = AVMEDIA_TYPE_AUDIO,
1754 .name = "mace6",
1755 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
a2318326 1756 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1757 },
1758 {
1759 .id = AV_CODEC_ID_VMDAUDIO,
1760 .type = AVMEDIA_TYPE_AUDIO,
1761 .name = "vmdaudio",
1762 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
a2318326 1763 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1764 },
1765 {
1766 .id = AV_CODEC_ID_FLAC,
1767 .type = AVMEDIA_TYPE_AUDIO,
1768 .name = "flac",
1769 .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
a2318326 1770 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1771 },
1772 {
1773 .id = AV_CODEC_ID_MP3ADU,
1774 .type = AVMEDIA_TYPE_AUDIO,
1775 .name = "mp3adu",
1776 .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
a2318326 1777 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1778 },
1779 {
1780 .id = AV_CODEC_ID_MP3ON4,
1781 .type = AVMEDIA_TYPE_AUDIO,
1782 .name = "mp3on4",
1783 .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
a2318326 1784 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1785 },
1786 {
1787 .id = AV_CODEC_ID_SHORTEN,
1788 .type = AVMEDIA_TYPE_AUDIO,
1789 .name = "shorten",
1790 .long_name = NULL_IF_CONFIG_SMALL("Shorten"),
a2318326 1791 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1792 },
1793 {
1794 .id = AV_CODEC_ID_ALAC,
1795 .type = AVMEDIA_TYPE_AUDIO,
1796 .name = "alac",
1797 .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
a2318326 1798 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1799 },
1800 {
1801 .id = AV_CODEC_ID_WESTWOOD_SND1,
1802 .type = AVMEDIA_TYPE_AUDIO,
1803 .name = "westwood_snd1",
1804 .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
a2318326 1805 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1806 },
1807 {
1808 .id = AV_CODEC_ID_GSM,
1809 .type = AVMEDIA_TYPE_AUDIO,
1810 .name = "gsm",
1811 .long_name = NULL_IF_CONFIG_SMALL("GSM"),
a2318326 1812 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1813 },
1814 {
1815 .id = AV_CODEC_ID_QDM2,
1816 .type = AVMEDIA_TYPE_AUDIO,
1817 .name = "qdm2",
1818 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
a2318326 1819 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1820 },
1821 {
1822 .id = AV_CODEC_ID_COOK,
1823 .type = AVMEDIA_TYPE_AUDIO,
1824 .name = "cook",
1825 .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
a2318326 1826 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1827 },
1828 {
1829 .id = AV_CODEC_ID_TRUESPEECH,
1830 .type = AVMEDIA_TYPE_AUDIO,
1831 .name = "truespeech",
1832 .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
a2318326 1833 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1834 },
1835 {
1836 .id = AV_CODEC_ID_TTA,
1837 .type = AVMEDIA_TYPE_AUDIO,
1838 .name = "tta",
1839 .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
a2318326 1840 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1841 },
1842 {
1843 .id = AV_CODEC_ID_SMACKAUDIO,
1844 .type = AVMEDIA_TYPE_AUDIO,
1845 .name = "smackaudio",
1846 .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
a2318326 1847 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1848 },
1849 {
1850 .id = AV_CODEC_ID_QCELP,
1851 .type = AVMEDIA_TYPE_AUDIO,
1852 .name = "qcelp",
1853 .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
a2318326 1854 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1855 },
1856 {
1857 .id = AV_CODEC_ID_WAVPACK,
1858 .type = AVMEDIA_TYPE_AUDIO,
1859 .name = "wavpack",
1860 .long_name = NULL_IF_CONFIG_SMALL("WavPack"),
a2318326 1861 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1862 },
1863 {
1864 .id = AV_CODEC_ID_DSICINAUDIO,
1865 .type = AVMEDIA_TYPE_AUDIO,
1866 .name = "dsicinaudio",
1867 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
a2318326 1868 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1869 },
1870 {
1871 .id = AV_CODEC_ID_IMC,
1872 .type = AVMEDIA_TYPE_AUDIO,
1873 .name = "imc",
1874 .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
a2318326 1875 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1876 },
1877 {
1878 .id = AV_CODEC_ID_MUSEPACK7,
1879 .type = AVMEDIA_TYPE_AUDIO,
1880 .name = "musepack7",
1881 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
a2318326 1882 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1883 },
1884 {
1885 .id = AV_CODEC_ID_MLP,
1886 .type = AVMEDIA_TYPE_AUDIO,
1887 .name = "mlp",
1888 .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
a2318326 1889 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1890 },
1891 {
1892 .id = AV_CODEC_ID_GSM_MS,
1893 .type = AVMEDIA_TYPE_AUDIO,
1894 .name = "gsm_ms",
1895 .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
a2318326 1896 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1897 },
1898 {
1899 .id = AV_CODEC_ID_ATRAC3,
1900 .type = AVMEDIA_TYPE_AUDIO,
1901 .name = "atrac3",
1902 .long_name = NULL_IF_CONFIG_SMALL("Atrac 3 (Adaptive TRansform Acoustic Coding 3)"),
a2318326 1903 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1904 },
1905 {
1906 .id = AV_CODEC_ID_VOXWARE,
1907 .type = AVMEDIA_TYPE_AUDIO,
1908 .name = "voxware",
1909 .long_name = NULL_IF_CONFIG_SMALL("Voxware RT29 Metasound"),
a2318326 1910 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1911 },
1912 {
1913 .id = AV_CODEC_ID_APE,
1914 .type = AVMEDIA_TYPE_AUDIO,
1915 .name = "ape",
1916 .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
a2318326 1917 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1918 },
1919 {
1920 .id = AV_CODEC_ID_NELLYMOSER,
1921 .type = AVMEDIA_TYPE_AUDIO,
1922 .name = "nellymoser",
1923 .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
a2318326 1924 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1925 },
1926 {
1927 .id = AV_CODEC_ID_MUSEPACK8,
1928 .type = AVMEDIA_TYPE_AUDIO,
1929 .name = "musepack8",
1930 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
a2318326 1931 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1932 },
1933 {
1934 .id = AV_CODEC_ID_SPEEX,
1935 .type = AVMEDIA_TYPE_AUDIO,
1936 .name = "speex",
1937 .long_name = NULL_IF_CONFIG_SMALL("Speex"),
a2318326 1938 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1939 },
1940 {
1941 .id = AV_CODEC_ID_WMAVOICE,
1942 .type = AVMEDIA_TYPE_AUDIO,
1943 .name = "wmavoice",
1944 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
a2318326 1945 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1946 },
1947 {
1948 .id = AV_CODEC_ID_WMAPRO,
1949 .type = AVMEDIA_TYPE_AUDIO,
1950 .name = "wmapro",
1951 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
a2318326 1952 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1953 },
1954 {
1955 .id = AV_CODEC_ID_WMALOSSLESS,
1956 .type = AVMEDIA_TYPE_AUDIO,
1957 .name = "wmalossless",
1958 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
a2318326 1959 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
1960 },
1961 {
1962 .id = AV_CODEC_ID_ATRAC3P,
1963 .type = AVMEDIA_TYPE_AUDIO,
1964 .name = "atrac3p",
1965 .long_name = NULL_IF_CONFIG_SMALL("Sony ATRAC3+"),
a2318326 1966 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1967 },
1968 {
1969 .id = AV_CODEC_ID_EAC3,
1970 .type = AVMEDIA_TYPE_AUDIO,
1971 .name = "eac3",
1972 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
a2318326 1973 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1974 },
1975 {
1976 .id = AV_CODEC_ID_SIPR,
1977 .type = AVMEDIA_TYPE_AUDIO,
1978 .name = "sipr",
1979 .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
a2318326 1980 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1981 },
1982 {
1983 .id = AV_CODEC_ID_MP1,
1984 .type = AVMEDIA_TYPE_AUDIO,
1985 .name = "mp1",
1986 .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
a2318326 1987 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1988 },
1989 {
1990 .id = AV_CODEC_ID_TWINVQ,
1991 .type = AVMEDIA_TYPE_AUDIO,
1992 .name = "twinvq",
1993 .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
a2318326 1994 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
1995 },
1996 {
1997 .id = AV_CODEC_ID_TRUEHD,
1998 .type = AVMEDIA_TYPE_AUDIO,
1999 .name = "truehd",
2000 .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
a2318326 2001 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
2002 },
2003 {
2004 .id = AV_CODEC_ID_MP4ALS,
2005 .type = AVMEDIA_TYPE_AUDIO,
2006 .name = "mp4als",
2007 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
a2318326 2008 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
2009 },
2010 {
2011 .id = AV_CODEC_ID_ATRAC1,
2012 .type = AVMEDIA_TYPE_AUDIO,
2013 .name = "atrac1",
2014 .long_name = NULL_IF_CONFIG_SMALL("Atrac 1 (Adaptive TRansform Acoustic Coding)"),
a2318326 2015 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2016 },
2017 {
2018 .id = AV_CODEC_ID_BINKAUDIO_RDFT,
2019 .type = AVMEDIA_TYPE_AUDIO,
2020 .name = "binkaudio_rdft",
a2318326
AK
2021 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
2022 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2023 },
2024 {
2025 .id = AV_CODEC_ID_BINKAUDIO_DCT,
2026 .type = AVMEDIA_TYPE_AUDIO,
2027 .name = "binkaudio_dct",
a2318326
AK
2028 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
2029 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2030 },
2031 {
2032 .id = AV_CODEC_ID_AAC_LATM,
2033 .type = AVMEDIA_TYPE_AUDIO,
2034 .name = "aac_latm",
2035 .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
a2318326 2036 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2037 },
2038 {
2039 .id = AV_CODEC_ID_QDMC,
2040 .type = AVMEDIA_TYPE_AUDIO,
2041 .name = "qdmc",
2042 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music"),
a2318326 2043 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2044 },
2045 {
2046 .id = AV_CODEC_ID_CELT,
2047 .type = AVMEDIA_TYPE_AUDIO,
2048 .name = "celt",
2049 .long_name = NULL_IF_CONFIG_SMALL("Constrained Energy Lapped Transform (CELT)"),
a2318326 2050 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2051 },
2052 {
2053 .id = AV_CODEC_ID_G723_1,
2054 .type = AVMEDIA_TYPE_AUDIO,
2055 .name = "g723_1",
2056 .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
a2318326 2057 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2058 },
2059 {
2060 .id = AV_CODEC_ID_G729,
2061 .type = AVMEDIA_TYPE_AUDIO,
2062 .name = "g729",
2063 .long_name = NULL_IF_CONFIG_SMALL("G.729"),
a2318326 2064 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2065 },
2066 {
2067 .id = AV_CODEC_ID_8SVX_EXP,
2068 .type = AVMEDIA_TYPE_AUDIO,
2069 .name = "8svx_exp",
2070 .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
a2318326 2071 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2072 },
2073 {
2074 .id = AV_CODEC_ID_8SVX_FIB,
2075 .type = AVMEDIA_TYPE_AUDIO,
2076 .name = "8svx_fib",
2077 .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
a2318326 2078 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2079 },
2080 {
2081 .id = AV_CODEC_ID_BMV_AUDIO,
2082 .type = AVMEDIA_TYPE_AUDIO,
2083 .name = "bmv_audio",
2084 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
a2318326 2085 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2086 },
2087 {
2088 .id = AV_CODEC_ID_RALF,
2089 .type = AVMEDIA_TYPE_AUDIO,
2090 .name = "ralf",
2091 .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
a2318326 2092 .props = AV_CODEC_PROP_LOSSLESS,
c223d799
AK
2093 },
2094 {
2095 .id = AV_CODEC_ID_IAC,
2096 .type = AVMEDIA_TYPE_AUDIO,
2097 .name = "iac",
2098 .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
a2318326 2099 .props = AV_CODEC_PROP_LOSSY,
c223d799
AK
2100 },
2101 {
2102 .id = AV_CODEC_ID_ILBC,
2103 .type = AVMEDIA_TYPE_AUDIO,
2104 .name = "ilbc",
2105 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
a2318326 2106 .props = AV_CODEC_PROP_LOSSY,
c223d799 2107 },
2a3d82ab
AA
2108 {
2109 .id = AV_CODEC_ID_OPUS,
2110 .type = AVMEDIA_TYPE_AUDIO,
2111 .name = "opus",
2112 .long_name = NULL_IF_CONFIG_SMALL("Opus (Opus Interactive Audio Codec)"),
2113 .props = AV_CODEC_PROP_LOSSY,
2114 },
c223d799
AK
2115
2116 /* subtitle codecs */
2117 {
2118 .id = AV_CODEC_ID_DVD_SUBTITLE,
2119 .type = AVMEDIA_TYPE_SUBTITLE,
2120 .name = "dvd_subtitle",
2121 .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
2122 },
2123 {
2124 .id = AV_CODEC_ID_DVB_SUBTITLE,
2125 .type = AVMEDIA_TYPE_SUBTITLE,
2126 .name = "dvb_subtitle",
2127 .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
2128 },
2129 {
2130 .id = AV_CODEC_ID_TEXT,
2131 .type = AVMEDIA_TYPE_SUBTITLE,
2132 .name = "text",
2133 .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"),
2134 },
2135 {
2136 .id = AV_CODEC_ID_XSUB,
2137 .type = AVMEDIA_TYPE_SUBTITLE,
2138 .name = "xsub",
2139 .long_name = NULL_IF_CONFIG_SMALL("XSUB"),
2140 },
2141 {
2142 .id = AV_CODEC_ID_SSA,
2143 .type = AVMEDIA_TYPE_SUBTITLE,
2144 .name = "ssa",
2145 .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) / ASS (Advanced SSA) subtitle"),
2146 },
2147 {
2148 .id = AV_CODEC_ID_MOV_TEXT,
2149 .type = AVMEDIA_TYPE_SUBTITLE,
2150 .name = "mov_text",
2151 .long_name = NULL_IF_CONFIG_SMALL("MOV text"),
2152 },
2153 {
2154 .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
2155 .type = AVMEDIA_TYPE_SUBTITLE,
2156 .name = "hdmv_pgs_subtitle",
2157 .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
2158 },
2159 {
2160 .id = AV_CODEC_ID_DVB_TELETEXT,
2161 .type = AVMEDIA_TYPE_SUBTITLE,
2162 .name = "dvb_teletext",
2163 .long_name = NULL_IF_CONFIG_SMALL("DVB teletext"),
2164 },
2165 {
2166 .id = AV_CODEC_ID_SRT,
2167 .type = AVMEDIA_TYPE_SUBTITLE,
2168 .name = "srt",
2169 .long_name = NULL_IF_CONFIG_SMALL("SubRip Text"),
2170 },
2171};
2172
2173const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id)
2174{
2175 int i;
2176
2177 for (i = 0; i < FF_ARRAY_ELEMS(codec_descriptors); i++)
2178 if (codec_descriptors[i].id == id)
2179 return &codec_descriptors[i];
2180 return NULL;
2181}
2182
2183const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev)
2184{
2185 if (!prev)
2186 return &codec_descriptors[0];
2187 if (prev - codec_descriptors < FF_ARRAY_ELEMS(codec_descriptors) - 1)
2188 return prev + 1;
2189 return NULL;
2190}
91e59fea
AK
2191
2192const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name)
2193{
2194 const AVCodecDescriptor *desc = NULL;
2195
2196 while ((desc = avcodec_descriptor_next(desc))) {
2197 if (!strcmp(desc->name, name))
2198 return desc;
2199 }
2200 return NULL;
2201}