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