ffmpeg_next/codec/
id.rs

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