playa_ffmpeg/codec/
id.rs

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