Skip to main content

ffmpeg_next/codec/
id.rs

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