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