1use std::ffi::CStr;
2use std::str::from_utf8_unchecked;
3
4use ffi::AVCodecID::*;
5use ffi::*;
6use util::media;
7
8#[allow(non_camel_case_types)]
9#[derive(Eq, PartialEq, Clone, Copy, Debug)]
10pub enum Id {
11 None,
12
13 // video codecs
14 MPEG1VIDEO,
15 MPEG2VIDEO,
16 #[cfg(all(feature = "ff_api_xvmc", not(feature = "ffmpeg_5_0")))]
17 MPEG2VIDEO_XVMC,
18 H261,
19 H263,
20 RV10,
21 RV20,
22 MJPEG,
23 MJPEGB,
24 LJPEG,
25 SP5X,
26 JPEGLS,
27 MPEG4,
28 RAWVIDEO,
29 MSMPEG4V1,
30 MSMPEG4V2,
31 MSMPEG4V3,
32 WMV1,
33 WMV2,
34 H263P,
35 H263I,
36 FLV1,
37 SVQ1,
38 SVQ3,
39 DVVIDEO,
40 HUFFYUV,
41 CYUV,
42 H264,
43 INDEO3,
44 VP3,
45 THEORA,
46 ASV1,
47 ASV2,
48 FFV1,
49 XM4,
50 VCR1,
51 CLJR,
52 MDEC,
53 ROQ,
54 INTERPLAY_VIDEO,
55 XAN_WC3,
56 XAN_WC4,
57 RPZA,
58 CINEPAK,
59 WS_VQA,
60 MSRLE,
61 MSVIDEO1,
62 IDCIN,
63 BPS8,
64 SMC,
65 FLIC,
66 TRUEMOTION1,
67 VMDVIDEO,
68 MSZH,
69 ZLIB,
70 QTRLE,
71 TSCC,
72 ULTI,
73 QDRAW,
74 VIXL,
75 QPEG,
76 PNG,
77 PPM,
78 PBM,
79 PGM,
80 PGMYUV,
81 PAM,
82 FFVHUFF,
83 RV30,
84 RV40,
85 VC1,
86 WMV3,
87 LOCO,
88 WNV1,
89 AASC,
90 INDEO2,
91 FRAPS,
92 TRUEMOTION2,
93 BMP,
94 CSCD,
95 MMVIDEO,
96 ZMBV,
97 AVS,
98 SMACKVIDEO,
99 NUV,
100 KMVC,
101 FLASHSV,
102 CAVS,
103 JPEG2000,
104 VMNC,
105 VP5,
106 VP6,
107 VP6F,
108 TARGA,
109 DSICINVIDEO,
110 TIERTEXSEQVIDEO,
111 TIFF,
112 GIF,
113 DXA,
114 DNXHD,
115 THP,
116 SGI,
117 C93,
118 BETHSOFTVID,
119 PTX,
120 TXD,
121 VP6A,
122 AMV,
123 VB,
124 PCX,
125 SUNRAST,
126 INDEO4,
127 INDEO5,
128 MIMIC,
129 RL2,
130 ESCAPE124,
131 DIRAC,
132 BFI,
133 CMV,
134 MOTIONPIXELS,
135 TGV,
136 TGQ,
137 TQI,
138 AURA,
139 AURA2,
140 V210X,
141 TMV,
142 V210,
143 DPX,
144 MAD,
145 FRWU,
146 FLASHSV2,
147 CDGRAPHICS,
148 R210,
149 ANM,
150 BINKVIDEO,
151 IFF_ILBM,
152 IFF_BYTERUN1,
153 KGV1,
154 YOP,
155 VP8,
156 PICTOR,
157 ANSI,
158 A64_MULTI,
159 A64_MULTI5,
160 R10K,
161 MXPEG,
162 LAGARITH,
163 PRORES,
164 JV,
165 DFA,
166 WMV3IMAGE,
167 VC1IMAGE,
168 UTVIDEO,
169 BMV_VIDEO,
170 VBLE,
171 DXTORY,
172 V410,
173 XWD,
174 CDXL,
175 XBM,
176 ZEROCODEC,
177 MSS1,
178 MSA1,
179 TSCC2,
180 MTS2,
181 CLLC,
182 MSS2,
183 VP9,
184 AIC,
185 ESCAPE130,
186 G2M,
187 WEBP,
188 HNM4_VIDEO,
189 HEVC,
190 H265,
191 FIC,
192 ALIAS_PIX,
193 BRENDER_PIX,
194 PAF_VIDEO,
195 EXR,
196 VP7,
197 SANM,
198 SGIRLE,
199 MVC1,
200 MVC2,
201 HQX,
202 TDSC,
203 HQ_HQA,
204 HAP,
205 DDS,
206 DXV,
207 SCREENPRESSO,
208 RSCC,
209
210 Y41P,
211 AVRP,
212 V012,
213 AVUI,
214 #[cfg(not(feature = "ffmpeg_7_0"))]
215 AYUV,
216 TARGA_Y216,
217 V308,
218 V408,
219 YUV4,
220 AVRN,
221 CPIA,
222 XFACE,
223 SNOW,
224 SMVJPEG,
225 APNG,
226 DAALA,
227 CFHD,
228 TRUEMOTION2RT,
229 M101,
230 MAGICYUV,
231 SHEERVIDEO,
232 YLC,
233
234 // various PCM "codecs"
235 PCM_S16LE,
236 PCM_S16BE,
237 PCM_U16LE,
238 PCM_U16BE,
239 PCM_S8,
240 PCM_U8,
241 PCM_MULAW,
242 PCM_ALAW,
243 PCM_S32LE,
244 PCM_S32BE,
245 PCM_U32LE,
246 PCM_U32BE,
247 PCM_S24LE,
248 PCM_S24BE,
249 PCM_U24LE,
250 PCM_U24BE,
251 PCM_S24DAUD,
252 PCM_ZORK,
253 PCM_S16LE_PLANAR,
254 PCM_DVD,
255 PCM_F32BE,
256 PCM_F32LE,
257 PCM_F64BE,
258 PCM_F64LE,
259 PCM_BLURAY,
260 PCM_LXF,
261 S302M,
262 PCM_S8_PLANAR,
263 PCM_S24LE_PLANAR,
264 PCM_S32LE_PLANAR,
265 PCM_S16BE_PLANAR,
266
267 PCM_S64LE,
268 PCM_S64BE,
269
270 // various ADPCM codecs
271 ADPCM_IMA_QT,
272 ADPCM_IMA_WAV,
273 ADPCM_IMA_DK3,
274 ADPCM_IMA_DK4,
275 ADPCM_IMA_WS,
276 ADPCM_IMA_SMJPEG,
277 ADPCM_MS,
278 ADPCM_4XM,
279 ADPCM_XA,
280 ADPCM_ADX,
281 ADPCM_EA,
282 ADPCM_G726,
283 ADPCM_CT,
284 ADPCM_SWF,
285 ADPCM_YAMAHA,
286 ADPCM_SBPRO_4,
287 ADPCM_SBPRO_3,
288 ADPCM_SBPRO_2,
289 ADPCM_THP,
290 ADPCM_IMA_AMV,
291 ADPCM_EA_R1,
292 ADPCM_EA_R3,
293 ADPCM_EA_R2,
294 ADPCM_IMA_EA_SEAD,
295 ADPCM_IMA_EA_EACS,
296 ADPCM_EA_XAS,
297 ADPCM_EA_MAXIS_XA,
298 ADPCM_IMA_ISS,
299 ADPCM_G722,
300 ADPCM_IMA_APC,
301 ADPCM_VIMA,
302
303 ADPCM_AFC,
304 ADPCM_IMA_OKI,
305 ADPCM_DTK,
306 ADPCM_IMA_RAD,
307 ADPCM_G726LE,
308 ADPCM_THP_LE,
309 ADPCM_PSX,
310 ADPCM_AICA,
311 ADPCM_IMA_DAT4,
312 ADPCM_MTAF,
313
314 // AMR
315 AMR_NB,
316 AMR_WB,
317
318 // RealAudio codecs
319 RA_144,
320 RA_288,
321
322 // various DPCM codecs
323 ROQ_DPCM,
324 INTERPLAY_DPCM,
325 XAN_DPCM,
326 SOL_DPCM,
327
328 SDX2_DPCM,
329
330 // audio codecs
331 MP2,
332 MP3,
333 AAC,
334 AC3,
335 DTS,
336 VORBIS,
337 DVAUDIO,
338 WMAV1,
339 WMAV2,
340 MACE3,
341 MACE6,
342 VMDAUDIO,
343 FLAC,
344 MP3ADU,
345 MP3ON4,
346 SHORTEN,
347 ALAC,
348 WESTWOOD_SND1,
349 GSM,
350 QDM2,
351 COOK,
352 TRUESPEECH,
353 TTA,
354 SMACKAUDIO,
355 QCELP,
356 WAVPACK,
357 DSICINAUDIO,
358 IMC,
359 MUSEPACK7,
360 MLP,
361 GSM_MS,
362 ATRAC3,
363 #[cfg(feature = "ff_api_voxware")]
364 VOXWARE,
365 APE,
366 NELLYMOSER,
367 MUSEPACK8,
368 SPEEX,
369 WMAVOICE,
370 WMAPRO,
371 WMALOSSLESS,
372 ATRAC3P,
373 EAC3,
374 SIPR,
375 MP1,
376 TWINVQ,
377 TRUEHD,
378 MP4ALS,
379 ATRAC1,
380 BINKAUDIO_RDFT,
381 BINKAUDIO_DCT,
382 AAC_LATM,
383 QDMC,
384 CELT,
385 G723_1,
386 G729,
387 SVX_EXP8,
388 SVX_FIB8,
389 BMV_AUDIO,
390 RALF,
391 IAC,
392 ILBC,
393 OPUS,
394 COMFORT_NOISE,
395 TAK,
396 METASOUND,
397 PAF_AUDIO,
398 ON2AVC,
399 DSS_SP,
400
401 #[cfg(feature = "ffmpeg_4_0")]
402 CODEC2,
403 FFWAVESYNTH,
404 SONIC,
405 SONIC_LS,
406 EVRC,
407 SMV,
408 DSD_LSBF,
409 DSD_MSBF,
410 DSD_LSBF_PLANAR,
411 DSD_MSBF_PLANAR,
412 _4GV,
413 INTERPLAY_ACM,
414 XMA1,
415 XMA2,
416 DST,
417
418 // subtitle codecs
419 DVD_SUBTITLE,
420 DVB_SUBTITLE,
421 TEXT,
422 XSUB,
423 SSA,
424 MOV_TEXT,
425 HDMV_PGS_SUBTITLE,
426 DVB_TELETEXT,
427 SRT,
428
429 MICRODVD,
430 EIA_608,
431 JACOSUB,
432 SAMI,
433 REALTEXT,
434 STL,
435 SUBVIEWER1,
436 SUBVIEWER,
437 SUBRIP,
438 WEBVTT,
439 MPL2,
440 VPLAYER,
441 PJS,
442 ASS,
443 HDMV_TEXT_SUBTITLE,
444
445 // other specific kind of codecs (generally used for attachments)
446 TTF,
447
448 SCTE_35,
449 BINTEXT,
450 XBIN,
451 IDF,
452 OTF,
453 SMPTE_KLV,
454 DVD_NAV,
455 TIMED_ID3,
456 BIN_DATA,
457
458 PROBE,
459
460 MPEG2TS,
461 MPEG4SYSTEMS,
462 FFMETADATA,
463 WRAPPED_AVFRAME,
464
465 PSD,
466 PIXLET,
467 SPEEDHQ,
468 CLEARVIDEO,
469 FMVC,
470 SCPR,
471 XPM,
472 AV1,
473 PCM_F16LE,
474 PCM_F24LE,
475 ATRAC3AL,
476 ATRAC3PAL,
477
478 BITPACKED,
479 MSCC,
480 SRGC,
481 SVG,
482 GDV,
483 FITS,
484 GREMLIN_DPCM,
485 DOLBY_E,
486
487 #[cfg(feature = "ffmpeg_4_0")]
488 APTX,
489 #[cfg(feature = "ffmpeg_4_0")]
490 APTX_HD,
491 #[cfg(feature = "ffmpeg_4_0")]
492 SBC,
493
494 #[cfg(feature = "ffmpeg_4_1")]
495 AVS2,
496 #[cfg(feature = "ffmpeg_4_1")]
497 IMM4,
498 #[cfg(feature = "ffmpeg_4_1")]
499 PROSUMER,
500 #[cfg(feature = "ffmpeg_4_1")]
501 MWSC,
502 #[cfg(feature = "ffmpeg_4_1")]
503 WCMV,
504 #[cfg(feature = "ffmpeg_4_1")]
505 RASC,
506 #[cfg(feature = "ffmpeg_4_1")]
507 PCM_VIDC,
508 #[cfg(feature = "ffmpeg_4_1")]
509 ATRAC9,
510 #[cfg(feature = "ffmpeg_4_1")]
511 TTML,
512
513 #[cfg(feature = "ffmpeg_4_2")]
514 HYMT,
515 #[cfg(feature = "ffmpeg_4_2")]
516 ARBC,
517 #[cfg(feature = "ffmpeg_4_2")]
518 AGM,
519 #[cfg(feature = "ffmpeg_4_2")]
520 LSCR,
521 #[cfg(feature = "ffmpeg_4_2")]
522 VP4,
523 #[cfg(feature = "ffmpeg_4_2")]
524 ADPCM_AGM,
525 #[cfg(feature = "ffmpeg_4_2")]
526 HCOM,
527 #[cfg(feature = "ffmpeg_4_2")]
528 ARIB_CAPTION,
529
530 #[cfg(feature = "ffmpeg_4_3")]
531 IMM5,
532 #[cfg(feature = "ffmpeg_4_3")]
533 MVDV,
534 #[cfg(feature = "ffmpeg_4_3")]
535 MVHA,
536 #[cfg(feature = "ffmpeg_4_3")]
537 CDTOONS,
538 #[cfg(feature = "ffmpeg_4_3")]
539 MV30,
540 #[cfg(feature = "ffmpeg_4_3")]
541 NOTCHLC,
542 #[cfg(feature = "ffmpeg_4_3")]
543 PFM,
544 #[cfg(feature = "ffmpeg_4_3")]
545 ADPCM_ARGO,
546 #[cfg(feature = "ffmpeg_4_3")]
547 ADPCM_IMA_SSI,
548 #[cfg(feature = "ffmpeg_4_3")]
549 ADPCM_ZORK,
550 #[cfg(feature = "ffmpeg_4_3")]
551 ADPCM_IMA_APM,
552 #[cfg(feature = "ffmpeg_4_3")]
553 ADPCM_IMA_ALP,
554 #[cfg(feature = "ffmpeg_4_3")]
555 ADPCM_IMA_MTF,
556 #[cfg(feature = "ffmpeg_4_3")]
557 ADPCM_IMA_CUNNING,
558 #[cfg(feature = "ffmpeg_4_3")]
559 DERF_DPCM,
560 #[cfg(feature = "ffmpeg_4_3")]
561 ACELP_KELVIN,
562 #[cfg(feature = "ffmpeg_4_3")]
563 MPEGH_3D_AUDIO,
564 #[cfg(feature = "ffmpeg_4_3")]
565 SIREN,
566 #[cfg(feature = "ffmpeg_4_3")]
567 HCA,
568 #[cfg(feature = "ffmpeg_4_3")]
569 EPG,
570
571 #[cfg(feature = "ffmpeg_4_4")]
572 AVS3,
573 #[cfg(feature = "ffmpeg_4_4")]
574 PGX,
575 #[cfg(feature = "ffmpeg_4_4")]
576 MSP2,
577 #[cfg(feature = "ffmpeg_4_4")]
578 VVC,
579 #[cfg(feature = "ffmpeg_4_4")]
580 MOBICLIP,
581 #[cfg(feature = "ffmpeg_4_4")]
582 PHOTOCD,
583 #[cfg(feature = "ffmpeg_4_4")]
584 ARGO,
585 #[cfg(feature = "ffmpeg_4_4")]
586 CRI,
587 #[cfg(feature = "ffmpeg_4_4")]
588 IPU,
589 #[cfg(feature = "ffmpeg_4_4")]
590 SIMBIOSIS_IMX,
591 #[cfg(feature = "ffmpeg_4_4")]
592 SGA_VIDEO,
593 #[cfg(feature = "ffmpeg_4_4")]
594 PCM_SGA,
595 #[cfg(feature = "ffmpeg_4_4")]
596 ADPCM_IMA_MOFLEX,
597 #[cfg(feature = "ffmpeg_4_4")]
598 FASTAUDIO,
599
600 #[cfg(feature = "ffmpeg_5_0")]
601 GEM,
602 #[cfg(feature = "ffmpeg_5_0")]
603 ADPCM_IMA_ACORN,
604 #[cfg(feature = "ffmpeg_5_0")]
605 MSNSIREN,
606
607 #[cfg(feature = "ffmpeg_5_1")]
608 VBN,
609 #[cfg(feature = "ffmpeg_5_1")]
610 JPEGXL,
611 #[cfg(feature = "ffmpeg_5_1")]
612 QOI,
613 #[cfg(feature = "ffmpeg_5_1")]
614 PHM,
615 #[cfg(feature = "ffmpeg_5_1")]
616 DFPWM,
617
618 #[cfg(feature = "ffmpeg_6_0")]
619 RADIANCE_HDR,
620 #[cfg(feature = "ffmpeg_6_0")]
621 WBMP,
622 #[cfg(feature = "ffmpeg_6_0")]
623 MEDIA100,
624 #[cfg(feature = "ffmpeg_6_0")]
625 VQC,
626 #[cfg(feature = "ffmpeg_6_0")]
627 ADPCM_XMD,
628 #[cfg(feature = "ffmpeg_6_0")]
629 WADY_DPCM,
630 #[cfg(feature = "ffmpeg_6_0")]
631 CBD2_DPCM,
632 #[cfg(feature = "ffmpeg_6_0")]
633 BONK,
634 #[cfg(feature = "ffmpeg_6_0")]
635 MISC4,
636 #[cfg(feature = "ffmpeg_6_0")]
637 APAC,
638 #[cfg(feature = "ffmpeg_6_0")]
639 FTR,
640 #[cfg(feature = "ffmpeg_6_0")]
641 WAVARC,
642 #[cfg(feature = "ffmpeg_6_0")]
643 RKA,
644 #[cfg(feature = "ffmpeg_6_0")]
645 VNULL,
646 #[cfg(feature = "ffmpeg_6_0")]
647 ANULL,
648
649 #[cfg(feature = "ffmpeg_6_1")]
650 PDV,
651 #[cfg(feature = "ffmpeg_6_1")]
652 EVC,
653 #[cfg(feature = "ffmpeg_6_1")]
654 RTV1,
655 #[cfg(feature = "ffmpeg_6_1")]
656 VMIX,
657 #[cfg(feature = "ffmpeg_6_1")]
658 AC4,
659 #[cfg(feature = "ffmpeg_6_1")]
660 SMPTE_2038,
661 #[cfg(feature = "ffmpeg_6_1")]
662 OSQ,
663
664 #[cfg(feature = "ffmpeg_7_0")]
665 QOA,
666 #[cfg(feature = "ffmpeg_7_0")]
667 LEAD,
668
669 #[cfg(feature = "ffmpeg_7_1")]
670 LC3,
671 #[cfg(feature = "ffmpeg_7_1")]
672 LCEVC,
673}
674
675impl Id {
676 #[cfg(feature = "ff_api_vima_decoder")]
677 pub const VIMA: Id = Id::ADPCM_VIMA;
678
679 pub fn medium(&self) -> media::Type {
680 unsafe { media::Type::from(avcodec_get_type((*self).into())) }
681 }
682
683 pub fn name(&self) -> &'static str {
684 unsafe { from_utf8_unchecked(CStr::from_ptr(avcodec_get_name((*self).into())).to_bytes()) }
685 }
686}
687
688impl From<AVCodecID> for Id {
689 fn from(value: AVCodecID) -> Self {
690 match value {
691 AV_CODEC_ID_NONE => Id::None,
692
693 /* video codecs */
694 AV_CODEC_ID_MPEG1VIDEO => Id::MPEG1VIDEO,
695 AV_CODEC_ID_MPEG2VIDEO => Id::MPEG2VIDEO,
696 #[cfg(all(feature = "ff_api_xvmc", not(feature = "ffmpeg_5_0")))]
697 AV_CODEC_ID_MPEG2VIDEO_XVMC => Id::MPEG2VIDEO_XVMC,
698 AV_CODEC_ID_H261 => Id::H261,
699 AV_CODEC_ID_H263 => Id::H263,
700 AV_CODEC_ID_RV10 => Id::RV10,
701 AV_CODEC_ID_RV20 => Id::RV20,
702 AV_CODEC_ID_MJPEG => Id::MJPEG,
703 AV_CODEC_ID_MJPEGB => Id::MJPEGB,
704 AV_CODEC_ID_LJPEG => Id::LJPEG,
705 AV_CODEC_ID_SP5X => Id::SP5X,
706 AV_CODEC_ID_JPEGLS => Id::JPEGLS,
707 AV_CODEC_ID_MPEG4 => Id::MPEG4,
708 AV_CODEC_ID_RAWVIDEO => Id::RAWVIDEO,
709 AV_CODEC_ID_MSMPEG4V1 => Id::MSMPEG4V1,
710 AV_CODEC_ID_MSMPEG4V2 => Id::MSMPEG4V2,
711 AV_CODEC_ID_MSMPEG4V3 => Id::MSMPEG4V3,
712 AV_CODEC_ID_WMV1 => Id::WMV1,
713 AV_CODEC_ID_WMV2 => Id::WMV2,
714 AV_CODEC_ID_H263P => Id::H263P,
715 AV_CODEC_ID_H263I => Id::H263I,
716 AV_CODEC_ID_FLV1 => Id::FLV1,
717 AV_CODEC_ID_SVQ1 => Id::SVQ1,
718 AV_CODEC_ID_SVQ3 => Id::SVQ3,
719 AV_CODEC_ID_DVVIDEO => Id::DVVIDEO,
720 AV_CODEC_ID_HUFFYUV => Id::HUFFYUV,
721 AV_CODEC_ID_CYUV => Id::CYUV,
722 AV_CODEC_ID_H264 => Id::H264,
723 AV_CODEC_ID_INDEO3 => Id::INDEO3,
724 AV_CODEC_ID_VP3 => Id::VP3,
725 AV_CODEC_ID_THEORA => Id::THEORA,
726 AV_CODEC_ID_ASV1 => Id::ASV1,
727 AV_CODEC_ID_ASV2 => Id::ASV2,
728 AV_CODEC_ID_FFV1 => Id::FFV1,
729 AV_CODEC_ID_4XM => Id::XM4,
730 AV_CODEC_ID_VCR1 => Id::VCR1,
731 AV_CODEC_ID_CLJR => Id::CLJR,
732 AV_CODEC_ID_MDEC => Id::MDEC,
733 AV_CODEC_ID_ROQ => Id::ROQ,
734 AV_CODEC_ID_INTERPLAY_VIDEO => Id::INTERPLAY_VIDEO,
735 AV_CODEC_ID_XAN_WC3 => Id::XAN_WC3,
736 AV_CODEC_ID_XAN_WC4 => Id::XAN_WC4,
737 AV_CODEC_ID_RPZA => Id::RPZA,
738 AV_CODEC_ID_CINEPAK => Id::CINEPAK,
739 AV_CODEC_ID_WS_VQA => Id::WS_VQA,
740 AV_CODEC_ID_MSRLE => Id::MSRLE,
741 AV_CODEC_ID_MSVIDEO1 => Id::MSVIDEO1,
742 AV_CODEC_ID_IDCIN => Id::IDCIN,
743 AV_CODEC_ID_8BPS => Id::BPS8,
744 AV_CODEC_ID_SMC => Id::SMC,
745 AV_CODEC_ID_FLIC => Id::FLIC,
746 AV_CODEC_ID_TRUEMOTION1 => Id::TRUEMOTION1,
747 AV_CODEC_ID_VMDVIDEO => Id::VMDVIDEO,
748 AV_CODEC_ID_MSZH => Id::MSZH,
749 AV_CODEC_ID_ZLIB => Id::ZLIB,
750 AV_CODEC_ID_QTRLE => Id::QTRLE,
751 AV_CODEC_ID_TSCC => Id::TSCC,
752 AV_CODEC_ID_ULTI => Id::ULTI,
753 AV_CODEC_ID_QDRAW => Id::QDRAW,
754 AV_CODEC_ID_VIXL => Id::VIXL,
755 AV_CODEC_ID_QPEG => Id::QPEG,
756 AV_CODEC_ID_PNG => Id::PNG,
757 AV_CODEC_ID_PPM => Id::PPM,
758 AV_CODEC_ID_PBM => Id::PBM,
759 AV_CODEC_ID_PGM => Id::PGM,
760 AV_CODEC_ID_PGMYUV => Id::PGMYUV,
761 AV_CODEC_ID_PAM => Id::PAM,
762 AV_CODEC_ID_FFVHUFF => Id::FFVHUFF,
763 AV_CODEC_ID_RV30 => Id::RV30,
764 AV_CODEC_ID_RV40 => Id::RV40,
765 AV_CODEC_ID_VC1 => Id::VC1,
766 AV_CODEC_ID_WMV3 => Id::WMV3,
767 AV_CODEC_ID_LOCO => Id::LOCO,
768 AV_CODEC_ID_WNV1 => Id::WNV1,
769 AV_CODEC_ID_AASC => Id::AASC,
770 AV_CODEC_ID_INDEO2 => Id::INDEO2,
771 AV_CODEC_ID_FRAPS => Id::FRAPS,
772 AV_CODEC_ID_TRUEMOTION2 => Id::TRUEMOTION2,
773 AV_CODEC_ID_BMP => Id::BMP,
774 AV_CODEC_ID_CSCD => Id::CSCD,
775 AV_CODEC_ID_MMVIDEO => Id::MMVIDEO,
776 AV_CODEC_ID_ZMBV => Id::ZMBV,
777 AV_CODEC_ID_AVS => Id::AVS,
778 AV_CODEC_ID_SMACKVIDEO => Id::SMACKVIDEO,
779 AV_CODEC_ID_NUV => Id::NUV,
780 AV_CODEC_ID_KMVC => Id::KMVC,
781 AV_CODEC_ID_FLASHSV => Id::FLASHSV,
782 AV_CODEC_ID_CAVS => Id::CAVS,
783 AV_CODEC_ID_JPEG2000 => Id::JPEG2000,
784 AV_CODEC_ID_VMNC => Id::VMNC,
785 AV_CODEC_ID_VP5 => Id::VP5,
786 AV_CODEC_ID_VP6 => Id::VP6,
787 AV_CODEC_ID_VP6F => Id::VP6F,
788 AV_CODEC_ID_TARGA => Id::TARGA,
789 AV_CODEC_ID_DSICINVIDEO => Id::DSICINVIDEO,
790 AV_CODEC_ID_TIERTEXSEQVIDEO => Id::TIERTEXSEQVIDEO,
791 AV_CODEC_ID_TIFF => Id::TIFF,
792 AV_CODEC_ID_GIF => Id::GIF,
793 AV_CODEC_ID_DXA => Id::DXA,
794 AV_CODEC_ID_DNXHD => Id::DNXHD,
795 AV_CODEC_ID_THP => Id::THP,
796 AV_CODEC_ID_SGI => Id::SGI,
797 AV_CODEC_ID_C93 => Id::C93,
798 AV_CODEC_ID_BETHSOFTVID => Id::BETHSOFTVID,
799 AV_CODEC_ID_PTX => Id::PTX,
800 AV_CODEC_ID_TXD => Id::TXD,
801 AV_CODEC_ID_VP6A => Id::VP6A,
802 AV_CODEC_ID_AMV => Id::AMV,
803 AV_CODEC_ID_VB => Id::VB,
804 AV_CODEC_ID_PCX => Id::PCX,
805 AV_CODEC_ID_SUNRAST => Id::SUNRAST,
806 AV_CODEC_ID_INDEO4 => Id::INDEO4,
807 AV_CODEC_ID_INDEO5 => Id::INDEO5,
808 AV_CODEC_ID_MIMIC => Id::MIMIC,
809 AV_CODEC_ID_RL2 => Id::RL2,
810 AV_CODEC_ID_ESCAPE124 => Id::ESCAPE124,
811 AV_CODEC_ID_DIRAC => Id::DIRAC,
812 AV_CODEC_ID_BFI => Id::BFI,
813 AV_CODEC_ID_CMV => Id::CMV,
814 AV_CODEC_ID_MOTIONPIXELS => Id::MOTIONPIXELS,
815 AV_CODEC_ID_TGV => Id::TGV,
816 AV_CODEC_ID_TGQ => Id::TGQ,
817 AV_CODEC_ID_TQI => Id::TQI,
818 AV_CODEC_ID_AURA => Id::AURA,
819 AV_CODEC_ID_AURA2 => Id::AURA2,
820 AV_CODEC_ID_V210X => Id::V210X,
821 AV_CODEC_ID_TMV => Id::TMV,
822 AV_CODEC_ID_V210 => Id::V210,
823 AV_CODEC_ID_DPX => Id::DPX,
824 AV_CODEC_ID_MAD => Id::MAD,
825 AV_CODEC_ID_FRWU => Id::FRWU,
826 AV_CODEC_ID_FLASHSV2 => Id::FLASHSV2,
827 AV_CODEC_ID_CDGRAPHICS => Id::CDGRAPHICS,
828 AV_CODEC_ID_R210 => Id::R210,
829 AV_CODEC_ID_ANM => Id::ANM,
830 AV_CODEC_ID_BINKVIDEO => Id::BINKVIDEO,
831 AV_CODEC_ID_IFF_ILBM => Id::IFF_ILBM,
832 AV_CODEC_ID_KGV1 => Id::KGV1,
833 AV_CODEC_ID_YOP => Id::YOP,
834 AV_CODEC_ID_VP8 => Id::VP8,
835 AV_CODEC_ID_PICTOR => Id::PICTOR,
836 AV_CODEC_ID_ANSI => Id::ANSI,
837 AV_CODEC_ID_A64_MULTI => Id::A64_MULTI,
838 AV_CODEC_ID_A64_MULTI5 => Id::A64_MULTI5,
839 AV_CODEC_ID_R10K => Id::R10K,
840 AV_CODEC_ID_MXPEG => Id::MXPEG,
841 AV_CODEC_ID_LAGARITH => Id::LAGARITH,
842 AV_CODEC_ID_PRORES => Id::PRORES,
843 AV_CODEC_ID_JV => Id::JV,
844 AV_CODEC_ID_DFA => Id::DFA,
845 AV_CODEC_ID_WMV3IMAGE => Id::WMV3IMAGE,
846 AV_CODEC_ID_VC1IMAGE => Id::VC1IMAGE,
847 AV_CODEC_ID_UTVIDEO => Id::UTVIDEO,
848 AV_CODEC_ID_BMV_VIDEO => Id::BMV_VIDEO,
849 AV_CODEC_ID_VBLE => Id::VBLE,
850 AV_CODEC_ID_DXTORY => Id::DXTORY,
851 AV_CODEC_ID_V410 => Id::V410,
852 AV_CODEC_ID_XWD => Id::XWD,
853 AV_CODEC_ID_CDXL => Id::CDXL,
854 AV_CODEC_ID_XBM => Id::XBM,
855 AV_CODEC_ID_ZEROCODEC => Id::ZEROCODEC,
856 AV_CODEC_ID_MSS1 => Id::MSS1,
857 AV_CODEC_ID_MSA1 => Id::MSA1,
858 AV_CODEC_ID_TSCC2 => Id::TSCC2,
859 AV_CODEC_ID_MTS2 => Id::MTS2,
860 AV_CODEC_ID_CLLC => Id::CLLC,
861 AV_CODEC_ID_MSS2 => Id::MSS2,
862 AV_CODEC_ID_VP9 => Id::VP9,
863 AV_CODEC_ID_AIC => Id::AIC,
864 AV_CODEC_ID_ESCAPE130 => Id::ESCAPE130,
865 AV_CODEC_ID_G2M => Id::G2M,
866 AV_CODEC_ID_WEBP => Id::WEBP,
867 AV_CODEC_ID_HNM4_VIDEO => Id::HNM4_VIDEO,
868 AV_CODEC_ID_HEVC => Id::HEVC,
869 AV_CODEC_ID_FIC => Id::FIC,
870 AV_CODEC_ID_ALIAS_PIX => Id::ALIAS_PIX,
871 AV_CODEC_ID_BRENDER_PIX => Id::BRENDER_PIX,
872 AV_CODEC_ID_PAF_VIDEO => Id::PAF_VIDEO,
873 AV_CODEC_ID_EXR => Id::EXR,
874 AV_CODEC_ID_VP7 => Id::VP7,
875 AV_CODEC_ID_SANM => Id::SANM,
876 AV_CODEC_ID_SGIRLE => Id::SGIRLE,
877 AV_CODEC_ID_MVC1 => Id::MVC1,
878 AV_CODEC_ID_MVC2 => Id::MVC2,
879 AV_CODEC_ID_HQX => Id::HQX,
880 AV_CODEC_ID_TDSC => Id::TDSC,
881 AV_CODEC_ID_HQ_HQA => Id::HQ_HQA,
882 AV_CODEC_ID_HAP => Id::HAP,
883 AV_CODEC_ID_DDS => Id::DDS,
884 AV_CODEC_ID_DXV => Id::DXV,
885 AV_CODEC_ID_SCREENPRESSO => Id::SCREENPRESSO,
886 AV_CODEC_ID_RSCC => Id::RSCC,
887
888 AV_CODEC_ID_Y41P => Id::Y41P,
889 AV_CODEC_ID_AVRP => Id::AVRP,
890 AV_CODEC_ID_012V => Id::V012,
891 AV_CODEC_ID_AVUI => Id::AVUI,
892 #[cfg(not(feature = "ffmpeg_7_0"))]
893 AV_CODEC_ID_AYUV => Id::AYUV,
894 AV_CODEC_ID_TARGA_Y216 => Id::TARGA_Y216,
895 AV_CODEC_ID_V308 => Id::V308,
896 AV_CODEC_ID_V408 => Id::V408,
897 AV_CODEC_ID_YUV4 => Id::YUV4,
898 AV_CODEC_ID_AVRN => Id::AVRN,
899 AV_CODEC_ID_CPIA => Id::CPIA,
900 AV_CODEC_ID_XFACE => Id::XFACE,
901 AV_CODEC_ID_SNOW => Id::SNOW,
902 AV_CODEC_ID_SMVJPEG => Id::SMVJPEG,
903 AV_CODEC_ID_APNG => Id::APNG,
904 AV_CODEC_ID_DAALA => Id::DAALA,
905 AV_CODEC_ID_CFHD => Id::CFHD,
906 AV_CODEC_ID_TRUEMOTION2RT => Id::TRUEMOTION2RT,
907 AV_CODEC_ID_M101 => Id::M101,
908 AV_CODEC_ID_MAGICYUV => Id::MAGICYUV,
909 AV_CODEC_ID_SHEERVIDEO => Id::SHEERVIDEO,
910 AV_CODEC_ID_YLC => Id::YLC,
911
912 /* various PCM "codecs" */
913 AV_CODEC_ID_PCM_S16LE => Id::PCM_S16LE,
914 AV_CODEC_ID_PCM_S16BE => Id::PCM_S16BE,
915 AV_CODEC_ID_PCM_U16LE => Id::PCM_U16LE,
916 AV_CODEC_ID_PCM_U16BE => Id::PCM_U16BE,
917 AV_CODEC_ID_PCM_S8 => Id::PCM_S8,
918 AV_CODEC_ID_PCM_U8 => Id::PCM_U8,
919 AV_CODEC_ID_PCM_MULAW => Id::PCM_MULAW,
920 AV_CODEC_ID_PCM_ALAW => Id::PCM_ALAW,
921 AV_CODEC_ID_PCM_S32LE => Id::PCM_S32LE,
922 AV_CODEC_ID_PCM_S32BE => Id::PCM_S32BE,
923 AV_CODEC_ID_PCM_U32LE => Id::PCM_U32LE,
924 AV_CODEC_ID_PCM_U32BE => Id::PCM_U32BE,
925 AV_CODEC_ID_PCM_S24LE => Id::PCM_S24LE,
926 AV_CODEC_ID_PCM_S24BE => Id::PCM_S24BE,
927 AV_CODEC_ID_PCM_U24LE => Id::PCM_U24LE,
928 AV_CODEC_ID_PCM_U24BE => Id::PCM_U24BE,
929 AV_CODEC_ID_PCM_S24DAUD => Id::PCM_S24DAUD,
930 AV_CODEC_ID_PCM_ZORK => Id::PCM_ZORK,
931 AV_CODEC_ID_PCM_S16LE_PLANAR => Id::PCM_S16LE_PLANAR,
932 AV_CODEC_ID_PCM_DVD => Id::PCM_DVD,
933 AV_CODEC_ID_PCM_F32BE => Id::PCM_F32BE,
934 AV_CODEC_ID_PCM_F32LE => Id::PCM_F32LE,
935 AV_CODEC_ID_PCM_F64BE => Id::PCM_F64BE,
936 AV_CODEC_ID_PCM_F64LE => Id::PCM_F64LE,
937 AV_CODEC_ID_PCM_BLURAY => Id::PCM_BLURAY,
938 AV_CODEC_ID_PCM_LXF => Id::PCM_LXF,
939 AV_CODEC_ID_S302M => Id::S302M,
940 AV_CODEC_ID_PCM_S8_PLANAR => Id::PCM_S8_PLANAR,
941 AV_CODEC_ID_PCM_S24LE_PLANAR => Id::PCM_S24LE_PLANAR,
942 AV_CODEC_ID_PCM_S32LE_PLANAR => Id::PCM_S32LE_PLANAR,
943 AV_CODEC_ID_PCM_S16BE_PLANAR => Id::PCM_S16BE_PLANAR,
944
945 AV_CODEC_ID_PCM_S64LE => Id::PCM_S64LE,
946 AV_CODEC_ID_PCM_S64BE => Id::PCM_S64BE,
947
948 /* various ADPCM codecs */
949 AV_CODEC_ID_ADPCM_IMA_QT => Id::ADPCM_IMA_QT,
950 AV_CODEC_ID_ADPCM_IMA_WAV => Id::ADPCM_IMA_WAV,
951 AV_CODEC_ID_ADPCM_IMA_DK3 => Id::ADPCM_IMA_DK3,
952 AV_CODEC_ID_ADPCM_IMA_DK4 => Id::ADPCM_IMA_DK4,
953 AV_CODEC_ID_ADPCM_IMA_WS => Id::ADPCM_IMA_WS,
954 AV_CODEC_ID_ADPCM_IMA_SMJPEG => Id::ADPCM_IMA_SMJPEG,
955 AV_CODEC_ID_ADPCM_MS => Id::ADPCM_MS,
956 AV_CODEC_ID_ADPCM_4XM => Id::ADPCM_4XM,
957 AV_CODEC_ID_ADPCM_XA => Id::ADPCM_XA,
958 AV_CODEC_ID_ADPCM_ADX => Id::ADPCM_ADX,
959 AV_CODEC_ID_ADPCM_EA => Id::ADPCM_EA,
960 AV_CODEC_ID_ADPCM_G726 => Id::ADPCM_G726,
961 AV_CODEC_ID_ADPCM_CT => Id::ADPCM_CT,
962 AV_CODEC_ID_ADPCM_SWF => Id::ADPCM_SWF,
963 AV_CODEC_ID_ADPCM_YAMAHA => Id::ADPCM_YAMAHA,
964 AV_CODEC_ID_ADPCM_SBPRO_4 => Id::ADPCM_SBPRO_4,
965 AV_CODEC_ID_ADPCM_SBPRO_3 => Id::ADPCM_SBPRO_3,
966 AV_CODEC_ID_ADPCM_SBPRO_2 => Id::ADPCM_SBPRO_2,
967 AV_CODEC_ID_ADPCM_THP => Id::ADPCM_THP,
968 AV_CODEC_ID_ADPCM_IMA_AMV => Id::ADPCM_IMA_AMV,
969 AV_CODEC_ID_ADPCM_EA_R1 => Id::ADPCM_EA_R1,
970 AV_CODEC_ID_ADPCM_EA_R3 => Id::ADPCM_EA_R3,
971 AV_CODEC_ID_ADPCM_EA_R2 => Id::ADPCM_EA_R2,
972 AV_CODEC_ID_ADPCM_IMA_EA_SEAD => Id::ADPCM_IMA_EA_SEAD,
973 AV_CODEC_ID_ADPCM_IMA_EA_EACS => Id::ADPCM_IMA_EA_EACS,
974 AV_CODEC_ID_ADPCM_EA_XAS => Id::ADPCM_EA_XAS,
975 AV_CODEC_ID_ADPCM_EA_MAXIS_XA => Id::ADPCM_EA_MAXIS_XA,
976 AV_CODEC_ID_ADPCM_IMA_ISS => Id::ADPCM_IMA_ISS,
977 AV_CODEC_ID_ADPCM_G722 => Id::ADPCM_G722,
978 AV_CODEC_ID_ADPCM_IMA_APC => Id::ADPCM_IMA_APC,
979 AV_CODEC_ID_ADPCM_VIMA => Id::ADPCM_VIMA,
980
981 AV_CODEC_ID_ADPCM_AFC => Id::ADPCM_AFC,
982 AV_CODEC_ID_ADPCM_IMA_OKI => Id::ADPCM_IMA_OKI,
983 AV_CODEC_ID_ADPCM_DTK => Id::ADPCM_DTK,
984 AV_CODEC_ID_ADPCM_IMA_RAD => Id::ADPCM_IMA_RAD,
985 AV_CODEC_ID_ADPCM_G726LE => Id::ADPCM_G726LE,
986 AV_CODEC_ID_ADPCM_THP_LE => Id::ADPCM_THP_LE,
987 AV_CODEC_ID_ADPCM_PSX => Id::ADPCM_PSX,
988 AV_CODEC_ID_ADPCM_AICA => Id::ADPCM_AICA,
989 AV_CODEC_ID_ADPCM_IMA_DAT4 => Id::ADPCM_IMA_DAT4,
990 AV_CODEC_ID_ADPCM_MTAF => Id::ADPCM_MTAF,
991
992 /* AMR */
993 AV_CODEC_ID_AMR_NB => Id::AMR_NB,
994 AV_CODEC_ID_AMR_WB => Id::AMR_WB,
995
996 /* RealAudio codecs*/
997 AV_CODEC_ID_RA_144 => Id::RA_144,
998 AV_CODEC_ID_RA_288 => Id::RA_288,
999
1000 /* various DPCM codecs */
1001 AV_CODEC_ID_ROQ_DPCM => Id::ROQ_DPCM,
1002 AV_CODEC_ID_INTERPLAY_DPCM => Id::INTERPLAY_DPCM,
1003 AV_CODEC_ID_XAN_DPCM => Id::XAN_DPCM,
1004 AV_CODEC_ID_SOL_DPCM => Id::SOL_DPCM,
1005
1006 AV_CODEC_ID_SDX2_DPCM => Id::SDX2_DPCM,
1007
1008 /* audio codecs */
1009 AV_CODEC_ID_MP2 => Id::MP2,
1010 AV_CODEC_ID_MP3 => Id::MP3,
1011 AV_CODEC_ID_AAC => Id::AAC,
1012 AV_CODEC_ID_AC3 => Id::AC3,
1013 AV_CODEC_ID_DTS => Id::DTS,
1014 AV_CODEC_ID_VORBIS => Id::VORBIS,
1015 AV_CODEC_ID_DVAUDIO => Id::DVAUDIO,
1016 AV_CODEC_ID_WMAV1 => Id::WMAV1,
1017 AV_CODEC_ID_WMAV2 => Id::WMAV2,
1018 AV_CODEC_ID_MACE3 => Id::MACE3,
1019 AV_CODEC_ID_MACE6 => Id::MACE6,
1020 AV_CODEC_ID_VMDAUDIO => Id::VMDAUDIO,
1021 AV_CODEC_ID_FLAC => Id::FLAC,
1022 AV_CODEC_ID_MP3ADU => Id::MP3ADU,
1023 AV_CODEC_ID_MP3ON4 => Id::MP3ON4,
1024 AV_CODEC_ID_SHORTEN => Id::SHORTEN,
1025 AV_CODEC_ID_ALAC => Id::ALAC,
1026 AV_CODEC_ID_WESTWOOD_SND1 => Id::WESTWOOD_SND1,
1027 AV_CODEC_ID_GSM => Id::GSM,
1028 AV_CODEC_ID_QDM2 => Id::QDM2,
1029 AV_CODEC_ID_COOK => Id::COOK,
1030 AV_CODEC_ID_TRUESPEECH => Id::TRUESPEECH,
1031 AV_CODEC_ID_TTA => Id::TTA,
1032 AV_CODEC_ID_SMACKAUDIO => Id::SMACKAUDIO,
1033 AV_CODEC_ID_QCELP => Id::QCELP,
1034 AV_CODEC_ID_WAVPACK => Id::WAVPACK,
1035 AV_CODEC_ID_DSICINAUDIO => Id::DSICINAUDIO,
1036 AV_CODEC_ID_IMC => Id::IMC,
1037 AV_CODEC_ID_MUSEPACK7 => Id::MUSEPACK7,
1038 AV_CODEC_ID_MLP => Id::MLP,
1039 AV_CODEC_ID_GSM_MS => Id::GSM_MS,
1040 AV_CODEC_ID_ATRAC3 => Id::ATRAC3,
1041 #[cfg(feature = "ff_api_voxware")]
1042 AV_CODEC_ID_VOXWARE => Id::VOXWARE,
1043 AV_CODEC_ID_APE => Id::APE,
1044 AV_CODEC_ID_NELLYMOSER => Id::NELLYMOSER,
1045 AV_CODEC_ID_MUSEPACK8 => Id::MUSEPACK8,
1046 AV_CODEC_ID_SPEEX => Id::SPEEX,
1047 AV_CODEC_ID_WMAVOICE => Id::WMAVOICE,
1048 AV_CODEC_ID_WMAPRO => Id::WMAPRO,
1049 AV_CODEC_ID_WMALOSSLESS => Id::WMALOSSLESS,
1050 AV_CODEC_ID_ATRAC3P => Id::ATRAC3P,
1051 AV_CODEC_ID_EAC3 => Id::EAC3,
1052 AV_CODEC_ID_SIPR => Id::SIPR,
1053 AV_CODEC_ID_MP1 => Id::MP1,
1054 AV_CODEC_ID_TWINVQ => Id::TWINVQ,
1055 AV_CODEC_ID_TRUEHD => Id::TRUEHD,
1056 AV_CODEC_ID_MP4ALS => Id::MP4ALS,
1057 AV_CODEC_ID_ATRAC1 => Id::ATRAC1,
1058 AV_CODEC_ID_BINKAUDIO_RDFT => Id::BINKAUDIO_RDFT,
1059 AV_CODEC_ID_BINKAUDIO_DCT => Id::BINKAUDIO_DCT,
1060 AV_CODEC_ID_AAC_LATM => Id::AAC_LATM,
1061 AV_CODEC_ID_QDMC => Id::QDMC,
1062 AV_CODEC_ID_CELT => Id::CELT,
1063 AV_CODEC_ID_G723_1 => Id::G723_1,
1064 AV_CODEC_ID_G729 => Id::G729,
1065 AV_CODEC_ID_8SVX_EXP => Id::SVX_EXP8,
1066 AV_CODEC_ID_8SVX_FIB => Id::SVX_FIB8,
1067 AV_CODEC_ID_BMV_AUDIO => Id::BMV_AUDIO,
1068 AV_CODEC_ID_RALF => Id::RALF,
1069 AV_CODEC_ID_IAC => Id::IAC,
1070 AV_CODEC_ID_ILBC => Id::ILBC,
1071 AV_CODEC_ID_OPUS => Id::OPUS,
1072 AV_CODEC_ID_COMFORT_NOISE => Id::COMFORT_NOISE,
1073 AV_CODEC_ID_TAK => Id::TAK,
1074 AV_CODEC_ID_METASOUND => Id::METASOUND,
1075 AV_CODEC_ID_PAF_AUDIO => Id::PAF_AUDIO,
1076 AV_CODEC_ID_ON2AVC => Id::ON2AVC,
1077 AV_CODEC_ID_DSS_SP => Id::DSS_SP,
1078
1079 #[cfg(feature = "ffmpeg_4_0")]
1080 AV_CODEC_ID_CODEC2 => Id::CODEC2,
1081 AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH,
1082 AV_CODEC_ID_SONIC => Id::SONIC,
1083 AV_CODEC_ID_SONIC_LS => Id::SONIC_LS,
1084 AV_CODEC_ID_EVRC => Id::EVRC,
1085 AV_CODEC_ID_SMV => Id::SMV,
1086 AV_CODEC_ID_DSD_LSBF => Id::DSD_LSBF,
1087 AV_CODEC_ID_DSD_MSBF => Id::DSD_MSBF,
1088 AV_CODEC_ID_DSD_LSBF_PLANAR => Id::DSD_LSBF_PLANAR,
1089 AV_CODEC_ID_DSD_MSBF_PLANAR => Id::DSD_MSBF_PLANAR,
1090 AV_CODEC_ID_4GV => Id::_4GV,
1091 AV_CODEC_ID_INTERPLAY_ACM => Id::INTERPLAY_ACM,
1092 AV_CODEC_ID_XMA1 => Id::XMA1,
1093 AV_CODEC_ID_XMA2 => Id::XMA2,
1094 AV_CODEC_ID_DST => Id::DST,
1095
1096 /* subtitle codecs */
1097 AV_CODEC_ID_DVD_SUBTITLE => Id::DVD_SUBTITLE,
1098 AV_CODEC_ID_DVB_SUBTITLE => Id::DVB_SUBTITLE,
1099 AV_CODEC_ID_TEXT => Id::TEXT,
1100 AV_CODEC_ID_XSUB => Id::XSUB,
1101 AV_CODEC_ID_SSA => Id::SSA,
1102 AV_CODEC_ID_MOV_TEXT => Id::MOV_TEXT,
1103 AV_CODEC_ID_HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE,
1104 AV_CODEC_ID_DVB_TELETEXT => Id::DVB_TELETEXT,
1105 AV_CODEC_ID_SRT => Id::SRT,
1106
1107 AV_CODEC_ID_MICRODVD => Id::MICRODVD,
1108 AV_CODEC_ID_EIA_608 => Id::EIA_608,
1109 AV_CODEC_ID_JACOSUB => Id::JACOSUB,
1110 AV_CODEC_ID_SAMI => Id::SAMI,
1111 AV_CODEC_ID_REALTEXT => Id::REALTEXT,
1112 AV_CODEC_ID_STL => Id::STL,
1113 AV_CODEC_ID_SUBVIEWER1 => Id::SUBVIEWER1,
1114 AV_CODEC_ID_SUBVIEWER => Id::SUBVIEWER,
1115 AV_CODEC_ID_SUBRIP => Id::SUBRIP,
1116 AV_CODEC_ID_WEBVTT => Id::WEBVTT,
1117 AV_CODEC_ID_MPL2 => Id::MPL2,
1118 AV_CODEC_ID_VPLAYER => Id::VPLAYER,
1119 AV_CODEC_ID_PJS => Id::PJS,
1120 AV_CODEC_ID_ASS => Id::ASS,
1121 AV_CODEC_ID_HDMV_TEXT_SUBTITLE => Id::HDMV_TEXT_SUBTITLE,
1122
1123 /* other specific kind of codecs (generally used for attachments) */
1124 AV_CODEC_ID_TTF => Id::TTF,
1125
1126 AV_CODEC_ID_SCTE_35 => Id::SCTE_35,
1127 AV_CODEC_ID_BINTEXT => Id::BINTEXT,
1128 AV_CODEC_ID_XBIN => Id::XBIN,
1129 AV_CODEC_ID_IDF => Id::IDF,
1130 AV_CODEC_ID_OTF => Id::OTF,
1131 AV_CODEC_ID_SMPTE_KLV => Id::SMPTE_KLV,
1132 AV_CODEC_ID_DVD_NAV => Id::DVD_NAV,
1133 AV_CODEC_ID_TIMED_ID3 => Id::TIMED_ID3,
1134 AV_CODEC_ID_BIN_DATA => Id::BIN_DATA,
1135
1136 AV_CODEC_ID_PROBE => Id::PROBE,
1137
1138 AV_CODEC_ID_MPEG2TS => Id::MPEG2TS,
1139 AV_CODEC_ID_MPEG4SYSTEMS => Id::MPEG4SYSTEMS,
1140 AV_CODEC_ID_FFMETADATA => Id::FFMETADATA,
1141 AV_CODEC_ID_WRAPPED_AVFRAME => Id::WRAPPED_AVFRAME,
1142 AV_CODEC_ID_PSD => Id::PSD,
1143 AV_CODEC_ID_PIXLET => Id::PIXLET,
1144 AV_CODEC_ID_SPEEDHQ => Id::SPEEDHQ,
1145 AV_CODEC_ID_CLEARVIDEO => Id::CLEARVIDEO,
1146 AV_CODEC_ID_FMVC => Id::FMVC,
1147 AV_CODEC_ID_SCPR => Id::SCPR,
1148 AV_CODEC_ID_XPM => Id::XPM,
1149 AV_CODEC_ID_AV1 => Id::AV1,
1150 AV_CODEC_ID_PCM_F16LE => Id::PCM_F16LE,
1151 AV_CODEC_ID_PCM_F24LE => Id::PCM_F24LE,
1152 AV_CODEC_ID_ATRAC3AL => Id::ATRAC3AL,
1153 AV_CODEC_ID_ATRAC3PAL => Id::ATRAC3PAL,
1154
1155 AV_CODEC_ID_BITPACKED => Id::BITPACKED,
1156 AV_CODEC_ID_MSCC => Id::MSCC,
1157 AV_CODEC_ID_SRGC => Id::SRGC,
1158 AV_CODEC_ID_SVG => Id::SVG,
1159 AV_CODEC_ID_GDV => Id::GDV,
1160 AV_CODEC_ID_FITS => Id::FITS,
1161 AV_CODEC_ID_GREMLIN_DPCM => Id::GREMLIN_DPCM,
1162 AV_CODEC_ID_DOLBY_E => Id::DOLBY_E,
1163
1164 #[cfg(feature = "ffmpeg_4_0")]
1165 AV_CODEC_ID_APTX => Id::APTX,
1166 #[cfg(feature = "ffmpeg_4_0")]
1167 AV_CODEC_ID_APTX_HD => Id::APTX_HD,
1168 #[cfg(feature = "ffmpeg_4_0")]
1169 AV_CODEC_ID_SBC => Id::SBC,
1170
1171 #[cfg(feature = "ffmpeg_4_1")]
1172 AV_CODEC_ID_AVS2 => Id::AVS2,
1173 #[cfg(feature = "ffmpeg_4_1")]
1174 AV_CODEC_ID_IMM4 => Id::IMM4,
1175 #[cfg(feature = "ffmpeg_4_1")]
1176 AV_CODEC_ID_PROSUMER => Id::PROSUMER,
1177 #[cfg(feature = "ffmpeg_4_1")]
1178 AV_CODEC_ID_MWSC => Id::MWSC,
1179 #[cfg(feature = "ffmpeg_4_1")]
1180 AV_CODEC_ID_WCMV => Id::WCMV,
1181 #[cfg(feature = "ffmpeg_4_1")]
1182 AV_CODEC_ID_RASC => Id::RASC,
1183 #[cfg(feature = "ffmpeg_4_1")]
1184 AV_CODEC_ID_PCM_VIDC => Id::PCM_VIDC,
1185 #[cfg(feature = "ffmpeg_4_1")]
1186 AV_CODEC_ID_ATRAC9 => Id::ATRAC9,
1187 #[cfg(feature = "ffmpeg_4_1")]
1188 AV_CODEC_ID_TTML => Id::TTML,
1189
1190 #[cfg(feature = "ffmpeg_4_2")]
1191 AV_CODEC_ID_HYMT => Id::HYMT,
1192 #[cfg(feature = "ffmpeg_4_2")]
1193 AV_CODEC_ID_ARBC => Id::ARBC,
1194 #[cfg(feature = "ffmpeg_4_2")]
1195 AV_CODEC_ID_AGM => Id::AGM,
1196 #[cfg(feature = "ffmpeg_4_2")]
1197 AV_CODEC_ID_LSCR => Id::LSCR,
1198 #[cfg(feature = "ffmpeg_4_2")]
1199 AV_CODEC_ID_VP4 => Id::VP4,
1200 #[cfg(feature = "ffmpeg_4_2")]
1201 AV_CODEC_ID_ADPCM_AGM => Id::ADPCM_AGM,
1202 #[cfg(feature = "ffmpeg_4_2")]
1203 AV_CODEC_ID_HCOM => Id::HCOM,
1204 #[cfg(feature = "ffmpeg_4_2")]
1205 AV_CODEC_ID_ARIB_CAPTION => Id::ARIB_CAPTION,
1206
1207 #[cfg(feature = "ffmpeg_4_3")]
1208 AV_CODEC_ID_IMM5 => Id::IMM5,
1209 #[cfg(feature = "ffmpeg_4_3")]
1210 AV_CODEC_ID_MVDV => Id::MVDV,
1211 #[cfg(feature = "ffmpeg_4_3")]
1212 AV_CODEC_ID_MVHA => Id::MVHA,
1213 #[cfg(feature = "ffmpeg_4_3")]
1214 AV_CODEC_ID_CDTOONS => Id::CDTOONS,
1215 #[cfg(feature = "ffmpeg_4_3")]
1216 AV_CODEC_ID_MV30 => Id::MV30,
1217 #[cfg(feature = "ffmpeg_4_3")]
1218 AV_CODEC_ID_NOTCHLC => Id::NOTCHLC,
1219 #[cfg(feature = "ffmpeg_4_3")]
1220 AV_CODEC_ID_PFM => Id::PFM,
1221 #[cfg(feature = "ffmpeg_4_3")]
1222 AV_CODEC_ID_ADPCM_ARGO => Id::ADPCM_ARGO,
1223 #[cfg(feature = "ffmpeg_4_3")]
1224 AV_CODEC_ID_ADPCM_IMA_SSI => Id::ADPCM_IMA_SSI,
1225 #[cfg(feature = "ffmpeg_4_3")]
1226 AV_CODEC_ID_ADPCM_ZORK => Id::ADPCM_ZORK,
1227 #[cfg(feature = "ffmpeg_4_3")]
1228 AV_CODEC_ID_ADPCM_IMA_APM => Id::ADPCM_IMA_APM,
1229 #[cfg(feature = "ffmpeg_4_3")]
1230 AV_CODEC_ID_ADPCM_IMA_ALP => Id::ADPCM_IMA_ALP,
1231 #[cfg(feature = "ffmpeg_4_3")]
1232 AV_CODEC_ID_ADPCM_IMA_MTF => Id::ADPCM_IMA_MTF,
1233 #[cfg(feature = "ffmpeg_4_3")]
1234 AV_CODEC_ID_ADPCM_IMA_CUNNING => Id::ADPCM_IMA_CUNNING,
1235 #[cfg(feature = "ffmpeg_4_3")]
1236 AV_CODEC_ID_DERF_DPCM => Id::DERF_DPCM,
1237 #[cfg(feature = "ffmpeg_4_3")]
1238 AV_CODEC_ID_ACELP_KELVIN => Id::ACELP_KELVIN,
1239 #[cfg(feature = "ffmpeg_4_3")]
1240 AV_CODEC_ID_MPEGH_3D_AUDIO => Id::MPEGH_3D_AUDIO,
1241 #[cfg(feature = "ffmpeg_4_3")]
1242 AV_CODEC_ID_SIREN => Id::SIREN,
1243 #[cfg(feature = "ffmpeg_4_3")]
1244 AV_CODEC_ID_HCA => Id::HCA,
1245 #[cfg(feature = "ffmpeg_4_3")]
1246 AV_CODEC_ID_EPG => Id::EPG,
1247
1248 #[cfg(feature = "ffmpeg_4_4")]
1249 AV_CODEC_ID_PGX => Id::PGX,
1250 #[cfg(feature = "ffmpeg_4_4")]
1251 AV_CODEC_ID_AVS3 => Id::AVS3,
1252 #[cfg(feature = "ffmpeg_4_4")]
1253 AV_CODEC_ID_MSP2 => Id::MSP2,
1254 #[cfg(feature = "ffmpeg_4_4")]
1255 AV_CODEC_ID_VVC => Id::VVC,
1256 #[cfg(feature = "ffmpeg_4_4")]
1257 AV_CODEC_ID_MOBICLIP => Id::MOBICLIP,
1258 #[cfg(feature = "ffmpeg_4_4")]
1259 AV_CODEC_ID_PHOTOCD => Id::PHOTOCD,
1260 #[cfg(feature = "ffmpeg_4_4")]
1261 AV_CODEC_ID_IPU => Id::IPU,
1262 #[cfg(feature = "ffmpeg_4_4")]
1263 AV_CODEC_ID_ARGO => Id::ARGO,
1264 #[cfg(feature = "ffmpeg_4_4")]
1265 AV_CODEC_ID_CRI => Id::CRI,
1266 #[cfg(feature = "ffmpeg_4_4")]
1267 AV_CODEC_ID_SIMBIOSIS_IMX => Id::SIMBIOSIS_IMX,
1268 #[cfg(feature = "ffmpeg_4_4")]
1269 AV_CODEC_ID_SGA_VIDEO => Id::SGA_VIDEO,
1270 #[cfg(feature = "ffmpeg_4_4")]
1271 AV_CODEC_ID_PCM_SGA => Id::PCM_SGA,
1272 #[cfg(feature = "ffmpeg_4_4")]
1273 AV_CODEC_ID_ADPCM_IMA_MOFLEX => Id::ADPCM_IMA_MOFLEX,
1274 #[cfg(feature = "ffmpeg_4_4")]
1275 AV_CODEC_ID_FASTAUDIO => Id::FASTAUDIO,
1276
1277 #[cfg(feature = "ffmpeg_5_0")]
1278 AV_CODEC_ID_GEM => Id::GEM,
1279 #[cfg(feature = "ffmpeg_5_0")]
1280 AV_CODEC_ID_ADPCM_IMA_ACORN => Id::ADPCM_IMA_ACORN,
1281 #[cfg(feature = "ffmpeg_5_0")]
1282 AV_CODEC_ID_MSNSIREN => Id::MSNSIREN,
1283
1284 #[cfg(feature = "ffmpeg_5_1")]
1285 AV_CODEC_ID_VBN => Id::VBN,
1286 #[cfg(feature = "ffmpeg_5_1")]
1287 AV_CODEC_ID_JPEGXL => Id::JPEGXL,
1288 #[cfg(feature = "ffmpeg_5_1")]
1289 AV_CODEC_ID_QOI => Id::QOI,
1290 #[cfg(feature = "ffmpeg_5_1")]
1291 AV_CODEC_ID_PHM => Id::PHM,
1292 #[cfg(feature = "ffmpeg_5_1")]
1293 AV_CODEC_ID_DFPWM => Id::DFPWM,
1294
1295 #[cfg(feature = "ffmpeg_6_0")]
1296 AV_CODEC_ID_RADIANCE_HDR => Id::RADIANCE_HDR,
1297 #[cfg(feature = "ffmpeg_6_0")]
1298 AV_CODEC_ID_WBMP => Id::WBMP,
1299 #[cfg(feature = "ffmpeg_6_0")]
1300 AV_CODEC_ID_MEDIA100 => Id::MEDIA100,
1301 #[cfg(feature = "ffmpeg_6_0")]
1302 AV_CODEC_ID_VQC => Id::VQC,
1303 #[cfg(feature = "ffmpeg_6_0")]
1304 AV_CODEC_ID_ADPCM_XMD => Id::ADPCM_XMD,
1305 #[cfg(feature = "ffmpeg_6_0")]
1306 AV_CODEC_ID_WADY_DPCM => Id::WADY_DPCM,
1307 #[cfg(feature = "ffmpeg_6_0")]
1308 AV_CODEC_ID_CBD2_DPCM => Id::CBD2_DPCM,
1309 #[cfg(feature = "ffmpeg_6_0")]
1310 AV_CODEC_ID_BONK => Id::BONK,
1311 #[cfg(feature = "ffmpeg_6_0")]
1312 AV_CODEC_ID_MISC4 => Id::MISC4,
1313 #[cfg(feature = "ffmpeg_6_0")]
1314 AV_CODEC_ID_APAC => Id::APAC,
1315 #[cfg(feature = "ffmpeg_6_0")]
1316 AV_CODEC_ID_FTR => Id::FTR,
1317 #[cfg(feature = "ffmpeg_6_0")]
1318 AV_CODEC_ID_WAVARC => Id::WAVARC,
1319 #[cfg(feature = "ffmpeg_6_0")]
1320 AV_CODEC_ID_RKA => Id::RKA,
1321 #[cfg(feature = "ffmpeg_6_0")]
1322 AV_CODEC_ID_VNULL => Id::VNULL,
1323 #[cfg(feature = "ffmpeg_6_0")]
1324 AV_CODEC_ID_ANULL => Id::ANULL,
1325
1326 #[cfg(feature = "ffmpeg_6_1")]
1327 AV_CODEC_ID_PDV => Id::PDV,
1328 #[cfg(feature = "ffmpeg_6_1")]
1329 AV_CODEC_ID_EVC => Id::EVC,
1330 #[cfg(feature = "ffmpeg_6_1")]
1331 AV_CODEC_ID_RTV1 => Id::RTV1,
1332 #[cfg(feature = "ffmpeg_6_1")]
1333 AV_CODEC_ID_VMIX => Id::VMIX,
1334 #[cfg(feature = "ffmpeg_6_1")]
1335 AV_CODEC_ID_AC4 => Id::AC4,
1336 #[cfg(feature = "ffmpeg_6_1")]
1337 AV_CODEC_ID_SMPTE_2038 => Id::SMPTE_2038,
1338 #[cfg(feature = "ffmpeg_6_1")]
1339 AV_CODEC_ID_OSQ => Id::OSQ,
1340
1341 #[cfg(feature = "ffmpeg_7_0")]
1342 AV_CODEC_ID_QOA => Id::QOA,
1343 #[cfg(feature = "ffmpeg_7_0")]
1344 AV_CODEC_ID_LEAD => Id::LEAD,
1345
1346 #[cfg(feature = "ffmpeg_7_1")]
1347 AV_CODEC_ID_LC3 => Id::LC3,
1348 #[cfg(feature = "ffmpeg_7_1")]
1349 AV_CODEC_ID_LCEVC => Id::LCEVC,
1350 }
1351 }
1352}
1353
1354impl From<Id> for AVCodecID {
1355 fn from(value: Id) -> AVCodecID {
1356 match value {
1357 Id::None => AV_CODEC_ID_NONE,
1358
1359 /* video codecs */
1360 Id::MPEG1VIDEO => AV_CODEC_ID_MPEG1VIDEO,
1361 Id::MPEG2VIDEO => AV_CODEC_ID_MPEG2VIDEO,
1362 #[cfg(all(feature = "ff_api_xvmc", not(feature = "ffmpeg_5_0")))]
1363 Id::MPEG2VIDEO_XVMC => AV_CODEC_ID_MPEG2VIDEO_XVMC,
1364 Id::H261 => AV_CODEC_ID_H261,
1365 Id::H263 => AV_CODEC_ID_H263,
1366 Id::RV10 => AV_CODEC_ID_RV10,
1367 Id::RV20 => AV_CODEC_ID_RV20,
1368 Id::MJPEG => AV_CODEC_ID_MJPEG,
1369 Id::MJPEGB => AV_CODEC_ID_MJPEGB,
1370 Id::LJPEG => AV_CODEC_ID_LJPEG,
1371 Id::SP5X => AV_CODEC_ID_SP5X,
1372 Id::JPEGLS => AV_CODEC_ID_JPEGLS,
1373 Id::MPEG4 => AV_CODEC_ID_MPEG4,
1374 Id::RAWVIDEO => AV_CODEC_ID_RAWVIDEO,
1375 Id::MSMPEG4V1 => AV_CODEC_ID_MSMPEG4V1,
1376 Id::MSMPEG4V2 => AV_CODEC_ID_MSMPEG4V2,
1377 Id::MSMPEG4V3 => AV_CODEC_ID_MSMPEG4V3,
1378 Id::WMV1 => AV_CODEC_ID_WMV1,
1379 Id::WMV2 => AV_CODEC_ID_WMV2,
1380 Id::H263P => AV_CODEC_ID_H263P,
1381 Id::H263I => AV_CODEC_ID_H263I,
1382 Id::FLV1 => AV_CODEC_ID_FLV1,
1383 Id::SVQ1 => AV_CODEC_ID_SVQ1,
1384 Id::SVQ3 => AV_CODEC_ID_SVQ3,
1385 Id::DVVIDEO => AV_CODEC_ID_DVVIDEO,
1386 Id::HUFFYUV => AV_CODEC_ID_HUFFYUV,
1387 Id::CYUV => AV_CODEC_ID_CYUV,
1388 Id::H264 => AV_CODEC_ID_H264,
1389 Id::INDEO3 => AV_CODEC_ID_INDEO3,
1390 Id::VP3 => AV_CODEC_ID_VP3,
1391 Id::THEORA => AV_CODEC_ID_THEORA,
1392 Id::ASV1 => AV_CODEC_ID_ASV1,
1393 Id::ASV2 => AV_CODEC_ID_ASV2,
1394 Id::FFV1 => AV_CODEC_ID_FFV1,
1395 Id::XM4 => AV_CODEC_ID_4XM,
1396 Id::VCR1 => AV_CODEC_ID_VCR1,
1397 Id::CLJR => AV_CODEC_ID_CLJR,
1398 Id::MDEC => AV_CODEC_ID_MDEC,
1399 Id::ROQ => AV_CODEC_ID_ROQ,
1400 Id::INTERPLAY_VIDEO => AV_CODEC_ID_INTERPLAY_VIDEO,
1401 Id::XAN_WC3 => AV_CODEC_ID_XAN_WC3,
1402 Id::XAN_WC4 => AV_CODEC_ID_XAN_WC4,
1403 Id::RPZA => AV_CODEC_ID_RPZA,
1404 Id::CINEPAK => AV_CODEC_ID_CINEPAK,
1405 Id::WS_VQA => AV_CODEC_ID_WS_VQA,
1406 Id::MSRLE => AV_CODEC_ID_MSRLE,
1407 Id::MSVIDEO1 => AV_CODEC_ID_MSVIDEO1,
1408 Id::IDCIN => AV_CODEC_ID_IDCIN,
1409 Id::BPS8 => AV_CODEC_ID_8BPS,
1410 Id::SMC => AV_CODEC_ID_SMC,
1411 Id::FLIC => AV_CODEC_ID_FLIC,
1412 Id::TRUEMOTION1 => AV_CODEC_ID_TRUEMOTION1,
1413 Id::VMDVIDEO => AV_CODEC_ID_VMDVIDEO,
1414 Id::MSZH => AV_CODEC_ID_MSZH,
1415 Id::ZLIB => AV_CODEC_ID_ZLIB,
1416 Id::QTRLE => AV_CODEC_ID_QTRLE,
1417 Id::TSCC => AV_CODEC_ID_TSCC,
1418 Id::ULTI => AV_CODEC_ID_ULTI,
1419 Id::QDRAW => AV_CODEC_ID_QDRAW,
1420 Id::VIXL => AV_CODEC_ID_VIXL,
1421 Id::QPEG => AV_CODEC_ID_QPEG,
1422 Id::PNG => AV_CODEC_ID_PNG,
1423 Id::PPM => AV_CODEC_ID_PPM,
1424 Id::PBM => AV_CODEC_ID_PBM,
1425 Id::PGM => AV_CODEC_ID_PGM,
1426 Id::PGMYUV => AV_CODEC_ID_PGMYUV,
1427 Id::PAM => AV_CODEC_ID_PAM,
1428 Id::FFVHUFF => AV_CODEC_ID_FFVHUFF,
1429 Id::RV30 => AV_CODEC_ID_RV30,
1430 Id::RV40 => AV_CODEC_ID_RV40,
1431 Id::VC1 => AV_CODEC_ID_VC1,
1432 Id::WMV3 => AV_CODEC_ID_WMV3,
1433 Id::LOCO => AV_CODEC_ID_LOCO,
1434 Id::WNV1 => AV_CODEC_ID_WNV1,
1435 Id::AASC => AV_CODEC_ID_AASC,
1436 Id::INDEO2 => AV_CODEC_ID_INDEO2,
1437 Id::FRAPS => AV_CODEC_ID_FRAPS,
1438 Id::TRUEMOTION2 => AV_CODEC_ID_TRUEMOTION2,
1439 Id::BMP => AV_CODEC_ID_BMP,
1440 Id::CSCD => AV_CODEC_ID_CSCD,
1441 Id::MMVIDEO => AV_CODEC_ID_MMVIDEO,
1442 Id::ZMBV => AV_CODEC_ID_ZMBV,
1443 Id::AVS => AV_CODEC_ID_AVS,
1444 Id::SMACKVIDEO => AV_CODEC_ID_SMACKVIDEO,
1445 Id::NUV => AV_CODEC_ID_NUV,
1446 Id::KMVC => AV_CODEC_ID_KMVC,
1447 Id::FLASHSV => AV_CODEC_ID_FLASHSV,
1448 Id::CAVS => AV_CODEC_ID_CAVS,
1449 Id::JPEG2000 => AV_CODEC_ID_JPEG2000,
1450 Id::VMNC => AV_CODEC_ID_VMNC,
1451 Id::VP5 => AV_CODEC_ID_VP5,
1452 Id::VP6 => AV_CODEC_ID_VP6,
1453 Id::VP6F => AV_CODEC_ID_VP6F,
1454 Id::TARGA => AV_CODEC_ID_TARGA,
1455 Id::DSICINVIDEO => AV_CODEC_ID_DSICINVIDEO,
1456 Id::TIERTEXSEQVIDEO => AV_CODEC_ID_TIERTEXSEQVIDEO,
1457 Id::TIFF => AV_CODEC_ID_TIFF,
1458 Id::GIF => AV_CODEC_ID_GIF,
1459 Id::DXA => AV_CODEC_ID_DXA,
1460 Id::DNXHD => AV_CODEC_ID_DNXHD,
1461 Id::THP => AV_CODEC_ID_THP,
1462 Id::SGI => AV_CODEC_ID_SGI,
1463 Id::C93 => AV_CODEC_ID_C93,
1464 Id::BETHSOFTVID => AV_CODEC_ID_BETHSOFTVID,
1465 Id::PTX => AV_CODEC_ID_PTX,
1466 Id::TXD => AV_CODEC_ID_TXD,
1467 Id::VP6A => AV_CODEC_ID_VP6A,
1468 Id::AMV => AV_CODEC_ID_AMV,
1469 Id::VB => AV_CODEC_ID_VB,
1470 Id::PCX => AV_CODEC_ID_PCX,
1471 Id::SUNRAST => AV_CODEC_ID_SUNRAST,
1472 Id::INDEO4 => AV_CODEC_ID_INDEO4,
1473 Id::INDEO5 => AV_CODEC_ID_INDEO5,
1474 Id::MIMIC => AV_CODEC_ID_MIMIC,
1475 Id::RL2 => AV_CODEC_ID_RL2,
1476 Id::ESCAPE124 => AV_CODEC_ID_ESCAPE124,
1477 Id::DIRAC => AV_CODEC_ID_DIRAC,
1478 Id::BFI => AV_CODEC_ID_BFI,
1479 Id::CMV => AV_CODEC_ID_CMV,
1480 Id::MOTIONPIXELS => AV_CODEC_ID_MOTIONPIXELS,
1481 Id::TGV => AV_CODEC_ID_TGV,
1482 Id::TGQ => AV_CODEC_ID_TGQ,
1483 Id::TQI => AV_CODEC_ID_TQI,
1484 Id::AURA => AV_CODEC_ID_AURA,
1485 Id::AURA2 => AV_CODEC_ID_AURA2,
1486 Id::V210X => AV_CODEC_ID_V210X,
1487 Id::TMV => AV_CODEC_ID_TMV,
1488 Id::V210 => AV_CODEC_ID_V210,
1489 Id::DPX => AV_CODEC_ID_DPX,
1490 Id::MAD => AV_CODEC_ID_MAD,
1491 Id::FRWU => AV_CODEC_ID_FRWU,
1492 Id::FLASHSV2 => AV_CODEC_ID_FLASHSV2,
1493 Id::CDGRAPHICS => AV_CODEC_ID_CDGRAPHICS,
1494 Id::R210 => AV_CODEC_ID_R210,
1495 Id::ANM => AV_CODEC_ID_ANM,
1496 Id::BINKVIDEO => AV_CODEC_ID_BINKVIDEO,
1497 Id::IFF_ILBM => AV_CODEC_ID_IFF_ILBM,
1498 Id::IFF_BYTERUN1 => AV_CODEC_ID_IFF_ILBM,
1499 Id::KGV1 => AV_CODEC_ID_KGV1,
1500 Id::YOP => AV_CODEC_ID_YOP,
1501 Id::VP8 => AV_CODEC_ID_VP8,
1502 Id::PICTOR => AV_CODEC_ID_PICTOR,
1503 Id::ANSI => AV_CODEC_ID_ANSI,
1504 Id::A64_MULTI => AV_CODEC_ID_A64_MULTI,
1505 Id::A64_MULTI5 => AV_CODEC_ID_A64_MULTI5,
1506 Id::R10K => AV_CODEC_ID_R10K,
1507 Id::MXPEG => AV_CODEC_ID_MXPEG,
1508 Id::LAGARITH => AV_CODEC_ID_LAGARITH,
1509 Id::PRORES => AV_CODEC_ID_PRORES,
1510 Id::JV => AV_CODEC_ID_JV,
1511 Id::DFA => AV_CODEC_ID_DFA,
1512 Id::WMV3IMAGE => AV_CODEC_ID_WMV3IMAGE,
1513 Id::VC1IMAGE => AV_CODEC_ID_VC1IMAGE,
1514 Id::UTVIDEO => AV_CODEC_ID_UTVIDEO,
1515 Id::BMV_VIDEO => AV_CODEC_ID_BMV_VIDEO,
1516 Id::VBLE => AV_CODEC_ID_VBLE,
1517 Id::DXTORY => AV_CODEC_ID_DXTORY,
1518 Id::V410 => AV_CODEC_ID_V410,
1519 Id::XWD => AV_CODEC_ID_XWD,
1520 Id::CDXL => AV_CODEC_ID_CDXL,
1521 Id::XBM => AV_CODEC_ID_XBM,
1522 Id::ZEROCODEC => AV_CODEC_ID_ZEROCODEC,
1523 Id::MSS1 => AV_CODEC_ID_MSS1,
1524 Id::MSA1 => AV_CODEC_ID_MSA1,
1525 Id::TSCC2 => AV_CODEC_ID_TSCC2,
1526 Id::MTS2 => AV_CODEC_ID_MTS2,
1527 Id::CLLC => AV_CODEC_ID_CLLC,
1528 Id::MSS2 => AV_CODEC_ID_MSS2,
1529 Id::VP9 => AV_CODEC_ID_VP9,
1530 Id::AIC => AV_CODEC_ID_AIC,
1531 Id::ESCAPE130 => AV_CODEC_ID_ESCAPE130,
1532 Id::G2M => AV_CODEC_ID_G2M,
1533 Id::WEBP => AV_CODEC_ID_WEBP,
1534 Id::HNM4_VIDEO => AV_CODEC_ID_HNM4_VIDEO,
1535 Id::HEVC => AV_CODEC_ID_HEVC,
1536 Id::H265 => AV_CODEC_ID_HEVC,
1537 Id::FIC => AV_CODEC_ID_FIC,
1538 Id::ALIAS_PIX => AV_CODEC_ID_ALIAS_PIX,
1539 Id::BRENDER_PIX => AV_CODEC_ID_BRENDER_PIX,
1540 Id::PAF_VIDEO => AV_CODEC_ID_PAF_VIDEO,
1541 Id::EXR => AV_CODEC_ID_EXR,
1542 Id::VP7 => AV_CODEC_ID_VP7,
1543 Id::SANM => AV_CODEC_ID_SANM,
1544 Id::SGIRLE => AV_CODEC_ID_SGIRLE,
1545 Id::MVC1 => AV_CODEC_ID_MVC1,
1546 Id::MVC2 => AV_CODEC_ID_MVC2,
1547 Id::HQX => AV_CODEC_ID_HQX,
1548 Id::TDSC => AV_CODEC_ID_TDSC,
1549 Id::HQ_HQA => AV_CODEC_ID_HQ_HQA,
1550 Id::HAP => AV_CODEC_ID_HAP,
1551 Id::DDS => AV_CODEC_ID_DDS,
1552 Id::DXV => AV_CODEC_ID_DXV,
1553 Id::SCREENPRESSO => AV_CODEC_ID_SCREENPRESSO,
1554 Id::RSCC => AV_CODEC_ID_RSCC,
1555
1556 Id::Y41P => AV_CODEC_ID_Y41P,
1557 Id::AVRP => AV_CODEC_ID_AVRP,
1558 Id::V012 => AV_CODEC_ID_012V,
1559 Id::AVUI => AV_CODEC_ID_AVUI,
1560 #[cfg(not(feature = "ffmpeg_7_0"))]
1561 Id::AYUV => AV_CODEC_ID_AYUV,
1562 Id::TARGA_Y216 => AV_CODEC_ID_TARGA_Y216,
1563 Id::V308 => AV_CODEC_ID_V308,
1564 Id::V408 => AV_CODEC_ID_V408,
1565 Id::YUV4 => AV_CODEC_ID_YUV4,
1566 Id::AVRN => AV_CODEC_ID_AVRN,
1567 Id::CPIA => AV_CODEC_ID_CPIA,
1568 Id::XFACE => AV_CODEC_ID_XFACE,
1569 Id::SNOW => AV_CODEC_ID_SNOW,
1570 Id::SMVJPEG => AV_CODEC_ID_SMVJPEG,
1571 Id::APNG => AV_CODEC_ID_APNG,
1572 Id::DAALA => AV_CODEC_ID_DAALA,
1573 Id::CFHD => AV_CODEC_ID_CFHD,
1574 Id::TRUEMOTION2RT => AV_CODEC_ID_TRUEMOTION2RT,
1575 Id::M101 => AV_CODEC_ID_M101,
1576 Id::MAGICYUV => AV_CODEC_ID_MAGICYUV,
1577 Id::SHEERVIDEO => AV_CODEC_ID_SHEERVIDEO,
1578 Id::YLC => AV_CODEC_ID_YLC,
1579
1580 /* various PCM "codecs" */
1581 Id::PCM_S16LE => AV_CODEC_ID_PCM_S16LE,
1582 Id::PCM_S16BE => AV_CODEC_ID_PCM_S16BE,
1583 Id::PCM_U16LE => AV_CODEC_ID_PCM_U16LE,
1584 Id::PCM_U16BE => AV_CODEC_ID_PCM_U16BE,
1585 Id::PCM_S8 => AV_CODEC_ID_PCM_S8,
1586 Id::PCM_U8 => AV_CODEC_ID_PCM_U8,
1587 Id::PCM_MULAW => AV_CODEC_ID_PCM_MULAW,
1588 Id::PCM_ALAW => AV_CODEC_ID_PCM_ALAW,
1589 Id::PCM_S32LE => AV_CODEC_ID_PCM_S32LE,
1590 Id::PCM_S32BE => AV_CODEC_ID_PCM_S32BE,
1591 Id::PCM_U32LE => AV_CODEC_ID_PCM_U32LE,
1592 Id::PCM_U32BE => AV_CODEC_ID_PCM_U32BE,
1593 Id::PCM_S24LE => AV_CODEC_ID_PCM_S24LE,
1594 Id::PCM_S24BE => AV_CODEC_ID_PCM_S24BE,
1595 Id::PCM_U24LE => AV_CODEC_ID_PCM_U24LE,
1596 Id::PCM_U24BE => AV_CODEC_ID_PCM_U24BE,
1597 Id::PCM_S24DAUD => AV_CODEC_ID_PCM_S24DAUD,
1598 Id::PCM_ZORK => AV_CODEC_ID_PCM_ZORK,
1599 Id::PCM_S16LE_PLANAR => AV_CODEC_ID_PCM_S16LE_PLANAR,
1600 Id::PCM_DVD => AV_CODEC_ID_PCM_DVD,
1601 Id::PCM_F32BE => AV_CODEC_ID_PCM_F32BE,
1602 Id::PCM_F32LE => AV_CODEC_ID_PCM_F32LE,
1603 Id::PCM_F64BE => AV_CODEC_ID_PCM_F64BE,
1604 Id::PCM_F64LE => AV_CODEC_ID_PCM_F64LE,
1605 Id::PCM_BLURAY => AV_CODEC_ID_PCM_BLURAY,
1606 Id::PCM_LXF => AV_CODEC_ID_PCM_LXF,
1607 Id::S302M => AV_CODEC_ID_S302M,
1608 Id::PCM_S8_PLANAR => AV_CODEC_ID_PCM_S8_PLANAR,
1609 Id::PCM_S24LE_PLANAR => AV_CODEC_ID_PCM_S24LE_PLANAR,
1610 Id::PCM_S32LE_PLANAR => AV_CODEC_ID_PCM_S32LE_PLANAR,
1611 Id::PCM_S16BE_PLANAR => AV_CODEC_ID_PCM_S16BE_PLANAR,
1612
1613 Id::PCM_S64LE => AV_CODEC_ID_PCM_S64LE,
1614 Id::PCM_S64BE => AV_CODEC_ID_PCM_S64BE,
1615
1616 /* various ADPCM codecs */
1617 Id::ADPCM_IMA_QT => AV_CODEC_ID_ADPCM_IMA_QT,
1618 Id::ADPCM_IMA_WAV => AV_CODEC_ID_ADPCM_IMA_WAV,
1619 Id::ADPCM_IMA_DK3 => AV_CODEC_ID_ADPCM_IMA_DK3,
1620 Id::ADPCM_IMA_DK4 => AV_CODEC_ID_ADPCM_IMA_DK4,
1621 Id::ADPCM_IMA_WS => AV_CODEC_ID_ADPCM_IMA_WS,
1622 Id::ADPCM_IMA_SMJPEG => AV_CODEC_ID_ADPCM_IMA_SMJPEG,
1623 Id::ADPCM_MS => AV_CODEC_ID_ADPCM_MS,
1624 Id::ADPCM_4XM => AV_CODEC_ID_ADPCM_4XM,
1625 Id::ADPCM_XA => AV_CODEC_ID_ADPCM_XA,
1626 Id::ADPCM_ADX => AV_CODEC_ID_ADPCM_ADX,
1627 Id::ADPCM_EA => AV_CODEC_ID_ADPCM_EA,
1628 Id::ADPCM_G726 => AV_CODEC_ID_ADPCM_G726,
1629 Id::ADPCM_CT => AV_CODEC_ID_ADPCM_CT,
1630 Id::ADPCM_SWF => AV_CODEC_ID_ADPCM_SWF,
1631 Id::ADPCM_YAMAHA => AV_CODEC_ID_ADPCM_YAMAHA,
1632 Id::ADPCM_SBPRO_4 => AV_CODEC_ID_ADPCM_SBPRO_4,
1633 Id::ADPCM_SBPRO_3 => AV_CODEC_ID_ADPCM_SBPRO_3,
1634 Id::ADPCM_SBPRO_2 => AV_CODEC_ID_ADPCM_SBPRO_2,
1635 Id::ADPCM_THP => AV_CODEC_ID_ADPCM_THP,
1636 Id::ADPCM_IMA_AMV => AV_CODEC_ID_ADPCM_IMA_AMV,
1637 Id::ADPCM_EA_R1 => AV_CODEC_ID_ADPCM_EA_R1,
1638 Id::ADPCM_EA_R3 => AV_CODEC_ID_ADPCM_EA_R3,
1639 Id::ADPCM_EA_R2 => AV_CODEC_ID_ADPCM_EA_R2,
1640 Id::ADPCM_IMA_EA_SEAD => AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
1641 Id::ADPCM_IMA_EA_EACS => AV_CODEC_ID_ADPCM_IMA_EA_EACS,
1642 Id::ADPCM_EA_XAS => AV_CODEC_ID_ADPCM_EA_XAS,
1643 Id::ADPCM_EA_MAXIS_XA => AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
1644 Id::ADPCM_IMA_ISS => AV_CODEC_ID_ADPCM_IMA_ISS,
1645 Id::ADPCM_G722 => AV_CODEC_ID_ADPCM_G722,
1646 Id::ADPCM_IMA_APC => AV_CODEC_ID_ADPCM_IMA_APC,
1647 Id::ADPCM_VIMA => AV_CODEC_ID_ADPCM_VIMA,
1648
1649 Id::ADPCM_AFC => AV_CODEC_ID_ADPCM_AFC,
1650 Id::ADPCM_IMA_OKI => AV_CODEC_ID_ADPCM_IMA_OKI,
1651 Id::ADPCM_DTK => AV_CODEC_ID_ADPCM_DTK,
1652 Id::ADPCM_IMA_RAD => AV_CODEC_ID_ADPCM_IMA_RAD,
1653 Id::ADPCM_G726LE => AV_CODEC_ID_ADPCM_G726LE,
1654 Id::ADPCM_THP_LE => AV_CODEC_ID_ADPCM_THP_LE,
1655 Id::ADPCM_PSX => AV_CODEC_ID_ADPCM_PSX,
1656 Id::ADPCM_AICA => AV_CODEC_ID_ADPCM_AICA,
1657 Id::ADPCM_IMA_DAT4 => AV_CODEC_ID_ADPCM_IMA_DAT4,
1658 Id::ADPCM_MTAF => AV_CODEC_ID_ADPCM_MTAF,
1659
1660 /* AMR */
1661 Id::AMR_NB => AV_CODEC_ID_AMR_NB,
1662 Id::AMR_WB => AV_CODEC_ID_AMR_WB,
1663
1664 /* RealAudio codecs*/
1665 Id::RA_144 => AV_CODEC_ID_RA_144,
1666 Id::RA_288 => AV_CODEC_ID_RA_288,
1667
1668 /* various DPCM codecs */
1669 Id::ROQ_DPCM => AV_CODEC_ID_ROQ_DPCM,
1670 Id::INTERPLAY_DPCM => AV_CODEC_ID_INTERPLAY_DPCM,
1671 Id::XAN_DPCM => AV_CODEC_ID_XAN_DPCM,
1672 Id::SOL_DPCM => AV_CODEC_ID_SOL_DPCM,
1673
1674 Id::SDX2_DPCM => AV_CODEC_ID_SDX2_DPCM,
1675
1676 /* audio codecs */
1677 Id::MP2 => AV_CODEC_ID_MP2,
1678 Id::MP3 => AV_CODEC_ID_MP3,
1679 Id::AAC => AV_CODEC_ID_AAC,
1680 Id::AC3 => AV_CODEC_ID_AC3,
1681 Id::DTS => AV_CODEC_ID_DTS,
1682 Id::VORBIS => AV_CODEC_ID_VORBIS,
1683 Id::DVAUDIO => AV_CODEC_ID_DVAUDIO,
1684 Id::WMAV1 => AV_CODEC_ID_WMAV1,
1685 Id::WMAV2 => AV_CODEC_ID_WMAV2,
1686 Id::MACE3 => AV_CODEC_ID_MACE3,
1687 Id::MACE6 => AV_CODEC_ID_MACE6,
1688 Id::VMDAUDIO => AV_CODEC_ID_VMDAUDIO,
1689 Id::FLAC => AV_CODEC_ID_FLAC,
1690 Id::MP3ADU => AV_CODEC_ID_MP3ADU,
1691 Id::MP3ON4 => AV_CODEC_ID_MP3ON4,
1692 Id::SHORTEN => AV_CODEC_ID_SHORTEN,
1693 Id::ALAC => AV_CODEC_ID_ALAC,
1694 Id::WESTWOOD_SND1 => AV_CODEC_ID_WESTWOOD_SND1,
1695 Id::GSM => AV_CODEC_ID_GSM,
1696 Id::QDM2 => AV_CODEC_ID_QDM2,
1697 Id::COOK => AV_CODEC_ID_COOK,
1698 Id::TRUESPEECH => AV_CODEC_ID_TRUESPEECH,
1699 Id::TTA => AV_CODEC_ID_TTA,
1700 Id::SMACKAUDIO => AV_CODEC_ID_SMACKAUDIO,
1701 Id::QCELP => AV_CODEC_ID_QCELP,
1702 Id::WAVPACK => AV_CODEC_ID_WAVPACK,
1703 Id::DSICINAUDIO => AV_CODEC_ID_DSICINAUDIO,
1704 Id::IMC => AV_CODEC_ID_IMC,
1705 Id::MUSEPACK7 => AV_CODEC_ID_MUSEPACK7,
1706 Id::MLP => AV_CODEC_ID_MLP,
1707 Id::GSM_MS => AV_CODEC_ID_GSM_MS,
1708 Id::ATRAC3 => AV_CODEC_ID_ATRAC3,
1709 #[cfg(feature = "ff_api_voxware")]
1710 Id::VOXWARE => AV_CODEC_ID_VOXWARE,
1711 Id::APE => AV_CODEC_ID_APE,
1712 Id::NELLYMOSER => AV_CODEC_ID_NELLYMOSER,
1713 Id::MUSEPACK8 => AV_CODEC_ID_MUSEPACK8,
1714 Id::SPEEX => AV_CODEC_ID_SPEEX,
1715 Id::WMAVOICE => AV_CODEC_ID_WMAVOICE,
1716 Id::WMAPRO => AV_CODEC_ID_WMAPRO,
1717 Id::WMALOSSLESS => AV_CODEC_ID_WMALOSSLESS,
1718 Id::ATRAC3P => AV_CODEC_ID_ATRAC3P,
1719 Id::EAC3 => AV_CODEC_ID_EAC3,
1720 Id::SIPR => AV_CODEC_ID_SIPR,
1721 Id::MP1 => AV_CODEC_ID_MP1,
1722 Id::TWINVQ => AV_CODEC_ID_TWINVQ,
1723 Id::TRUEHD => AV_CODEC_ID_TRUEHD,
1724 Id::MP4ALS => AV_CODEC_ID_MP4ALS,
1725 Id::ATRAC1 => AV_CODEC_ID_ATRAC1,
1726 Id::BINKAUDIO_RDFT => AV_CODEC_ID_BINKAUDIO_RDFT,
1727 Id::BINKAUDIO_DCT => AV_CODEC_ID_BINKAUDIO_DCT,
1728 Id::AAC_LATM => AV_CODEC_ID_AAC_LATM,
1729 Id::QDMC => AV_CODEC_ID_QDMC,
1730 Id::CELT => AV_CODEC_ID_CELT,
1731 Id::G723_1 => AV_CODEC_ID_G723_1,
1732 Id::G729 => AV_CODEC_ID_G729,
1733 Id::SVX_EXP8 => AV_CODEC_ID_8SVX_EXP,
1734 Id::SVX_FIB8 => AV_CODEC_ID_8SVX_FIB,
1735 Id::BMV_AUDIO => AV_CODEC_ID_BMV_AUDIO,
1736 Id::RALF => AV_CODEC_ID_RALF,
1737 Id::IAC => AV_CODEC_ID_IAC,
1738 Id::ILBC => AV_CODEC_ID_ILBC,
1739 Id::OPUS => AV_CODEC_ID_OPUS,
1740 Id::COMFORT_NOISE => AV_CODEC_ID_COMFORT_NOISE,
1741 Id::TAK => AV_CODEC_ID_TAK,
1742 Id::METASOUND => AV_CODEC_ID_METASOUND,
1743 Id::PAF_AUDIO => AV_CODEC_ID_PAF_AUDIO,
1744 Id::ON2AVC => AV_CODEC_ID_ON2AVC,
1745 Id::DSS_SP => AV_CODEC_ID_DSS_SP,
1746
1747 #[cfg(feature = "ffmpeg_4_0")]
1748 Id::CODEC2 => AV_CODEC_ID_CODEC2,
1749 Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH,
1750 Id::SONIC => AV_CODEC_ID_SONIC,
1751 Id::SONIC_LS => AV_CODEC_ID_SONIC_LS,
1752 Id::EVRC => AV_CODEC_ID_EVRC,
1753 Id::SMV => AV_CODEC_ID_SMV,
1754 Id::DSD_LSBF => AV_CODEC_ID_DSD_LSBF,
1755 Id::DSD_MSBF => AV_CODEC_ID_DSD_MSBF,
1756 Id::DSD_LSBF_PLANAR => AV_CODEC_ID_DSD_LSBF_PLANAR,
1757 Id::DSD_MSBF_PLANAR => AV_CODEC_ID_DSD_MSBF_PLANAR,
1758 Id::_4GV => AV_CODEC_ID_4GV,
1759 Id::INTERPLAY_ACM => AV_CODEC_ID_INTERPLAY_ACM,
1760 Id::XMA1 => AV_CODEC_ID_XMA1,
1761 Id::XMA2 => AV_CODEC_ID_XMA2,
1762 Id::DST => AV_CODEC_ID_DST,
1763
1764 /* subtitle codecs */
1765 Id::DVD_SUBTITLE => AV_CODEC_ID_DVD_SUBTITLE,
1766 Id::DVB_SUBTITLE => AV_CODEC_ID_DVB_SUBTITLE,
1767 Id::TEXT => AV_CODEC_ID_TEXT,
1768 Id::XSUB => AV_CODEC_ID_XSUB,
1769 Id::SSA => AV_CODEC_ID_SSA,
1770 Id::MOV_TEXT => AV_CODEC_ID_MOV_TEXT,
1771 Id::HDMV_PGS_SUBTITLE => AV_CODEC_ID_HDMV_PGS_SUBTITLE,
1772 Id::DVB_TELETEXT => AV_CODEC_ID_DVB_TELETEXT,
1773 Id::SRT => AV_CODEC_ID_SRT,
1774
1775 Id::MICRODVD => AV_CODEC_ID_MICRODVD,
1776 Id::EIA_608 => AV_CODEC_ID_EIA_608,
1777 Id::JACOSUB => AV_CODEC_ID_JACOSUB,
1778 Id::SAMI => AV_CODEC_ID_SAMI,
1779 Id::REALTEXT => AV_CODEC_ID_REALTEXT,
1780 Id::STL => AV_CODEC_ID_STL,
1781 Id::SUBVIEWER1 => AV_CODEC_ID_SUBVIEWER1,
1782 Id::SUBVIEWER => AV_CODEC_ID_SUBVIEWER,
1783 Id::SUBRIP => AV_CODEC_ID_SUBRIP,
1784 Id::WEBVTT => AV_CODEC_ID_WEBVTT,
1785 Id::MPL2 => AV_CODEC_ID_MPL2,
1786 Id::VPLAYER => AV_CODEC_ID_VPLAYER,
1787 Id::PJS => AV_CODEC_ID_PJS,
1788 Id::ASS => AV_CODEC_ID_ASS,
1789 Id::HDMV_TEXT_SUBTITLE => AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
1790
1791 /* other specific kind of codecs (generally used for attachments) */
1792 Id::TTF => AV_CODEC_ID_TTF,
1793
1794 Id::SCTE_35 => AV_CODEC_ID_SCTE_35,
1795 Id::BINTEXT => AV_CODEC_ID_BINTEXT,
1796 Id::XBIN => AV_CODEC_ID_XBIN,
1797 Id::IDF => AV_CODEC_ID_IDF,
1798 Id::OTF => AV_CODEC_ID_OTF,
1799 Id::SMPTE_KLV => AV_CODEC_ID_SMPTE_KLV,
1800 Id::DVD_NAV => AV_CODEC_ID_DVD_NAV,
1801 Id::TIMED_ID3 => AV_CODEC_ID_TIMED_ID3,
1802 Id::BIN_DATA => AV_CODEC_ID_BIN_DATA,
1803
1804 Id::PROBE => AV_CODEC_ID_PROBE,
1805
1806 Id::MPEG2TS => AV_CODEC_ID_MPEG2TS,
1807 Id::MPEG4SYSTEMS => AV_CODEC_ID_MPEG4SYSTEMS,
1808 Id::FFMETADATA => AV_CODEC_ID_FFMETADATA,
1809 Id::WRAPPED_AVFRAME => AV_CODEC_ID_WRAPPED_AVFRAME,
1810
1811 Id::PSD => AV_CODEC_ID_PSD,
1812 Id::PIXLET => AV_CODEC_ID_PIXLET,
1813 Id::SPEEDHQ => AV_CODEC_ID_SPEEDHQ,
1814 Id::FMVC => AV_CODEC_ID_FMVC,
1815 Id::CLEARVIDEO => AV_CODEC_ID_CLEARVIDEO,
1816 Id::SCPR => AV_CODEC_ID_SCPR,
1817 Id::XPM => AV_CODEC_ID_XPM,
1818 Id::AV1 => AV_CODEC_ID_AV1,
1819 Id::PCM_F16LE => AV_CODEC_ID_PCM_F16LE,
1820 Id::PCM_F24LE => AV_CODEC_ID_PCM_F24LE,
1821 Id::ATRAC3AL => AV_CODEC_ID_ATRAC3AL,
1822 Id::ATRAC3PAL => AV_CODEC_ID_ATRAC3PAL,
1823
1824 Id::BITPACKED => AV_CODEC_ID_BITPACKED,
1825 Id::MSCC => AV_CODEC_ID_MSCC,
1826 Id::SRGC => AV_CODEC_ID_SRGC,
1827 Id::SVG => AV_CODEC_ID_SVG,
1828 Id::GDV => AV_CODEC_ID_GDV,
1829 Id::FITS => AV_CODEC_ID_FITS,
1830 Id::GREMLIN_DPCM => AV_CODEC_ID_GREMLIN_DPCM,
1831 Id::DOLBY_E => AV_CODEC_ID_DOLBY_E,
1832
1833 #[cfg(feature = "ffmpeg_4_0")]
1834 Id::APTX => AV_CODEC_ID_APTX,
1835 #[cfg(feature = "ffmpeg_4_0")]
1836 Id::APTX_HD => AV_CODEC_ID_APTX_HD,
1837 #[cfg(feature = "ffmpeg_4_0")]
1838 Id::SBC => AV_CODEC_ID_SBC,
1839
1840 #[cfg(feature = "ffmpeg_4_1")]
1841 Id::AVS2 => AV_CODEC_ID_AVS2,
1842 #[cfg(feature = "ffmpeg_4_1")]
1843 Id::IMM4 => AV_CODEC_ID_IMM4,
1844 #[cfg(feature = "ffmpeg_4_1")]
1845 Id::PROSUMER => AV_CODEC_ID_PROSUMER,
1846 #[cfg(feature = "ffmpeg_4_1")]
1847 Id::MWSC => AV_CODEC_ID_MWSC,
1848 #[cfg(feature = "ffmpeg_4_1")]
1849 Id::WCMV => AV_CODEC_ID_WCMV,
1850 #[cfg(feature = "ffmpeg_4_1")]
1851 Id::RASC => AV_CODEC_ID_RASC,
1852 #[cfg(feature = "ffmpeg_4_1")]
1853 Id::PCM_VIDC => AV_CODEC_ID_PCM_VIDC,
1854 #[cfg(feature = "ffmpeg_4_1")]
1855 Id::ATRAC9 => AV_CODEC_ID_ATRAC9,
1856 #[cfg(feature = "ffmpeg_4_1")]
1857 Id::TTML => AV_CODEC_ID_TTML,
1858
1859 #[cfg(feature = "ffmpeg_4_2")]
1860 Id::HYMT => AV_CODEC_ID_HYMT,
1861 #[cfg(feature = "ffmpeg_4_2")]
1862 Id::ARBC => AV_CODEC_ID_ARBC,
1863 #[cfg(feature = "ffmpeg_4_2")]
1864 Id::AGM => AV_CODEC_ID_AGM,
1865 #[cfg(feature = "ffmpeg_4_2")]
1866 Id::LSCR => AV_CODEC_ID_LSCR,
1867 #[cfg(feature = "ffmpeg_4_2")]
1868 Id::VP4 => AV_CODEC_ID_VP4,
1869 #[cfg(feature = "ffmpeg_4_2")]
1870 Id::ADPCM_AGM => AV_CODEC_ID_ADPCM_AGM,
1871 #[cfg(feature = "ffmpeg_4_2")]
1872 Id::HCOM => AV_CODEC_ID_HCOM,
1873 #[cfg(feature = "ffmpeg_4_2")]
1874 Id::ARIB_CAPTION => AV_CODEC_ID_ARIB_CAPTION,
1875
1876 #[cfg(feature = "ffmpeg_4_3")]
1877 Id::IMM5 => AV_CODEC_ID_IMM5,
1878 #[cfg(feature = "ffmpeg_4_3")]
1879 Id::MVDV => AV_CODEC_ID_MVDV,
1880 #[cfg(feature = "ffmpeg_4_3")]
1881 Id::MVHA => AV_CODEC_ID_MVHA,
1882 #[cfg(feature = "ffmpeg_4_3")]
1883 Id::CDTOONS => AV_CODEC_ID_CDTOONS,
1884 #[cfg(feature = "ffmpeg_4_3")]
1885 Id::MV30 => AV_CODEC_ID_MV30,
1886 #[cfg(feature = "ffmpeg_4_3")]
1887 Id::NOTCHLC => AV_CODEC_ID_NOTCHLC,
1888 #[cfg(feature = "ffmpeg_4_3")]
1889 Id::PFM => AV_CODEC_ID_PFM,
1890 #[cfg(feature = "ffmpeg_4_3")]
1891 Id::ADPCM_ARGO => AV_CODEC_ID_ADPCM_ARGO,
1892 #[cfg(feature = "ffmpeg_4_3")]
1893 Id::ADPCM_IMA_SSI => AV_CODEC_ID_ADPCM_IMA_SSI,
1894 #[cfg(feature = "ffmpeg_4_3")]
1895 Id::ADPCM_ZORK => AV_CODEC_ID_ADPCM_ZORK,
1896 #[cfg(feature = "ffmpeg_4_3")]
1897 Id::ADPCM_IMA_APM => AV_CODEC_ID_ADPCM_IMA_APM,
1898 #[cfg(feature = "ffmpeg_4_3")]
1899 Id::ADPCM_IMA_ALP => AV_CODEC_ID_ADPCM_IMA_ALP,
1900 #[cfg(feature = "ffmpeg_4_3")]
1901 Id::ADPCM_IMA_MTF => AV_CODEC_ID_ADPCM_IMA_MTF,
1902 #[cfg(feature = "ffmpeg_4_3")]
1903 Id::ADPCM_IMA_CUNNING => AV_CODEC_ID_ADPCM_IMA_CUNNING,
1904 #[cfg(feature = "ffmpeg_4_3")]
1905 Id::DERF_DPCM => AV_CODEC_ID_DERF_DPCM,
1906 #[cfg(feature = "ffmpeg_4_3")]
1907 Id::ACELP_KELVIN => AV_CODEC_ID_ACELP_KELVIN,
1908 #[cfg(feature = "ffmpeg_4_3")]
1909 Id::MPEGH_3D_AUDIO => AV_CODEC_ID_MPEGH_3D_AUDIO,
1910 #[cfg(feature = "ffmpeg_4_3")]
1911 Id::SIREN => AV_CODEC_ID_SIREN,
1912 #[cfg(feature = "ffmpeg_4_3")]
1913 Id::HCA => AV_CODEC_ID_HCA,
1914 #[cfg(feature = "ffmpeg_4_3")]
1915 Id::EPG => AV_CODEC_ID_EPG,
1916
1917 #[cfg(feature = "ffmpeg_4_4")]
1918 Id::PGX => AV_CODEC_ID_PGX,
1919 #[cfg(feature = "ffmpeg_4_4")]
1920 Id::AVS3 => AV_CODEC_ID_AVS3,
1921 #[cfg(feature = "ffmpeg_4_4")]
1922 Id::MSP2 => AV_CODEC_ID_MSP2,
1923 #[cfg(feature = "ffmpeg_4_4")]
1924 Id::VVC => AV_CODEC_ID_VVC,
1925 #[cfg(feature = "ffmpeg_4_4")]
1926 Id::MOBICLIP => AV_CODEC_ID_MOBICLIP,
1927 #[cfg(feature = "ffmpeg_4_4")]
1928 Id::PHOTOCD => AV_CODEC_ID_PHOTOCD,
1929 #[cfg(feature = "ffmpeg_4_4")]
1930 Id::IPU => AV_CODEC_ID_IPU,
1931 #[cfg(feature = "ffmpeg_4_4")]
1932 Id::ARGO => AV_CODEC_ID_ARGO,
1933 #[cfg(feature = "ffmpeg_4_4")]
1934 Id::CRI => AV_CODEC_ID_CRI,
1935 #[cfg(feature = "ffmpeg_4_4")]
1936 Id::SIMBIOSIS_IMX => AV_CODEC_ID_SIMBIOSIS_IMX,
1937 #[cfg(feature = "ffmpeg_4_4")]
1938 Id::SGA_VIDEO => AV_CODEC_ID_SGA_VIDEO,
1939 #[cfg(feature = "ffmpeg_4_4")]
1940 Id::PCM_SGA => AV_CODEC_ID_PCM_SGA,
1941 #[cfg(feature = "ffmpeg_4_4")]
1942 Id::ADPCM_IMA_MOFLEX => AV_CODEC_ID_ADPCM_IMA_MOFLEX,
1943 #[cfg(feature = "ffmpeg_4_4")]
1944 Id::FASTAUDIO => AV_CODEC_ID_FASTAUDIO,
1945
1946 #[cfg(feature = "ffmpeg_5_0")]
1947 Id::GEM => AV_CODEC_ID_GEM,
1948 #[cfg(feature = "ffmpeg_5_0")]
1949 Id::ADPCM_IMA_ACORN => AV_CODEC_ID_ADPCM_IMA_ACORN,
1950 #[cfg(feature = "ffmpeg_5_0")]
1951 Id::MSNSIREN => AV_CODEC_ID_MSNSIREN,
1952
1953 #[cfg(feature = "ffmpeg_5_1")]
1954 Id::VBN => AV_CODEC_ID_VBN,
1955 #[cfg(feature = "ffmpeg_5_1")]
1956 Id::JPEGXL => AV_CODEC_ID_JPEGXL,
1957 #[cfg(feature = "ffmpeg_5_1")]
1958 Id::QOI => AV_CODEC_ID_QOI,
1959 #[cfg(feature = "ffmpeg_5_1")]
1960 Id::PHM => AV_CODEC_ID_PHM,
1961 #[cfg(feature = "ffmpeg_5_1")]
1962 Id::DFPWM => AV_CODEC_ID_DFPWM,
1963
1964 #[cfg(feature = "ffmpeg_6_0")]
1965 Id::RADIANCE_HDR => AV_CODEC_ID_RADIANCE_HDR,
1966 #[cfg(feature = "ffmpeg_6_0")]
1967 Id::WBMP => AV_CODEC_ID_WBMP,
1968 #[cfg(feature = "ffmpeg_6_0")]
1969 Id::MEDIA100 => AV_CODEC_ID_MEDIA100,
1970 #[cfg(feature = "ffmpeg_6_0")]
1971 Id::VQC => AV_CODEC_ID_VQC,
1972 #[cfg(feature = "ffmpeg_6_0")]
1973 Id::ADPCM_XMD => AV_CODEC_ID_ADPCM_XMD,
1974 #[cfg(feature = "ffmpeg_6_0")]
1975 Id::WADY_DPCM => AV_CODEC_ID_WADY_DPCM,
1976 #[cfg(feature = "ffmpeg_6_0")]
1977 Id::CBD2_DPCM => AV_CODEC_ID_CBD2_DPCM,
1978 #[cfg(feature = "ffmpeg_6_0")]
1979 Id::BONK => AV_CODEC_ID_BONK,
1980 #[cfg(feature = "ffmpeg_6_0")]
1981 Id::MISC4 => AV_CODEC_ID_MISC4,
1982 #[cfg(feature = "ffmpeg_6_0")]
1983 Id::APAC => AV_CODEC_ID_APAC,
1984 #[cfg(feature = "ffmpeg_6_0")]
1985 Id::FTR => AV_CODEC_ID_FTR,
1986 #[cfg(feature = "ffmpeg_6_0")]
1987 Id::WAVARC => AV_CODEC_ID_WAVARC,
1988 #[cfg(feature = "ffmpeg_6_0")]
1989 Id::RKA => AV_CODEC_ID_RKA,
1990 #[cfg(feature = "ffmpeg_6_0")]
1991 Id::VNULL => AV_CODEC_ID_VNULL,
1992 #[cfg(feature = "ffmpeg_6_0")]
1993 Id::ANULL => AV_CODEC_ID_ANULL,
1994
1995 #[cfg(feature = "ffmpeg_6_1")]
1996 Id::PDV => AV_CODEC_ID_PDV,
1997 #[cfg(feature = "ffmpeg_6_1")]
1998 Id::EVC => AV_CODEC_ID_EVC,
1999 #[cfg(feature = "ffmpeg_6_1")]
2000 Id::RTV1 => AV_CODEC_ID_RTV1,
2001 #[cfg(feature = "ffmpeg_6_1")]
2002 Id::VMIX => AV_CODEC_ID_VMIX,
2003 #[cfg(feature = "ffmpeg_6_1")]
2004 Id::AC4 => AV_CODEC_ID_AC4,
2005 #[cfg(feature = "ffmpeg_6_1")]
2006 Id::SMPTE_2038 => AV_CODEC_ID_SMPTE_2038,
2007 #[cfg(feature = "ffmpeg_6_1")]
2008 Id::OSQ => AV_CODEC_ID_OSQ,
2009
2010 #[cfg(feature = "ffmpeg_7_0")]
2011 Id::QOA => AV_CODEC_ID_QOA,
2012 #[cfg(feature = "ffmpeg_7_0")]
2013 Id::LEAD => AV_CODEC_ID_LEAD,
2014
2015 #[cfg(feature = "ffmpeg_7_1")]
2016 Id::LC3 => AV_CODEC_ID_LC3,
2017 #[cfg(feature = "ffmpeg_7_1")]
2018 Id::LCEVC => AV_CODEC_ID_LCEVC,
2019 }
2020 }
2021}
2022