ffmpeg_the_third/codec/
id.rs

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