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