Skip to main content

ffmpeg_the_third/codec/
id.rs

1use crate::ffi::*;
2use crate::util::media;
3use crate::utils;
4#[cfg(feature = "serialize")]
5use serde::{Deserialize, Serialize};
6
7#[allow(non_camel_case_types)]
8#[derive(Eq, PartialEq, Clone, Copy, Debug)]
9#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))]
10pub enum Id {
11    None,
12
13    // video codecs
14    MPEG1VIDEO,
15    MPEG2VIDEO,
16    H261,
17    H263,
18    RV10,
19    RV20,
20    MJPEG,
21    MJPEGB,
22    LJPEG,
23    SP5X,
24    JPEGLS,
25    MPEG4,
26    RAWVIDEO,
27    MSMPEG4V1,
28    MSMPEG4V2,
29    MSMPEG4V3,
30    WMV1,
31    WMV2,
32    H263P,
33    H263I,
34    FLV1,
35    SVQ1,
36    SVQ3,
37    DVVIDEO,
38    HUFFYUV,
39    CYUV,
40    H264,
41    INDEO3,
42    VP3,
43    THEORA,
44    ASV1,
45    ASV2,
46    FFV1,
47    XM4,
48    VCR1,
49    CLJR,
50    MDEC,
51    ROQ,
52    INTERPLAY_VIDEO,
53    XAN_WC3,
54    XAN_WC4,
55    RPZA,
56    CINEPAK,
57    WS_VQA,
58    MSRLE,
59    MSVIDEO1,
60    IDCIN,
61    BPS8,
62    SMC,
63    FLIC,
64    TRUEMOTION1,
65    VMDVIDEO,
66    MSZH,
67    ZLIB,
68    QTRLE,
69    TSCC,
70    ULTI,
71    QDRAW,
72    VIXL,
73    QPEG,
74    PNG,
75    PPM,
76    PBM,
77    PGM,
78    PGMYUV,
79    PAM,
80    FFVHUFF,
81    RV30,
82    RV40,
83    VC1,
84    WMV3,
85    LOCO,
86    WNV1,
87    AASC,
88    INDEO2,
89    FRAPS,
90    TRUEMOTION2,
91    BMP,
92    CSCD,
93    MMVIDEO,
94    ZMBV,
95    AVS,
96    SMACKVIDEO,
97    NUV,
98    KMVC,
99    FLASHSV,
100    CAVS,
101    JPEG2000,
102    VMNC,
103    VP5,
104    VP6,
105    VP6F,
106    TARGA,
107    DSICINVIDEO,
108    TIERTEXSEQVIDEO,
109    TIFF,
110    GIF,
111    DXA,
112    DNXHD,
113    THP,
114    SGI,
115    C93,
116    BETHSOFTVID,
117    PTX,
118    TXD,
119    VP6A,
120    AMV,
121    VB,
122    PCX,
123    SUNRAST,
124    INDEO4,
125    INDEO5,
126    MIMIC,
127    RL2,
128    ESCAPE124,
129    DIRAC,
130    BFI,
131    CMV,
132    MOTIONPIXELS,
133    TGV,
134    TGQ,
135    TQI,
136    AURA,
137    AURA2,
138    V210X,
139    TMV,
140    V210,
141    DPX,
142    MAD,
143    FRWU,
144    FLASHSV2,
145    CDGRAPHICS,
146    R210,
147    ANM,
148    BINKVIDEO,
149    IFF_ILBM,
150    IFF_BYTERUN1,
151    KGV1,
152    YOP,
153    VP8,
154    PICTOR,
155    ANSI,
156    A64_MULTI,
157    A64_MULTI5,
158    R10K,
159    MXPEG,
160    LAGARITH,
161    PRORES,
162    JV,
163    DFA,
164    WMV3IMAGE,
165    VC1IMAGE,
166    UTVIDEO,
167    BMV_VIDEO,
168    VBLE,
169    DXTORY,
170    V410,
171    XWD,
172    CDXL,
173    XBM,
174    ZEROCODEC,
175    MSS1,
176    MSA1,
177    TSCC2,
178    MTS2,
179    CLLC,
180    MSS2,
181    VP9,
182    AIC,
183    ESCAPE130,
184    G2M,
185    WEBP,
186    HNM4_VIDEO,
187    HEVC,
188    H265,
189    FIC,
190    ALIAS_PIX,
191    BRENDER_PIX,
192    PAF_VIDEO,
193    EXR,
194    VP7,
195    SANM,
196    SGIRLE,
197    MVC1,
198    MVC2,
199    HQX,
200    TDSC,
201    HQ_HQA,
202    HAP,
203    DDS,
204    DXV,
205    SCREENPRESSO,
206    RSCC,
207
208    Y41P,
209    AVRP,
210    V012,
211    AVUI,
212    #[cfg(not(feature = "ffmpeg_7_0"))]
213    AYUV,
214    TARGA_Y216,
215    V308,
216    V408,
217    YUV4,
218    AVRN,
219    CPIA,
220    XFACE,
221    SNOW,
222    SMVJPEG,
223    APNG,
224    DAALA,
225    CFHD,
226    TRUEMOTION2RT,
227    M101,
228    MAGICYUV,
229    SHEERVIDEO,
230    YLC,
231
232    // various PCM "codecs"
233    PCM_S16LE,
234    PCM_S16BE,
235    PCM_U16LE,
236    PCM_U16BE,
237    PCM_S8,
238    PCM_U8,
239    PCM_MULAW,
240    PCM_ALAW,
241    PCM_S32LE,
242    PCM_S32BE,
243    PCM_U32LE,
244    PCM_U32BE,
245    PCM_S24LE,
246    PCM_S24BE,
247    PCM_U24LE,
248    PCM_U24BE,
249    PCM_S24DAUD,
250    PCM_ZORK,
251    PCM_S16LE_PLANAR,
252    PCM_DVD,
253    PCM_F32BE,
254    PCM_F32LE,
255    PCM_F64BE,
256    PCM_F64LE,
257    PCM_BLURAY,
258    PCM_LXF,
259    S302M,
260    PCM_S8_PLANAR,
261    PCM_S24LE_PLANAR,
262    PCM_S32LE_PLANAR,
263    PCM_S16BE_PLANAR,
264
265    PCM_S64LE,
266    PCM_S64BE,
267
268    // various ADPCM codecs
269    ADPCM_IMA_QT,
270    ADPCM_IMA_WAV,
271    ADPCM_IMA_DK3,
272    ADPCM_IMA_DK4,
273    ADPCM_IMA_WS,
274    ADPCM_IMA_SMJPEG,
275    ADPCM_MS,
276    ADPCM_4XM,
277    ADPCM_XA,
278    ADPCM_ADX,
279    ADPCM_EA,
280    ADPCM_G726,
281    ADPCM_CT,
282    ADPCM_SWF,
283    ADPCM_YAMAHA,
284    ADPCM_SBPRO_4,
285    ADPCM_SBPRO_3,
286    ADPCM_SBPRO_2,
287    ADPCM_THP,
288    ADPCM_IMA_AMV,
289    ADPCM_EA_R1,
290    ADPCM_EA_R3,
291    ADPCM_EA_R2,
292    ADPCM_IMA_EA_SEAD,
293    ADPCM_IMA_EA_EACS,
294    ADPCM_EA_XAS,
295    ADPCM_EA_MAXIS_XA,
296    ADPCM_IMA_ISS,
297    ADPCM_G722,
298    ADPCM_IMA_APC,
299    ADPCM_VIMA,
300
301    ADPCM_AFC,
302    ADPCM_IMA_OKI,
303    ADPCM_DTK,
304    ADPCM_IMA_RAD,
305    ADPCM_G726LE,
306    ADPCM_THP_LE,
307    ADPCM_PSX,
308    ADPCM_AICA,
309    ADPCM_IMA_DAT4,
310    ADPCM_MTAF,
311
312    // AMR
313    AMR_NB,
314    AMR_WB,
315
316    // RealAudio codecs
317    RA_144,
318    RA_288,
319
320    // various DPCM codecs
321    ROQ_DPCM,
322    INTERPLAY_DPCM,
323    XAN_DPCM,
324    SOL_DPCM,
325
326    SDX2_DPCM,
327
328    // audio codecs
329    MP2,
330    MP3,
331    AAC,
332    AC3,
333    DTS,
334    VORBIS,
335    DVAUDIO,
336    WMAV1,
337    WMAV2,
338    MACE3,
339    MACE6,
340    VMDAUDIO,
341    FLAC,
342    MP3ADU,
343    MP3ON4,
344    SHORTEN,
345    ALAC,
346    WESTWOOD_SND1,
347    GSM,
348    QDM2,
349    COOK,
350    TRUESPEECH,
351    TTA,
352    SMACKAUDIO,
353    QCELP,
354    WAVPACK,
355    DSICINAUDIO,
356    IMC,
357    MUSEPACK7,
358    MLP,
359    GSM_MS,
360    ATRAC3,
361    APE,
362    NELLYMOSER,
363    MUSEPACK8,
364    SPEEX,
365    WMAVOICE,
366    WMAPRO,
367    WMALOSSLESS,
368    ATRAC3P,
369    EAC3,
370    SIPR,
371    MP1,
372    TWINVQ,
373    TRUEHD,
374    MP4ALS,
375    ATRAC1,
376    BINKAUDIO_RDFT,
377    BINKAUDIO_DCT,
378    AAC_LATM,
379    QDMC,
380    CELT,
381    G723_1,
382    G729,
383    SVX_EXP8,
384    SVX_FIB8,
385    BMV_AUDIO,
386    RALF,
387    IAC,
388    ILBC,
389    OPUS,
390    COMFORT_NOISE,
391    TAK,
392    METASOUND,
393    PAF_AUDIO,
394    ON2AVC,
395    DSS_SP,
396
397    CODEC2,
398    FFWAVESYNTH,
399    SONIC,
400    SONIC_LS,
401    EVRC,
402    SMV,
403    DSD_LSBF,
404    DSD_MSBF,
405    DSD_LSBF_PLANAR,
406    DSD_MSBF_PLANAR,
407    _4GV,
408    INTERPLAY_ACM,
409    XMA1,
410    XMA2,
411    DST,
412
413    // subtitle codecs
414    DVD_SUBTITLE,
415    DVB_SUBTITLE,
416    TEXT,
417    XSUB,
418    SSA,
419    MOV_TEXT,
420    HDMV_PGS_SUBTITLE,
421    DVB_TELETEXT,
422    SRT,
423
424    MICRODVD,
425    EIA_608,
426    JACOSUB,
427    SAMI,
428    REALTEXT,
429    STL,
430    SUBVIEWER1,
431    SUBVIEWER,
432    SUBRIP,
433    WEBVTT,
434    MPL2,
435    VPLAYER,
436    PJS,
437    ASS,
438    HDMV_TEXT_SUBTITLE,
439
440    // other specific kind of codecs (generally used for attachments)
441    TTF,
442
443    SCTE_35,
444    BINTEXT,
445    XBIN,
446    IDF,
447    OTF,
448    SMPTE_KLV,
449    DVD_NAV,
450    TIMED_ID3,
451    BIN_DATA,
452
453    PROBE,
454
455    MPEG2TS,
456    MPEG4SYSTEMS,
457    FFMETADATA,
458    WRAPPED_AVFRAME,
459
460    PSD,
461    PIXLET,
462    SPEEDHQ,
463    CLEARVIDEO,
464    FMVC,
465    SCPR,
466    XPM,
467    AV1,
468    PCM_F16LE,
469    PCM_F24LE,
470    ATRAC3AL,
471    ATRAC3PAL,
472
473    BITPACKED,
474    MSCC,
475    SRGC,
476    SVG,
477    GDV,
478    FITS,
479    GREMLIN_DPCM,
480    DOLBY_E,
481
482    APTX,
483    APTX_HD,
484    SBC,
485
486    AVS2,
487    IMM4,
488    PROSUMER,
489    MWSC,
490    WCMV,
491    RASC,
492    PCM_VIDC,
493    ATRAC9,
494    TTML,
495
496    HYMT,
497    ARBC,
498    AGM,
499    LSCR,
500    VP4,
501    ADPCM_AGM,
502    HCOM,
503    ARIB_CAPTION,
504
505    IMM5,
506    MVDV,
507    MVHA,
508    CDTOONS,
509    MV30,
510    NOTCHLC,
511    PFM,
512    ADPCM_ARGO,
513    ADPCM_IMA_SSI,
514    ADPCM_ZORK,
515    ADPCM_IMA_APM,
516    ADPCM_IMA_ALP,
517    ADPCM_IMA_MTF,
518    ADPCM_IMA_CUNNING,
519    DERF_DPCM,
520    ACELP_KELVIN,
521    MPEGH_3D_AUDIO,
522    SIREN,
523    HCA,
524    EPG,
525
526    AVS3,
527    PGX,
528    MSP2,
529    VVC,
530    MOBICLIP,
531    PHOTOCD,
532    ARGO,
533    CRI,
534    IPU,
535    SIMBIOSIS_IMX,
536    SGA_VIDEO,
537    PCM_SGA,
538    ADPCM_IMA_MOFLEX,
539    FASTAUDIO,
540
541    GEM,
542    ADPCM_IMA_ACORN,
543    MSNSIREN,
544
545    VBN,
546    JPEGXL,
547    QOI,
548    PHM,
549    DFPWM,
550
551    #[cfg(feature = "ffmpeg_6_0")]
552    RADIANCE_HDR,
553    #[cfg(feature = "ffmpeg_6_0")]
554    WBMP,
555    #[cfg(feature = "ffmpeg_6_0")]
556    MEDIA100,
557    #[cfg(feature = "ffmpeg_6_0")]
558    VQC,
559    #[cfg(feature = "ffmpeg_6_0")]
560    ADPCM_XMD,
561    #[cfg(feature = "ffmpeg_6_0")]
562    WADY_DPCM,
563    #[cfg(feature = "ffmpeg_6_0")]
564    CBD2_DPCM,
565    #[cfg(feature = "ffmpeg_6_0")]
566    BONK,
567    #[cfg(feature = "ffmpeg_6_0")]
568    MISC4,
569    #[cfg(feature = "ffmpeg_6_0")]
570    APAC,
571    #[cfg(feature = "ffmpeg_6_0")]
572    FTR,
573    #[cfg(feature = "ffmpeg_6_0")]
574    WAVARC,
575    #[cfg(feature = "ffmpeg_6_0")]
576    RKA,
577    #[cfg(feature = "ffmpeg_6_0")]
578    VNULL,
579    #[cfg(feature = "ffmpeg_6_0")]
580    ANULL,
581
582    #[cfg(feature = "ffmpeg_6_1")]
583    PDV,
584    #[cfg(feature = "ffmpeg_6_1")]
585    EVC,
586    #[cfg(feature = "ffmpeg_6_1")]
587    RTV1,
588    #[cfg(feature = "ffmpeg_6_1")]
589    VMIX,
590    #[cfg(feature = "ffmpeg_7_0")]
591    LEAD,
592    #[cfg(feature = "ffmpeg_6_1")]
593    AC4,
594    #[cfg(feature = "ffmpeg_6_1")]
595    OSQ,
596    #[cfg(feature = "ffmpeg_7_0")]
597    QOA,
598    #[cfg(feature = "ffmpeg_7_1")]
599    LC3,
600    #[cfg(feature = "ffmpeg_6_1")]
601    SMPTE_2038,
602    #[cfg(feature = "ffmpeg_7_1")]
603    LCEVC,
604
605    #[cfg(feature = "ffmpeg_8_0")]
606    DNXUC,
607    #[cfg(feature = "ffmpeg_8_0")]
608    RV60,
609    #[cfg(feature = "ffmpeg_8_0")]
610    JPEGXL_ANIM,
611    #[cfg(feature = "ffmpeg_8_0")]
612    APV,
613    #[cfg(feature = "ffmpeg_8_0")]
614    PRORES_RAW,
615    #[cfg(feature = "ffmpeg_8_0")]
616    ADPCM_IMA_XBOX,
617    #[cfg(feature = "ffmpeg_8_0")]
618    ADPCM_SANYO,
619    #[cfg(feature = "ffmpeg_8_0")]
620    G728,
621    #[cfg(feature = "ffmpeg_8_0")]
622    IVTV_VBI,
623    #[cfg(feature = "ffmpeg_8_0")]
624    SMPTE_436M_ANC,
625
626    #[cfg(feature = "ffmpeg_8_1")]
627    JPEGXS,
628    #[cfg(feature = "ffmpeg_8_1")]
629    ADPCM_IMA_HVQM4,
630    #[cfg(feature = "ffmpeg_8_1")]
631    ADPCM_IMA_PDA,
632    #[cfg(feature = "ffmpeg_8_1")]
633    ADPCM_N64,
634    #[cfg(feature = "ffmpeg_8_1")]
635    ADPCM_IMA_HVQM2,
636    #[cfg(feature = "ffmpeg_8_1")]
637    ADPCM_IMA_MAGIX,
638    #[cfg(feature = "ffmpeg_8_1")]
639    ADPCM_PSXC,
640    #[cfg(feature = "ffmpeg_8_1")]
641    ADPCM_CIRCUS,
642    #[cfg(feature = "ffmpeg_8_1")]
643    ADPCM_IMA_ESCAPE,
644    #[cfg(feature = "ffmpeg_8_1")]
645    AHX,
646}
647
648impl Id {
649    pub fn medium(&self) -> media::Type {
650        unsafe { media::Type::from(avcodec_get_type((*self).into())) }
651    }
652
653    pub fn name(&self) -> &'static str {
654        unsafe { utils::str_from_c_ptr(avcodec_get_name((*self).into())) }
655    }
656}
657
658impl From<AVCodecID> for Id {
659    fn from(value: AVCodecID) -> Self {
660        use AVCodecID as AV;
661
662        match value {
663            AV::NONE => Id::None,
664
665            /* video codecs */
666            AV::MPEG1VIDEO => Id::MPEG1VIDEO,
667            AV::MPEG2VIDEO => Id::MPEG2VIDEO,
668            AV::H261 => Id::H261,
669            AV::H263 => Id::H263,
670            AV::RV10 => Id::RV10,
671            AV::RV20 => Id::RV20,
672            AV::MJPEG => Id::MJPEG,
673            AV::MJPEGB => Id::MJPEGB,
674            AV::LJPEG => Id::LJPEG,
675            AV::SP5X => Id::SP5X,
676            AV::JPEGLS => Id::JPEGLS,
677            AV::MPEG4 => Id::MPEG4,
678            AV::RAWVIDEO => Id::RAWVIDEO,
679            AV::MSMPEG4V1 => Id::MSMPEG4V1,
680            AV::MSMPEG4V2 => Id::MSMPEG4V2,
681            AV::MSMPEG4V3 => Id::MSMPEG4V3,
682            AV::WMV1 => Id::WMV1,
683            AV::WMV2 => Id::WMV2,
684            AV::H263P => Id::H263P,
685            AV::H263I => Id::H263I,
686            AV::FLV1 => Id::FLV1,
687            AV::SVQ1 => Id::SVQ1,
688            AV::SVQ3 => Id::SVQ3,
689            AV::DVVIDEO => Id::DVVIDEO,
690            AV::HUFFYUV => Id::HUFFYUV,
691            AV::CYUV => Id::CYUV,
692            AV::H264 => Id::H264,
693            AV::INDEO3 => Id::INDEO3,
694            AV::VP3 => Id::VP3,
695            AV::THEORA => Id::THEORA,
696            AV::ASV1 => Id::ASV1,
697            AV::ASV2 => Id::ASV2,
698            AV::FFV1 => Id::FFV1,
699            AV::_4XM => Id::XM4,
700            AV::VCR1 => Id::VCR1,
701            AV::CLJR => Id::CLJR,
702            AV::MDEC => Id::MDEC,
703            AV::ROQ => Id::ROQ,
704            AV::INTERPLAY_VIDEO => Id::INTERPLAY_VIDEO,
705            AV::XAN_WC3 => Id::XAN_WC3,
706            AV::XAN_WC4 => Id::XAN_WC4,
707            AV::RPZA => Id::RPZA,
708            AV::CINEPAK => Id::CINEPAK,
709            AV::WS_VQA => Id::WS_VQA,
710            AV::MSRLE => Id::MSRLE,
711            AV::MSVIDEO1 => Id::MSVIDEO1,
712            AV::IDCIN => Id::IDCIN,
713            AV::_8BPS => Id::BPS8,
714            AV::SMC => Id::SMC,
715            AV::FLIC => Id::FLIC,
716            AV::TRUEMOTION1 => Id::TRUEMOTION1,
717            AV::VMDVIDEO => Id::VMDVIDEO,
718            AV::MSZH => Id::MSZH,
719            AV::ZLIB => Id::ZLIB,
720            AV::QTRLE => Id::QTRLE,
721            AV::TSCC => Id::TSCC,
722            AV::ULTI => Id::ULTI,
723            AV::QDRAW => Id::QDRAW,
724            AV::VIXL => Id::VIXL,
725            AV::QPEG => Id::QPEG,
726            AV::PNG => Id::PNG,
727            AV::PPM => Id::PPM,
728            AV::PBM => Id::PBM,
729            AV::PGM => Id::PGM,
730            AV::PGMYUV => Id::PGMYUV,
731            AV::PAM => Id::PAM,
732            AV::FFVHUFF => Id::FFVHUFF,
733            AV::RV30 => Id::RV30,
734            AV::RV40 => Id::RV40,
735            AV::VC1 => Id::VC1,
736            AV::WMV3 => Id::WMV3,
737            AV::LOCO => Id::LOCO,
738            AV::WNV1 => Id::WNV1,
739            AV::AASC => Id::AASC,
740            AV::INDEO2 => Id::INDEO2,
741            AV::FRAPS => Id::FRAPS,
742            AV::TRUEMOTION2 => Id::TRUEMOTION2,
743            AV::BMP => Id::BMP,
744            AV::CSCD => Id::CSCD,
745            AV::MMVIDEO => Id::MMVIDEO,
746            AV::ZMBV => Id::ZMBV,
747            AV::AVS => Id::AVS,
748            AV::SMACKVIDEO => Id::SMACKVIDEO,
749            AV::NUV => Id::NUV,
750            AV::KMVC => Id::KMVC,
751            AV::FLASHSV => Id::FLASHSV,
752            AV::CAVS => Id::CAVS,
753            AV::JPEG2000 => Id::JPEG2000,
754            AV::VMNC => Id::VMNC,
755            AV::VP5 => Id::VP5,
756            AV::VP6 => Id::VP6,
757            AV::VP6F => Id::VP6F,
758            AV::TARGA => Id::TARGA,
759            AV::DSICINVIDEO => Id::DSICINVIDEO,
760            AV::TIERTEXSEQVIDEO => Id::TIERTEXSEQVIDEO,
761            AV::TIFF => Id::TIFF,
762            AV::GIF => Id::GIF,
763            AV::DXA => Id::DXA,
764            AV::DNXHD => Id::DNXHD,
765            AV::THP => Id::THP,
766            AV::SGI => Id::SGI,
767            AV::C93 => Id::C93,
768            AV::BETHSOFTVID => Id::BETHSOFTVID,
769            AV::PTX => Id::PTX,
770            AV::TXD => Id::TXD,
771            AV::VP6A => Id::VP6A,
772            AV::AMV => Id::AMV,
773            AV::VB => Id::VB,
774            AV::PCX => Id::PCX,
775            AV::SUNRAST => Id::SUNRAST,
776            AV::INDEO4 => Id::INDEO4,
777            AV::INDEO5 => Id::INDEO5,
778            AV::MIMIC => Id::MIMIC,
779            AV::RL2 => Id::RL2,
780            AV::ESCAPE124 => Id::ESCAPE124,
781            AV::DIRAC => Id::DIRAC,
782            AV::BFI => Id::BFI,
783            AV::CMV => Id::CMV,
784            AV::MOTIONPIXELS => Id::MOTIONPIXELS,
785            AV::TGV => Id::TGV,
786            AV::TGQ => Id::TGQ,
787            AV::TQI => Id::TQI,
788            AV::AURA => Id::AURA,
789            AV::AURA2 => Id::AURA2,
790            AV::V210X => Id::V210X,
791            AV::TMV => Id::TMV,
792            AV::V210 => Id::V210,
793            AV::DPX => Id::DPX,
794            AV::MAD => Id::MAD,
795            AV::FRWU => Id::FRWU,
796            AV::FLASHSV2 => Id::FLASHSV2,
797            AV::CDGRAPHICS => Id::CDGRAPHICS,
798            AV::R210 => Id::R210,
799            AV::ANM => Id::ANM,
800            AV::BINKVIDEO => Id::BINKVIDEO,
801            AV::IFF_ILBM => Id::IFF_ILBM,
802            AV::KGV1 => Id::KGV1,
803            AV::YOP => Id::YOP,
804            AV::VP8 => Id::VP8,
805            AV::PICTOR => Id::PICTOR,
806            AV::ANSI => Id::ANSI,
807            AV::A64_MULTI => Id::A64_MULTI,
808            AV::A64_MULTI5 => Id::A64_MULTI5,
809            AV::R10K => Id::R10K,
810            AV::MXPEG => Id::MXPEG,
811            AV::LAGARITH => Id::LAGARITH,
812            AV::PRORES => Id::PRORES,
813            AV::JV => Id::JV,
814            AV::DFA => Id::DFA,
815            AV::WMV3IMAGE => Id::WMV3IMAGE,
816            AV::VC1IMAGE => Id::VC1IMAGE,
817            AV::UTVIDEO => Id::UTVIDEO,
818            AV::BMV_VIDEO => Id::BMV_VIDEO,
819            AV::VBLE => Id::VBLE,
820            AV::DXTORY => Id::DXTORY,
821            AV::V410 => Id::V410,
822            AV::XWD => Id::XWD,
823            AV::CDXL => Id::CDXL,
824            AV::XBM => Id::XBM,
825            AV::ZEROCODEC => Id::ZEROCODEC,
826            AV::MSS1 => Id::MSS1,
827            AV::MSA1 => Id::MSA1,
828            AV::TSCC2 => Id::TSCC2,
829            AV::MTS2 => Id::MTS2,
830            AV::CLLC => Id::CLLC,
831            AV::MSS2 => Id::MSS2,
832            AV::VP9 => Id::VP9,
833            AV::AIC => Id::AIC,
834            AV::ESCAPE130 => Id::ESCAPE130,
835            AV::G2M => Id::G2M,
836            AV::WEBP => Id::WEBP,
837            AV::HNM4_VIDEO => Id::HNM4_VIDEO,
838            AV::HEVC => Id::HEVC,
839            AV::FIC => Id::FIC,
840            AV::ALIAS_PIX => Id::ALIAS_PIX,
841            AV::BRENDER_PIX => Id::BRENDER_PIX,
842            AV::PAF_VIDEO => Id::PAF_VIDEO,
843            AV::EXR => Id::EXR,
844            AV::VP7 => Id::VP7,
845            AV::SANM => Id::SANM,
846            AV::SGIRLE => Id::SGIRLE,
847            AV::MVC1 => Id::MVC1,
848            AV::MVC2 => Id::MVC2,
849            AV::HQX => Id::HQX,
850            AV::TDSC => Id::TDSC,
851            AV::HQ_HQA => Id::HQ_HQA,
852            AV::HAP => Id::HAP,
853            AV::DDS => Id::DDS,
854            AV::DXV => Id::DXV,
855            AV::SCREENPRESSO => Id::SCREENPRESSO,
856            AV::RSCC => Id::RSCC,
857
858            AV::Y41P => Id::Y41P,
859            AV::AVRP => Id::AVRP,
860            AV::_012V => Id::V012,
861            AV::AVUI => Id::AVUI,
862            #[cfg(not(feature = "ffmpeg_7_0"))]
863            AV::AYUV => Id::AYUV,
864            AV::TARGA_Y216 => Id::TARGA_Y216,
865            AV::V308 => Id::V308,
866            AV::V408 => Id::V408,
867            AV::YUV4 => Id::YUV4,
868            AV::AVRN => Id::AVRN,
869            AV::CPIA => Id::CPIA,
870            AV::XFACE => Id::XFACE,
871            AV::SNOW => Id::SNOW,
872            AV::SMVJPEG => Id::SMVJPEG,
873            AV::APNG => Id::APNG,
874            AV::DAALA => Id::DAALA,
875            AV::CFHD => Id::CFHD,
876            AV::TRUEMOTION2RT => Id::TRUEMOTION2RT,
877            AV::M101 => Id::M101,
878            AV::MAGICYUV => Id::MAGICYUV,
879            AV::SHEERVIDEO => Id::SHEERVIDEO,
880            AV::YLC => Id::YLC,
881
882            /* various PCM "codecs" */
883            AV::PCM_S16LE => Id::PCM_S16LE,
884            AV::PCM_S16BE => Id::PCM_S16BE,
885            AV::PCM_U16LE => Id::PCM_U16LE,
886            AV::PCM_U16BE => Id::PCM_U16BE,
887            AV::PCM_S8 => Id::PCM_S8,
888            AV::PCM_U8 => Id::PCM_U8,
889            AV::PCM_MULAW => Id::PCM_MULAW,
890            AV::PCM_ALAW => Id::PCM_ALAW,
891            AV::PCM_S32LE => Id::PCM_S32LE,
892            AV::PCM_S32BE => Id::PCM_S32BE,
893            AV::PCM_U32LE => Id::PCM_U32LE,
894            AV::PCM_U32BE => Id::PCM_U32BE,
895            AV::PCM_S24LE => Id::PCM_S24LE,
896            AV::PCM_S24BE => Id::PCM_S24BE,
897            AV::PCM_U24LE => Id::PCM_U24LE,
898            AV::PCM_U24BE => Id::PCM_U24BE,
899            AV::PCM_S24DAUD => Id::PCM_S24DAUD,
900            AV::PCM_ZORK => Id::PCM_ZORK,
901            AV::PCM_S16LE_PLANAR => Id::PCM_S16LE_PLANAR,
902            AV::PCM_DVD => Id::PCM_DVD,
903            AV::PCM_F32BE => Id::PCM_F32BE,
904            AV::PCM_F32LE => Id::PCM_F32LE,
905            AV::PCM_F64BE => Id::PCM_F64BE,
906            AV::PCM_F64LE => Id::PCM_F64LE,
907            AV::PCM_BLURAY => Id::PCM_BLURAY,
908            AV::PCM_LXF => Id::PCM_LXF,
909            AV::S302M => Id::S302M,
910            AV::PCM_S8_PLANAR => Id::PCM_S8_PLANAR,
911            AV::PCM_S24LE_PLANAR => Id::PCM_S24LE_PLANAR,
912            AV::PCM_S32LE_PLANAR => Id::PCM_S32LE_PLANAR,
913            AV::PCM_S16BE_PLANAR => Id::PCM_S16BE_PLANAR,
914
915            AV::PCM_S64LE => Id::PCM_S64LE,
916            AV::PCM_S64BE => Id::PCM_S64BE,
917
918            /* various ADPCM codecs */
919            AV::ADPCM_IMA_QT => Id::ADPCM_IMA_QT,
920            AV::ADPCM_IMA_WAV => Id::ADPCM_IMA_WAV,
921            AV::ADPCM_IMA_DK3 => Id::ADPCM_IMA_DK3,
922            AV::ADPCM_IMA_DK4 => Id::ADPCM_IMA_DK4,
923            AV::ADPCM_IMA_WS => Id::ADPCM_IMA_WS,
924            AV::ADPCM_IMA_SMJPEG => Id::ADPCM_IMA_SMJPEG,
925            AV::ADPCM_MS => Id::ADPCM_MS,
926            AV::ADPCM_4XM => Id::ADPCM_4XM,
927            AV::ADPCM_XA => Id::ADPCM_XA,
928            AV::ADPCM_ADX => Id::ADPCM_ADX,
929            AV::ADPCM_EA => Id::ADPCM_EA,
930            AV::ADPCM_G726 => Id::ADPCM_G726,
931            AV::ADPCM_CT => Id::ADPCM_CT,
932            AV::ADPCM_SWF => Id::ADPCM_SWF,
933            AV::ADPCM_YAMAHA => Id::ADPCM_YAMAHA,
934            AV::ADPCM_SBPRO_4 => Id::ADPCM_SBPRO_4,
935            AV::ADPCM_SBPRO_3 => Id::ADPCM_SBPRO_3,
936            AV::ADPCM_SBPRO_2 => Id::ADPCM_SBPRO_2,
937            AV::ADPCM_THP => Id::ADPCM_THP,
938            AV::ADPCM_IMA_AMV => Id::ADPCM_IMA_AMV,
939            AV::ADPCM_EA_R1 => Id::ADPCM_EA_R1,
940            AV::ADPCM_EA_R3 => Id::ADPCM_EA_R3,
941            AV::ADPCM_EA_R2 => Id::ADPCM_EA_R2,
942            AV::ADPCM_IMA_EA_SEAD => Id::ADPCM_IMA_EA_SEAD,
943            AV::ADPCM_IMA_EA_EACS => Id::ADPCM_IMA_EA_EACS,
944            AV::ADPCM_EA_XAS => Id::ADPCM_EA_XAS,
945            AV::ADPCM_EA_MAXIS_XA => Id::ADPCM_EA_MAXIS_XA,
946            AV::ADPCM_IMA_ISS => Id::ADPCM_IMA_ISS,
947            AV::ADPCM_G722 => Id::ADPCM_G722,
948            AV::ADPCM_IMA_APC => Id::ADPCM_IMA_APC,
949            AV::ADPCM_VIMA => Id::ADPCM_VIMA,
950
951            AV::ADPCM_AFC => Id::ADPCM_AFC,
952            AV::ADPCM_IMA_OKI => Id::ADPCM_IMA_OKI,
953            AV::ADPCM_DTK => Id::ADPCM_DTK,
954            AV::ADPCM_IMA_RAD => Id::ADPCM_IMA_RAD,
955            AV::ADPCM_G726LE => Id::ADPCM_G726LE,
956            AV::ADPCM_THP_LE => Id::ADPCM_THP_LE,
957            AV::ADPCM_PSX => Id::ADPCM_PSX,
958            AV::ADPCM_AICA => Id::ADPCM_AICA,
959            AV::ADPCM_IMA_DAT4 => Id::ADPCM_IMA_DAT4,
960            AV::ADPCM_MTAF => Id::ADPCM_MTAF,
961
962            /* AMR */
963            AV::AMR_NB => Id::AMR_NB,
964            AV::AMR_WB => Id::AMR_WB,
965
966            /* RealAudio codecs*/
967            AV::RA_144 => Id::RA_144,
968            AV::RA_288 => Id::RA_288,
969
970            /* various DPCM codecs */
971            AV::ROQ_DPCM => Id::ROQ_DPCM,
972            AV::INTERPLAY_DPCM => Id::INTERPLAY_DPCM,
973            AV::XAN_DPCM => Id::XAN_DPCM,
974            AV::SOL_DPCM => Id::SOL_DPCM,
975
976            AV::SDX2_DPCM => Id::SDX2_DPCM,
977
978            /* audio codecs */
979            AV::MP2 => Id::MP2,
980            AV::MP3 => Id::MP3,
981            AV::AAC => Id::AAC,
982            AV::AC3 => Id::AC3,
983            AV::DTS => Id::DTS,
984            AV::VORBIS => Id::VORBIS,
985            AV::DVAUDIO => Id::DVAUDIO,
986            AV::WMAV1 => Id::WMAV1,
987            AV::WMAV2 => Id::WMAV2,
988            AV::MACE3 => Id::MACE3,
989            AV::MACE6 => Id::MACE6,
990            AV::VMDAUDIO => Id::VMDAUDIO,
991            AV::FLAC => Id::FLAC,
992            AV::MP3ADU => Id::MP3ADU,
993            AV::MP3ON4 => Id::MP3ON4,
994            AV::SHORTEN => Id::SHORTEN,
995            AV::ALAC => Id::ALAC,
996            AV::WESTWOOD_SND1 => Id::WESTWOOD_SND1,
997            AV::GSM => Id::GSM,
998            AV::QDM2 => Id::QDM2,
999            AV::COOK => Id::COOK,
1000            AV::TRUESPEECH => Id::TRUESPEECH,
1001            AV::TTA => Id::TTA,
1002            AV::SMACKAUDIO => Id::SMACKAUDIO,
1003            AV::QCELP => Id::QCELP,
1004            AV::WAVPACK => Id::WAVPACK,
1005            AV::DSICINAUDIO => Id::DSICINAUDIO,
1006            AV::IMC => Id::IMC,
1007            AV::MUSEPACK7 => Id::MUSEPACK7,
1008            AV::MLP => Id::MLP,
1009            AV::GSM_MS => Id::GSM_MS,
1010            AV::ATRAC3 => Id::ATRAC3,
1011            AV::APE => Id::APE,
1012            AV::NELLYMOSER => Id::NELLYMOSER,
1013            AV::MUSEPACK8 => Id::MUSEPACK8,
1014            AV::SPEEX => Id::SPEEX,
1015            AV::WMAVOICE => Id::WMAVOICE,
1016            AV::WMAPRO => Id::WMAPRO,
1017            AV::WMALOSSLESS => Id::WMALOSSLESS,
1018            AV::ATRAC3P => Id::ATRAC3P,
1019            AV::EAC3 => Id::EAC3,
1020            AV::SIPR => Id::SIPR,
1021            AV::MP1 => Id::MP1,
1022            AV::TWINVQ => Id::TWINVQ,
1023            AV::TRUEHD => Id::TRUEHD,
1024            AV::MP4ALS => Id::MP4ALS,
1025            AV::ATRAC1 => Id::ATRAC1,
1026            AV::BINKAUDIO_RDFT => Id::BINKAUDIO_RDFT,
1027            AV::BINKAUDIO_DCT => Id::BINKAUDIO_DCT,
1028            AV::AAC_LATM => Id::AAC_LATM,
1029            AV::QDMC => Id::QDMC,
1030            AV::CELT => Id::CELT,
1031            AV::G723_1 => Id::G723_1,
1032            AV::G729 => Id::G729,
1033            AV::_8SVX_EXP => Id::SVX_EXP8,
1034            AV::_8SVX_FIB => Id::SVX_FIB8,
1035            AV::BMV_AUDIO => Id::BMV_AUDIO,
1036            AV::RALF => Id::RALF,
1037            AV::IAC => Id::IAC,
1038            AV::ILBC => Id::ILBC,
1039            AV::OPUS => Id::OPUS,
1040            AV::COMFORT_NOISE => Id::COMFORT_NOISE,
1041            AV::TAK => Id::TAK,
1042            AV::METASOUND => Id::METASOUND,
1043            AV::PAF_AUDIO => Id::PAF_AUDIO,
1044            AV::ON2AVC => Id::ON2AVC,
1045            AV::DSS_SP => Id::DSS_SP,
1046
1047            AV::CODEC2 => Id::CODEC2,
1048            AV::FFWAVESYNTH => Id::FFWAVESYNTH,
1049            AV::SONIC => Id::SONIC,
1050            AV::SONIC_LS => Id::SONIC_LS,
1051            AV::EVRC => Id::EVRC,
1052            AV::SMV => Id::SMV,
1053            AV::DSD_LSBF => Id::DSD_LSBF,
1054            AV::DSD_MSBF => Id::DSD_MSBF,
1055            AV::DSD_LSBF_PLANAR => Id::DSD_LSBF_PLANAR,
1056            AV::DSD_MSBF_PLANAR => Id::DSD_MSBF_PLANAR,
1057            AV::_4GV => Id::_4GV,
1058            AV::INTERPLAY_ACM => Id::INTERPLAY_ACM,
1059            AV::XMA1 => Id::XMA1,
1060            AV::XMA2 => Id::XMA2,
1061            AV::DST => Id::DST,
1062
1063            /* subtitle codecs */
1064            AV::DVD_SUBTITLE => Id::DVD_SUBTITLE,
1065            AV::DVB_SUBTITLE => Id::DVB_SUBTITLE,
1066            AV::TEXT => Id::TEXT,
1067            AV::XSUB => Id::XSUB,
1068            AV::SSA => Id::SSA,
1069            AV::MOV_TEXT => Id::MOV_TEXT,
1070            AV::HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE,
1071            AV::DVB_TELETEXT => Id::DVB_TELETEXT,
1072            AV::SRT => Id::SRT,
1073
1074            AV::MICRODVD => Id::MICRODVD,
1075            AV::EIA_608 => Id::EIA_608,
1076            AV::JACOSUB => Id::JACOSUB,
1077            AV::SAMI => Id::SAMI,
1078            AV::REALTEXT => Id::REALTEXT,
1079            AV::STL => Id::STL,
1080            AV::SUBVIEWER1 => Id::SUBVIEWER1,
1081            AV::SUBVIEWER => Id::SUBVIEWER,
1082            AV::SUBRIP => Id::SUBRIP,
1083            AV::WEBVTT => Id::WEBVTT,
1084            AV::MPL2 => Id::MPL2,
1085            AV::VPLAYER => Id::VPLAYER,
1086            AV::PJS => Id::PJS,
1087            AV::ASS => Id::ASS,
1088            AV::HDMV_TEXT_SUBTITLE => Id::HDMV_TEXT_SUBTITLE,
1089
1090            /* other specific kind of codecs (generally used for attachments) */
1091            AV::TTF => Id::TTF,
1092
1093            AV::SCTE_35 => Id::SCTE_35,
1094            AV::BINTEXT => Id::BINTEXT,
1095            AV::XBIN => Id::XBIN,
1096            AV::IDF => Id::IDF,
1097            AV::OTF => Id::OTF,
1098            AV::SMPTE_KLV => Id::SMPTE_KLV,
1099            AV::DVD_NAV => Id::DVD_NAV,
1100            AV::TIMED_ID3 => Id::TIMED_ID3,
1101            AV::BIN_DATA => Id::BIN_DATA,
1102
1103            AV::PROBE => Id::PROBE,
1104
1105            AV::MPEG2TS => Id::MPEG2TS,
1106            AV::MPEG4SYSTEMS => Id::MPEG4SYSTEMS,
1107            AV::FFMETADATA => Id::FFMETADATA,
1108            AV::WRAPPED_AVFRAME => Id::WRAPPED_AVFRAME,
1109            AV::PSD => Id::PSD,
1110            AV::PIXLET => Id::PIXLET,
1111            AV::SPEEDHQ => Id::SPEEDHQ,
1112            AV::CLEARVIDEO => Id::CLEARVIDEO,
1113            AV::FMVC => Id::FMVC,
1114            AV::SCPR => Id::SCPR,
1115            AV::XPM => Id::XPM,
1116            AV::AV1 => Id::AV1,
1117            AV::PCM_F16LE => Id::PCM_F16LE,
1118            AV::PCM_F24LE => Id::PCM_F24LE,
1119            AV::ATRAC3AL => Id::ATRAC3AL,
1120            AV::ATRAC3PAL => Id::ATRAC3PAL,
1121
1122            AV::BITPACKED => Id::BITPACKED,
1123            AV::MSCC => Id::MSCC,
1124            AV::SRGC => Id::SRGC,
1125            AV::SVG => Id::SVG,
1126            AV::GDV => Id::GDV,
1127            AV::FITS => Id::FITS,
1128            AV::GREMLIN_DPCM => Id::GREMLIN_DPCM,
1129            AV::DOLBY_E => Id::DOLBY_E,
1130
1131            AV::APTX => Id::APTX,
1132            AV::APTX_HD => Id::APTX_HD,
1133            AV::SBC => Id::SBC,
1134
1135            AV::AVS2 => Id::AVS2,
1136            AV::IMM4 => Id::IMM4,
1137            AV::PROSUMER => Id::PROSUMER,
1138            AV::MWSC => Id::MWSC,
1139            AV::WCMV => Id::WCMV,
1140            AV::RASC => Id::RASC,
1141            AV::PCM_VIDC => Id::PCM_VIDC,
1142            AV::ATRAC9 => Id::ATRAC9,
1143            AV::TTML => Id::TTML,
1144
1145            AV::HYMT => Id::HYMT,
1146            AV::ARBC => Id::ARBC,
1147            AV::AGM => Id::AGM,
1148            AV::LSCR => Id::LSCR,
1149            AV::VP4 => Id::VP4,
1150            AV::ADPCM_AGM => Id::ADPCM_AGM,
1151            AV::HCOM => Id::HCOM,
1152            AV::ARIB_CAPTION => Id::ARIB_CAPTION,
1153
1154            AV::IMM5 => Id::IMM5,
1155            AV::MVDV => Id::MVDV,
1156            AV::MVHA => Id::MVHA,
1157            AV::CDTOONS => Id::CDTOONS,
1158            AV::MV30 => Id::MV30,
1159            AV::NOTCHLC => Id::NOTCHLC,
1160            AV::PFM => Id::PFM,
1161            AV::ADPCM_ARGO => Id::ADPCM_ARGO,
1162            AV::ADPCM_IMA_SSI => Id::ADPCM_IMA_SSI,
1163            AV::ADPCM_ZORK => Id::ADPCM_ZORK,
1164            AV::ADPCM_IMA_APM => Id::ADPCM_IMA_APM,
1165            AV::ADPCM_IMA_ALP => Id::ADPCM_IMA_ALP,
1166            AV::ADPCM_IMA_MTF => Id::ADPCM_IMA_MTF,
1167            AV::ADPCM_IMA_CUNNING => Id::ADPCM_IMA_CUNNING,
1168            AV::DERF_DPCM => Id::DERF_DPCM,
1169            AV::ACELP_KELVIN => Id::ACELP_KELVIN,
1170            AV::MPEGH_3D_AUDIO => Id::MPEGH_3D_AUDIO,
1171            AV::SIREN => Id::SIREN,
1172            AV::HCA => Id::HCA,
1173            AV::EPG => Id::EPG,
1174
1175            AV::PGX => Id::PGX,
1176            AV::AVS3 => Id::AVS3,
1177            AV::MSP2 => Id::MSP2,
1178            AV::VVC => Id::VVC,
1179            AV::MOBICLIP => Id::MOBICLIP,
1180            AV::PHOTOCD => Id::PHOTOCD,
1181            AV::IPU => Id::IPU,
1182            AV::ARGO => Id::ARGO,
1183            AV::CRI => Id::CRI,
1184            AV::SIMBIOSIS_IMX => Id::SIMBIOSIS_IMX,
1185            AV::SGA_VIDEO => Id::SGA_VIDEO,
1186            AV::PCM_SGA => Id::PCM_SGA,
1187            AV::ADPCM_IMA_MOFLEX => Id::ADPCM_IMA_MOFLEX,
1188            AV::FASTAUDIO => Id::FASTAUDIO,
1189
1190            AV::GEM => Id::GEM,
1191            AV::ADPCM_IMA_ACORN => Id::ADPCM_IMA_ACORN,
1192            AV::MSNSIREN => Id::MSNSIREN,
1193
1194            AV::VBN => Id::VBN,
1195            AV::JPEGXL => Id::JPEGXL,
1196            AV::QOI => Id::QOI,
1197            AV::PHM => Id::PHM,
1198            AV::DFPWM => Id::DFPWM,
1199
1200            #[cfg(feature = "ffmpeg_6_0")]
1201            AV::RADIANCE_HDR => Id::RADIANCE_HDR,
1202            #[cfg(feature = "ffmpeg_6_0")]
1203            AV::WBMP => Id::WBMP,
1204            #[cfg(feature = "ffmpeg_6_0")]
1205            AV::MEDIA100 => Id::MEDIA100,
1206            #[cfg(feature = "ffmpeg_6_0")]
1207            AV::VQC => Id::VQC,
1208            #[cfg(feature = "ffmpeg_6_0")]
1209            AV::ADPCM_XMD => Id::ADPCM_XMD,
1210            #[cfg(feature = "ffmpeg_6_0")]
1211            AV::WADY_DPCM => Id::WADY_DPCM,
1212            #[cfg(feature = "ffmpeg_6_0")]
1213            AV::CBD2_DPCM => Id::CBD2_DPCM,
1214            #[cfg(feature = "ffmpeg_6_0")]
1215            AV::BONK => Id::BONK,
1216            #[cfg(feature = "ffmpeg_6_0")]
1217            AV::MISC4 => Id::MISC4,
1218            #[cfg(feature = "ffmpeg_6_0")]
1219            AV::APAC => Id::APAC,
1220            #[cfg(feature = "ffmpeg_6_0")]
1221            AV::FTR => Id::FTR,
1222            #[cfg(feature = "ffmpeg_6_0")]
1223            AV::WAVARC => Id::WAVARC,
1224            #[cfg(feature = "ffmpeg_6_0")]
1225            AV::RKA => Id::RKA,
1226            #[cfg(feature = "ffmpeg_6_0")]
1227            AV::VNULL => Id::VNULL,
1228            #[cfg(feature = "ffmpeg_6_0")]
1229            AV::ANULL => Id::ANULL,
1230
1231            #[cfg(feature = "ffmpeg_6_1")]
1232            AV::PDV => Id::PDV,
1233            #[cfg(feature = "ffmpeg_6_1")]
1234            AV::EVC => Id::EVC,
1235            #[cfg(feature = "ffmpeg_6_1")]
1236            AV::RTV1 => Id::RTV1,
1237            #[cfg(feature = "ffmpeg_6_1")]
1238            AV::VMIX => Id::VMIX,
1239            #[cfg(feature = "ffmpeg_7_0")]
1240            AV::LEAD => Id::LEAD,
1241            #[cfg(feature = "ffmpeg_6_1")]
1242            AV::AC4 => Id::AC4,
1243            #[cfg(feature = "ffmpeg_6_1")]
1244            AV::OSQ => Id::OSQ,
1245            #[cfg(feature = "ffmpeg_7_0")]
1246            AV::QOA => Id::QOA,
1247            #[cfg(feature = "ffmpeg_7_1")]
1248            AV::LC3 => Id::LC3,
1249            #[cfg(feature = "ffmpeg_6_1")]
1250            AV::SMPTE_2038 => Id::SMPTE_2038,
1251            #[cfg(feature = "ffmpeg_7_1")]
1252            AV::LCEVC => Id::LCEVC,
1253
1254            #[cfg(feature = "ffmpeg_8_0")]
1255            AV::DNXUC => Id::DNXUC,
1256            #[cfg(feature = "ffmpeg_8_0")]
1257            AV::RV60 => Id::RV60,
1258            #[cfg(feature = "ffmpeg_8_0")]
1259            AV::JPEGXL_ANIM => Id::JPEGXL_ANIM,
1260            #[cfg(feature = "ffmpeg_8_0")]
1261            AV::APV => Id::APV,
1262            #[cfg(feature = "ffmpeg_8_0")]
1263            AV::PRORES_RAW => Id::PRORES_RAW,
1264            #[cfg(feature = "ffmpeg_8_0")]
1265            AV::ADPCM_IMA_XBOX => Id::ADPCM_IMA_XBOX,
1266            #[cfg(feature = "ffmpeg_8_0")]
1267            AV::ADPCM_SANYO => Id::ADPCM_SANYO,
1268            #[cfg(feature = "ffmpeg_8_0")]
1269            AV::G728 => Id::G728,
1270            #[cfg(feature = "ffmpeg_8_0")]
1271            AV::IVTV_VBI => Id::IVTV_VBI,
1272            #[cfg(feature = "ffmpeg_8_0")]
1273            AV::SMPTE_436M_ANC => Id::SMPTE_436M_ANC,
1274
1275            #[cfg(feature = "ffmpeg_8_1")]
1276            AV::JPEGXS => Id::JPEGXS,
1277            #[cfg(feature = "ffmpeg_8_1")]
1278            AV::ADPCM_IMA_HVQM4 => Id::ADPCM_IMA_HVQM4,
1279            #[cfg(feature = "ffmpeg_8_1")]
1280            AV::ADPCM_IMA_PDA => Id::ADPCM_IMA_PDA,
1281            #[cfg(feature = "ffmpeg_8_1")]
1282            AV::ADPCM_N64 => Id::ADPCM_N64,
1283            #[cfg(feature = "ffmpeg_8_1")]
1284            AV::ADPCM_IMA_HVQM2 => Id::ADPCM_IMA_HVQM2,
1285            #[cfg(feature = "ffmpeg_8_1")]
1286            AV::ADPCM_IMA_MAGIX => Id::ADPCM_IMA_MAGIX,
1287            #[cfg(feature = "ffmpeg_8_1")]
1288            AV::ADPCM_PSXC => Id::ADPCM_PSXC,
1289            #[cfg(feature = "ffmpeg_8_1")]
1290            AV::ADPCM_CIRCUS => Id::ADPCM_CIRCUS,
1291            #[cfg(feature = "ffmpeg_8_1")]
1292            AV::ADPCM_IMA_ESCAPE => Id::ADPCM_IMA_ESCAPE,
1293            #[cfg(feature = "ffmpeg_8_1")]
1294            AV::AHX => Id::AHX,
1295
1296            _ => unimplemented!(),
1297        }
1298    }
1299}
1300
1301impl From<Id> for AVCodecID {
1302    fn from(value: Id) -> AVCodecID {
1303        use AVCodecID as AV;
1304
1305        match value {
1306            Id::None => AV::NONE,
1307
1308            /* video codecs */
1309            Id::MPEG1VIDEO => AV::MPEG1VIDEO,
1310            Id::MPEG2VIDEO => AV::MPEG2VIDEO,
1311            Id::H261 => AV::H261,
1312            Id::H263 => AV::H263,
1313            Id::RV10 => AV::RV10,
1314            Id::RV20 => AV::RV20,
1315            Id::MJPEG => AV::MJPEG,
1316            Id::MJPEGB => AV::MJPEGB,
1317            Id::LJPEG => AV::LJPEG,
1318            Id::SP5X => AV::SP5X,
1319            Id::JPEGLS => AV::JPEGLS,
1320            Id::MPEG4 => AV::MPEG4,
1321            Id::RAWVIDEO => AV::RAWVIDEO,
1322            Id::MSMPEG4V1 => AV::MSMPEG4V1,
1323            Id::MSMPEG4V2 => AV::MSMPEG4V2,
1324            Id::MSMPEG4V3 => AV::MSMPEG4V3,
1325            Id::WMV1 => AV::WMV1,
1326            Id::WMV2 => AV::WMV2,
1327            Id::H263P => AV::H263P,
1328            Id::H263I => AV::H263I,
1329            Id::FLV1 => AV::FLV1,
1330            Id::SVQ1 => AV::SVQ1,
1331            Id::SVQ3 => AV::SVQ3,
1332            Id::DVVIDEO => AV::DVVIDEO,
1333            Id::HUFFYUV => AV::HUFFYUV,
1334            Id::CYUV => AV::CYUV,
1335            Id::H264 => AV::H264,
1336            Id::INDEO3 => AV::INDEO3,
1337            Id::VP3 => AV::VP3,
1338            Id::THEORA => AV::THEORA,
1339            Id::ASV1 => AV::ASV1,
1340            Id::ASV2 => AV::ASV2,
1341            Id::FFV1 => AV::FFV1,
1342            Id::XM4 => AV::_4XM,
1343            Id::VCR1 => AV::VCR1,
1344            Id::CLJR => AV::CLJR,
1345            Id::MDEC => AV::MDEC,
1346            Id::ROQ => AV::ROQ,
1347            Id::INTERPLAY_VIDEO => AV::INTERPLAY_VIDEO,
1348            Id::XAN_WC3 => AV::XAN_WC3,
1349            Id::XAN_WC4 => AV::XAN_WC4,
1350            Id::RPZA => AV::RPZA,
1351            Id::CINEPAK => AV::CINEPAK,
1352            Id::WS_VQA => AV::WS_VQA,
1353            Id::MSRLE => AV::MSRLE,
1354            Id::MSVIDEO1 => AV::MSVIDEO1,
1355            Id::IDCIN => AV::IDCIN,
1356            Id::BPS8 => AV::_8BPS,
1357            Id::SMC => AV::SMC,
1358            Id::FLIC => AV::FLIC,
1359            Id::TRUEMOTION1 => AV::TRUEMOTION1,
1360            Id::VMDVIDEO => AV::VMDVIDEO,
1361            Id::MSZH => AV::MSZH,
1362            Id::ZLIB => AV::ZLIB,
1363            Id::QTRLE => AV::QTRLE,
1364            Id::TSCC => AV::TSCC,
1365            Id::ULTI => AV::ULTI,
1366            Id::QDRAW => AV::QDRAW,
1367            Id::VIXL => AV::VIXL,
1368            Id::QPEG => AV::QPEG,
1369            Id::PNG => AV::PNG,
1370            Id::PPM => AV::PPM,
1371            Id::PBM => AV::PBM,
1372            Id::PGM => AV::PGM,
1373            Id::PGMYUV => AV::PGMYUV,
1374            Id::PAM => AV::PAM,
1375            Id::FFVHUFF => AV::FFVHUFF,
1376            Id::RV30 => AV::RV30,
1377            Id::RV40 => AV::RV40,
1378            Id::VC1 => AV::VC1,
1379            Id::WMV3 => AV::WMV3,
1380            Id::LOCO => AV::LOCO,
1381            Id::WNV1 => AV::WNV1,
1382            Id::AASC => AV::AASC,
1383            Id::INDEO2 => AV::INDEO2,
1384            Id::FRAPS => AV::FRAPS,
1385            Id::TRUEMOTION2 => AV::TRUEMOTION2,
1386            Id::BMP => AV::BMP,
1387            Id::CSCD => AV::CSCD,
1388            Id::MMVIDEO => AV::MMVIDEO,
1389            Id::ZMBV => AV::ZMBV,
1390            Id::AVS => AV::AVS,
1391            Id::SMACKVIDEO => AV::SMACKVIDEO,
1392            Id::NUV => AV::NUV,
1393            Id::KMVC => AV::KMVC,
1394            Id::FLASHSV => AV::FLASHSV,
1395            Id::CAVS => AV::CAVS,
1396            Id::JPEG2000 => AV::JPEG2000,
1397            Id::VMNC => AV::VMNC,
1398            Id::VP5 => AV::VP5,
1399            Id::VP6 => AV::VP6,
1400            Id::VP6F => AV::VP6F,
1401            Id::TARGA => AV::TARGA,
1402            Id::DSICINVIDEO => AV::DSICINVIDEO,
1403            Id::TIERTEXSEQVIDEO => AV::TIERTEXSEQVIDEO,
1404            Id::TIFF => AV::TIFF,
1405            Id::GIF => AV::GIF,
1406            Id::DXA => AV::DXA,
1407            Id::DNXHD => AV::DNXHD,
1408            Id::THP => AV::THP,
1409            Id::SGI => AV::SGI,
1410            Id::C93 => AV::C93,
1411            Id::BETHSOFTVID => AV::BETHSOFTVID,
1412            Id::PTX => AV::PTX,
1413            Id::TXD => AV::TXD,
1414            Id::VP6A => AV::VP6A,
1415            Id::AMV => AV::AMV,
1416            Id::VB => AV::VB,
1417            Id::PCX => AV::PCX,
1418            Id::SUNRAST => AV::SUNRAST,
1419            Id::INDEO4 => AV::INDEO4,
1420            Id::INDEO5 => AV::INDEO5,
1421            Id::MIMIC => AV::MIMIC,
1422            Id::RL2 => AV::RL2,
1423            Id::ESCAPE124 => AV::ESCAPE124,
1424            Id::DIRAC => AV::DIRAC,
1425            Id::BFI => AV::BFI,
1426            Id::CMV => AV::CMV,
1427            Id::MOTIONPIXELS => AV::MOTIONPIXELS,
1428            Id::TGV => AV::TGV,
1429            Id::TGQ => AV::TGQ,
1430            Id::TQI => AV::TQI,
1431            Id::AURA => AV::AURA,
1432            Id::AURA2 => AV::AURA2,
1433            Id::V210X => AV::V210X,
1434            Id::TMV => AV::TMV,
1435            Id::V210 => AV::V210,
1436            Id::DPX => AV::DPX,
1437            Id::MAD => AV::MAD,
1438            Id::FRWU => AV::FRWU,
1439            Id::FLASHSV2 => AV::FLASHSV2,
1440            Id::CDGRAPHICS => AV::CDGRAPHICS,
1441            Id::R210 => AV::R210,
1442            Id::ANM => AV::ANM,
1443            Id::BINKVIDEO => AV::BINKVIDEO,
1444            Id::IFF_ILBM => AV::IFF_ILBM,
1445            Id::IFF_BYTERUN1 => AV::IFF_ILBM,
1446            Id::KGV1 => AV::KGV1,
1447            Id::YOP => AV::YOP,
1448            Id::VP8 => AV::VP8,
1449            Id::PICTOR => AV::PICTOR,
1450            Id::ANSI => AV::ANSI,
1451            Id::A64_MULTI => AV::A64_MULTI,
1452            Id::A64_MULTI5 => AV::A64_MULTI5,
1453            Id::R10K => AV::R10K,
1454            Id::MXPEG => AV::MXPEG,
1455            Id::LAGARITH => AV::LAGARITH,
1456            Id::PRORES => AV::PRORES,
1457            Id::JV => AV::JV,
1458            Id::DFA => AV::DFA,
1459            Id::WMV3IMAGE => AV::WMV3IMAGE,
1460            Id::VC1IMAGE => AV::VC1IMAGE,
1461            Id::UTVIDEO => AV::UTVIDEO,
1462            Id::BMV_VIDEO => AV::BMV_VIDEO,
1463            Id::VBLE => AV::VBLE,
1464            Id::DXTORY => AV::DXTORY,
1465            Id::V410 => AV::V410,
1466            Id::XWD => AV::XWD,
1467            Id::CDXL => AV::CDXL,
1468            Id::XBM => AV::XBM,
1469            Id::ZEROCODEC => AV::ZEROCODEC,
1470            Id::MSS1 => AV::MSS1,
1471            Id::MSA1 => AV::MSA1,
1472            Id::TSCC2 => AV::TSCC2,
1473            Id::MTS2 => AV::MTS2,
1474            Id::CLLC => AV::CLLC,
1475            Id::MSS2 => AV::MSS2,
1476            Id::VP9 => AV::VP9,
1477            Id::AIC => AV::AIC,
1478            Id::ESCAPE130 => AV::ESCAPE130,
1479            Id::G2M => AV::G2M,
1480            Id::WEBP => AV::WEBP,
1481            Id::HNM4_VIDEO => AV::HNM4_VIDEO,
1482            Id::HEVC => AV::HEVC,
1483            Id::H265 => AV::HEVC,
1484            Id::FIC => AV::FIC,
1485            Id::ALIAS_PIX => AV::ALIAS_PIX,
1486            Id::BRENDER_PIX => AV::BRENDER_PIX,
1487            Id::PAF_VIDEO => AV::PAF_VIDEO,
1488            Id::EXR => AV::EXR,
1489            Id::VP7 => AV::VP7,
1490            Id::SANM => AV::SANM,
1491            Id::SGIRLE => AV::SGIRLE,
1492            Id::MVC1 => AV::MVC1,
1493            Id::MVC2 => AV::MVC2,
1494            Id::HQX => AV::HQX,
1495            Id::TDSC => AV::TDSC,
1496            Id::HQ_HQA => AV::HQ_HQA,
1497            Id::HAP => AV::HAP,
1498            Id::DDS => AV::DDS,
1499            Id::DXV => AV::DXV,
1500            Id::SCREENPRESSO => AV::SCREENPRESSO,
1501            Id::RSCC => AV::RSCC,
1502
1503            Id::Y41P => AV::Y41P,
1504            Id::AVRP => AV::AVRP,
1505            Id::V012 => AV::_012V,
1506            Id::AVUI => AV::AVUI,
1507            #[cfg(not(feature = "ffmpeg_7_0"))]
1508            Id::AYUV => AV::AYUV,
1509            Id::TARGA_Y216 => AV::TARGA_Y216,
1510            Id::V308 => AV::V308,
1511            Id::V408 => AV::V408,
1512            Id::YUV4 => AV::YUV4,
1513            Id::AVRN => AV::AVRN,
1514            Id::CPIA => AV::CPIA,
1515            Id::XFACE => AV::XFACE,
1516            Id::SNOW => AV::SNOW,
1517            Id::SMVJPEG => AV::SMVJPEG,
1518            Id::APNG => AV::APNG,
1519            Id::DAALA => AV::DAALA,
1520            Id::CFHD => AV::CFHD,
1521            Id::TRUEMOTION2RT => AV::TRUEMOTION2RT,
1522            Id::M101 => AV::M101,
1523            Id::MAGICYUV => AV::MAGICYUV,
1524            Id::SHEERVIDEO => AV::SHEERVIDEO,
1525            Id::YLC => AV::YLC,
1526
1527            /* various PCM "codecs" */
1528            Id::PCM_S16LE => AV::PCM_S16LE,
1529            Id::PCM_S16BE => AV::PCM_S16BE,
1530            Id::PCM_U16LE => AV::PCM_U16LE,
1531            Id::PCM_U16BE => AV::PCM_U16BE,
1532            Id::PCM_S8 => AV::PCM_S8,
1533            Id::PCM_U8 => AV::PCM_U8,
1534            Id::PCM_MULAW => AV::PCM_MULAW,
1535            Id::PCM_ALAW => AV::PCM_ALAW,
1536            Id::PCM_S32LE => AV::PCM_S32LE,
1537            Id::PCM_S32BE => AV::PCM_S32BE,
1538            Id::PCM_U32LE => AV::PCM_U32LE,
1539            Id::PCM_U32BE => AV::PCM_U32BE,
1540            Id::PCM_S24LE => AV::PCM_S24LE,
1541            Id::PCM_S24BE => AV::PCM_S24BE,
1542            Id::PCM_U24LE => AV::PCM_U24LE,
1543            Id::PCM_U24BE => AV::PCM_U24BE,
1544            Id::PCM_S24DAUD => AV::PCM_S24DAUD,
1545            Id::PCM_ZORK => AV::PCM_ZORK,
1546            Id::PCM_S16LE_PLANAR => AV::PCM_S16LE_PLANAR,
1547            Id::PCM_DVD => AV::PCM_DVD,
1548            Id::PCM_F32BE => AV::PCM_F32BE,
1549            Id::PCM_F32LE => AV::PCM_F32LE,
1550            Id::PCM_F64BE => AV::PCM_F64BE,
1551            Id::PCM_F64LE => AV::PCM_F64LE,
1552            Id::PCM_BLURAY => AV::PCM_BLURAY,
1553            Id::PCM_LXF => AV::PCM_LXF,
1554            Id::S302M => AV::S302M,
1555            Id::PCM_S8_PLANAR => AV::PCM_S8_PLANAR,
1556            Id::PCM_S24LE_PLANAR => AV::PCM_S24LE_PLANAR,
1557            Id::PCM_S32LE_PLANAR => AV::PCM_S32LE_PLANAR,
1558            Id::PCM_S16BE_PLANAR => AV::PCM_S16BE_PLANAR,
1559
1560            Id::PCM_S64LE => AV::PCM_S64LE,
1561            Id::PCM_S64BE => AV::PCM_S64BE,
1562
1563            /* various ADPCM codecs */
1564            Id::ADPCM_IMA_QT => AV::ADPCM_IMA_QT,
1565            Id::ADPCM_IMA_WAV => AV::ADPCM_IMA_WAV,
1566            Id::ADPCM_IMA_DK3 => AV::ADPCM_IMA_DK3,
1567            Id::ADPCM_IMA_DK4 => AV::ADPCM_IMA_DK4,
1568            Id::ADPCM_IMA_WS => AV::ADPCM_IMA_WS,
1569            Id::ADPCM_IMA_SMJPEG => AV::ADPCM_IMA_SMJPEG,
1570            Id::ADPCM_MS => AV::ADPCM_MS,
1571            Id::ADPCM_4XM => AV::ADPCM_4XM,
1572            Id::ADPCM_XA => AV::ADPCM_XA,
1573            Id::ADPCM_ADX => AV::ADPCM_ADX,
1574            Id::ADPCM_EA => AV::ADPCM_EA,
1575            Id::ADPCM_G726 => AV::ADPCM_G726,
1576            Id::ADPCM_CT => AV::ADPCM_CT,
1577            Id::ADPCM_SWF => AV::ADPCM_SWF,
1578            Id::ADPCM_YAMAHA => AV::ADPCM_YAMAHA,
1579            Id::ADPCM_SBPRO_4 => AV::ADPCM_SBPRO_4,
1580            Id::ADPCM_SBPRO_3 => AV::ADPCM_SBPRO_3,
1581            Id::ADPCM_SBPRO_2 => AV::ADPCM_SBPRO_2,
1582            Id::ADPCM_THP => AV::ADPCM_THP,
1583            Id::ADPCM_IMA_AMV => AV::ADPCM_IMA_AMV,
1584            Id::ADPCM_EA_R1 => AV::ADPCM_EA_R1,
1585            Id::ADPCM_EA_R3 => AV::ADPCM_EA_R3,
1586            Id::ADPCM_EA_R2 => AV::ADPCM_EA_R2,
1587            Id::ADPCM_IMA_EA_SEAD => AV::ADPCM_IMA_EA_SEAD,
1588            Id::ADPCM_IMA_EA_EACS => AV::ADPCM_IMA_EA_EACS,
1589            Id::ADPCM_EA_XAS => AV::ADPCM_EA_XAS,
1590            Id::ADPCM_EA_MAXIS_XA => AV::ADPCM_EA_MAXIS_XA,
1591            Id::ADPCM_IMA_ISS => AV::ADPCM_IMA_ISS,
1592            Id::ADPCM_G722 => AV::ADPCM_G722,
1593            Id::ADPCM_IMA_APC => AV::ADPCM_IMA_APC,
1594            Id::ADPCM_VIMA => AV::ADPCM_VIMA,
1595
1596            Id::ADPCM_AFC => AV::ADPCM_AFC,
1597            Id::ADPCM_IMA_OKI => AV::ADPCM_IMA_OKI,
1598            Id::ADPCM_DTK => AV::ADPCM_DTK,
1599            Id::ADPCM_IMA_RAD => AV::ADPCM_IMA_RAD,
1600            Id::ADPCM_G726LE => AV::ADPCM_G726LE,
1601            Id::ADPCM_THP_LE => AV::ADPCM_THP_LE,
1602            Id::ADPCM_PSX => AV::ADPCM_PSX,
1603            Id::ADPCM_AICA => AV::ADPCM_AICA,
1604            Id::ADPCM_IMA_DAT4 => AV::ADPCM_IMA_DAT4,
1605            Id::ADPCM_MTAF => AV::ADPCM_MTAF,
1606
1607            /* AMR */
1608            Id::AMR_NB => AV::AMR_NB,
1609            Id::AMR_WB => AV::AMR_WB,
1610
1611            /* RealAudio codecs*/
1612            Id::RA_144 => AV::RA_144,
1613            Id::RA_288 => AV::RA_288,
1614
1615            /* various DPCM codecs */
1616            Id::ROQ_DPCM => AV::ROQ_DPCM,
1617            Id::INTERPLAY_DPCM => AV::INTERPLAY_DPCM,
1618            Id::XAN_DPCM => AV::XAN_DPCM,
1619            Id::SOL_DPCM => AV::SOL_DPCM,
1620
1621            Id::SDX2_DPCM => AV::SDX2_DPCM,
1622
1623            /* audio codecs */
1624            Id::MP2 => AV::MP2,
1625            Id::MP3 => AV::MP3,
1626            Id::AAC => AV::AAC,
1627            Id::AC3 => AV::AC3,
1628            Id::DTS => AV::DTS,
1629            Id::VORBIS => AV::VORBIS,
1630            Id::DVAUDIO => AV::DVAUDIO,
1631            Id::WMAV1 => AV::WMAV1,
1632            Id::WMAV2 => AV::WMAV2,
1633            Id::MACE3 => AV::MACE3,
1634            Id::MACE6 => AV::MACE6,
1635            Id::VMDAUDIO => AV::VMDAUDIO,
1636            Id::FLAC => AV::FLAC,
1637            Id::MP3ADU => AV::MP3ADU,
1638            Id::MP3ON4 => AV::MP3ON4,
1639            Id::SHORTEN => AV::SHORTEN,
1640            Id::ALAC => AV::ALAC,
1641            Id::WESTWOOD_SND1 => AV::WESTWOOD_SND1,
1642            Id::GSM => AV::GSM,
1643            Id::QDM2 => AV::QDM2,
1644            Id::COOK => AV::COOK,
1645            Id::TRUESPEECH => AV::TRUESPEECH,
1646            Id::TTA => AV::TTA,
1647            Id::SMACKAUDIO => AV::SMACKAUDIO,
1648            Id::QCELP => AV::QCELP,
1649            Id::WAVPACK => AV::WAVPACK,
1650            Id::DSICINAUDIO => AV::DSICINAUDIO,
1651            Id::IMC => AV::IMC,
1652            Id::MUSEPACK7 => AV::MUSEPACK7,
1653            Id::MLP => AV::MLP,
1654            Id::GSM_MS => AV::GSM_MS,
1655            Id::ATRAC3 => AV::ATRAC3,
1656            Id::APE => AV::APE,
1657            Id::NELLYMOSER => AV::NELLYMOSER,
1658            Id::MUSEPACK8 => AV::MUSEPACK8,
1659            Id::SPEEX => AV::SPEEX,
1660            Id::WMAVOICE => AV::WMAVOICE,
1661            Id::WMAPRO => AV::WMAPRO,
1662            Id::WMALOSSLESS => AV::WMALOSSLESS,
1663            Id::ATRAC3P => AV::ATRAC3P,
1664            Id::EAC3 => AV::EAC3,
1665            Id::SIPR => AV::SIPR,
1666            Id::MP1 => AV::MP1,
1667            Id::TWINVQ => AV::TWINVQ,
1668            Id::TRUEHD => AV::TRUEHD,
1669            Id::MP4ALS => AV::MP4ALS,
1670            Id::ATRAC1 => AV::ATRAC1,
1671            Id::BINKAUDIO_RDFT => AV::BINKAUDIO_RDFT,
1672            Id::BINKAUDIO_DCT => AV::BINKAUDIO_DCT,
1673            Id::AAC_LATM => AV::AAC_LATM,
1674            Id::QDMC => AV::QDMC,
1675            Id::CELT => AV::CELT,
1676            Id::G723_1 => AV::G723_1,
1677            Id::G729 => AV::G729,
1678            Id::SVX_EXP8 => AV::_8SVX_EXP,
1679            Id::SVX_FIB8 => AV::_8SVX_FIB,
1680            Id::BMV_AUDIO => AV::BMV_AUDIO,
1681            Id::RALF => AV::RALF,
1682            Id::IAC => AV::IAC,
1683            Id::ILBC => AV::ILBC,
1684            Id::OPUS => AV::OPUS,
1685            Id::COMFORT_NOISE => AV::COMFORT_NOISE,
1686            Id::TAK => AV::TAK,
1687            Id::METASOUND => AV::METASOUND,
1688            Id::PAF_AUDIO => AV::PAF_AUDIO,
1689            Id::ON2AVC => AV::ON2AVC,
1690            Id::DSS_SP => AV::DSS_SP,
1691
1692            Id::CODEC2 => AV::CODEC2,
1693            Id::FFWAVESYNTH => AV::FFWAVESYNTH,
1694            Id::SONIC => AV::SONIC,
1695            Id::SONIC_LS => AV::SONIC_LS,
1696            Id::EVRC => AV::EVRC,
1697            Id::SMV => AV::SMV,
1698            Id::DSD_LSBF => AV::DSD_LSBF,
1699            Id::DSD_MSBF => AV::DSD_MSBF,
1700            Id::DSD_LSBF_PLANAR => AV::DSD_LSBF_PLANAR,
1701            Id::DSD_MSBF_PLANAR => AV::DSD_MSBF_PLANAR,
1702            Id::_4GV => AV::_4GV,
1703            Id::INTERPLAY_ACM => AV::INTERPLAY_ACM,
1704            Id::XMA1 => AV::XMA1,
1705            Id::XMA2 => AV::XMA2,
1706            Id::DST => AV::DST,
1707
1708            /* subtitle codecs */
1709            Id::DVD_SUBTITLE => AV::DVD_SUBTITLE,
1710            Id::DVB_SUBTITLE => AV::DVB_SUBTITLE,
1711            Id::TEXT => AV::TEXT,
1712            Id::XSUB => AV::XSUB,
1713            Id::SSA => AV::SSA,
1714            Id::MOV_TEXT => AV::MOV_TEXT,
1715            Id::HDMV_PGS_SUBTITLE => AV::HDMV_PGS_SUBTITLE,
1716            Id::DVB_TELETEXT => AV::DVB_TELETEXT,
1717            Id::SRT => AV::SRT,
1718
1719            Id::MICRODVD => AV::MICRODVD,
1720            Id::EIA_608 => AV::EIA_608,
1721            Id::JACOSUB => AV::JACOSUB,
1722            Id::SAMI => AV::SAMI,
1723            Id::REALTEXT => AV::REALTEXT,
1724            Id::STL => AV::STL,
1725            Id::SUBVIEWER1 => AV::SUBVIEWER1,
1726            Id::SUBVIEWER => AV::SUBVIEWER,
1727            Id::SUBRIP => AV::SUBRIP,
1728            Id::WEBVTT => AV::WEBVTT,
1729            Id::MPL2 => AV::MPL2,
1730            Id::VPLAYER => AV::VPLAYER,
1731            Id::PJS => AV::PJS,
1732            Id::ASS => AV::ASS,
1733            Id::HDMV_TEXT_SUBTITLE => AV::HDMV_TEXT_SUBTITLE,
1734
1735            /* other specific kind of codecs (generally used for attachments) */
1736            Id::TTF => AV::TTF,
1737
1738            Id::SCTE_35 => AV::SCTE_35,
1739            Id::BINTEXT => AV::BINTEXT,
1740            Id::XBIN => AV::XBIN,
1741            Id::IDF => AV::IDF,
1742            Id::OTF => AV::OTF,
1743            Id::SMPTE_KLV => AV::SMPTE_KLV,
1744            Id::DVD_NAV => AV::DVD_NAV,
1745            Id::TIMED_ID3 => AV::TIMED_ID3,
1746            Id::BIN_DATA => AV::BIN_DATA,
1747
1748            Id::PROBE => AV::PROBE,
1749
1750            Id::MPEG2TS => AV::MPEG2TS,
1751            Id::MPEG4SYSTEMS => AV::MPEG4SYSTEMS,
1752            Id::FFMETADATA => AV::FFMETADATA,
1753            Id::WRAPPED_AVFRAME => AV::WRAPPED_AVFRAME,
1754
1755            Id::PSD => AV::PSD,
1756            Id::PIXLET => AV::PIXLET,
1757            Id::SPEEDHQ => AV::SPEEDHQ,
1758            Id::FMVC => AV::FMVC,
1759            Id::CLEARVIDEO => AV::CLEARVIDEO,
1760            Id::SCPR => AV::SCPR,
1761            Id::XPM => AV::XPM,
1762            Id::AV1 => AV::AV1,
1763            Id::PCM_F16LE => AV::PCM_F16LE,
1764            Id::PCM_F24LE => AV::PCM_F24LE,
1765            Id::ATRAC3AL => AV::ATRAC3AL,
1766            Id::ATRAC3PAL => AV::ATRAC3PAL,
1767
1768            Id::BITPACKED => AV::BITPACKED,
1769            Id::MSCC => AV::MSCC,
1770            Id::SRGC => AV::SRGC,
1771            Id::SVG => AV::SVG,
1772            Id::GDV => AV::GDV,
1773            Id::FITS => AV::FITS,
1774            Id::GREMLIN_DPCM => AV::GREMLIN_DPCM,
1775            Id::DOLBY_E => AV::DOLBY_E,
1776
1777            Id::APTX => AV::APTX,
1778            Id::APTX_HD => AV::APTX_HD,
1779            Id::SBC => AV::SBC,
1780
1781            Id::AVS2 => AV::AVS2,
1782            Id::IMM4 => AV::IMM4,
1783            Id::PROSUMER => AV::PROSUMER,
1784            Id::MWSC => AV::MWSC,
1785            Id::WCMV => AV::WCMV,
1786            Id::RASC => AV::RASC,
1787            Id::PCM_VIDC => AV::PCM_VIDC,
1788            Id::ATRAC9 => AV::ATRAC9,
1789            Id::TTML => AV::TTML,
1790
1791            Id::HYMT => AV::HYMT,
1792            Id::ARBC => AV::ARBC,
1793            Id::AGM => AV::AGM,
1794            Id::LSCR => AV::LSCR,
1795            Id::VP4 => AV::VP4,
1796            Id::ADPCM_AGM => AV::ADPCM_AGM,
1797            Id::HCOM => AV::HCOM,
1798            Id::ARIB_CAPTION => AV::ARIB_CAPTION,
1799
1800            Id::IMM5 => AV::IMM5,
1801            Id::MVDV => AV::MVDV,
1802            Id::MVHA => AV::MVHA,
1803            Id::CDTOONS => AV::CDTOONS,
1804            Id::MV30 => AV::MV30,
1805            Id::NOTCHLC => AV::NOTCHLC,
1806            Id::PFM => AV::PFM,
1807            Id::ADPCM_ARGO => AV::ADPCM_ARGO,
1808            Id::ADPCM_IMA_SSI => AV::ADPCM_IMA_SSI,
1809            Id::ADPCM_ZORK => AV::ADPCM_ZORK,
1810            Id::ADPCM_IMA_APM => AV::ADPCM_IMA_APM,
1811            Id::ADPCM_IMA_ALP => AV::ADPCM_IMA_ALP,
1812            Id::ADPCM_IMA_MTF => AV::ADPCM_IMA_MTF,
1813            Id::ADPCM_IMA_CUNNING => AV::ADPCM_IMA_CUNNING,
1814            Id::DERF_DPCM => AV::DERF_DPCM,
1815            Id::ACELP_KELVIN => AV::ACELP_KELVIN,
1816            Id::MPEGH_3D_AUDIO => AV::MPEGH_3D_AUDIO,
1817            Id::SIREN => AV::SIREN,
1818            Id::HCA => AV::HCA,
1819            Id::EPG => AV::EPG,
1820
1821            Id::PGX => AV::PGX,
1822            Id::AVS3 => AV::AVS3,
1823            Id::MSP2 => AV::MSP2,
1824            Id::VVC => AV::VVC,
1825            Id::MOBICLIP => AV::MOBICLIP,
1826            Id::PHOTOCD => AV::PHOTOCD,
1827            Id::IPU => AV::IPU,
1828            Id::ARGO => AV::ARGO,
1829            Id::CRI => AV::CRI,
1830            Id::SIMBIOSIS_IMX => AV::SIMBIOSIS_IMX,
1831            Id::SGA_VIDEO => AV::SGA_VIDEO,
1832            Id::PCM_SGA => AV::PCM_SGA,
1833            Id::ADPCM_IMA_MOFLEX => AV::ADPCM_IMA_MOFLEX,
1834            Id::FASTAUDIO => AV::FASTAUDIO,
1835
1836            Id::GEM => AV::GEM,
1837            Id::ADPCM_IMA_ACORN => AV::ADPCM_IMA_ACORN,
1838            Id::MSNSIREN => AV::MSNSIREN,
1839
1840            Id::VBN => AV::VBN,
1841            Id::JPEGXL => AV::JPEGXL,
1842            Id::QOI => AV::QOI,
1843            Id::PHM => AV::PHM,
1844            Id::DFPWM => AV::DFPWM,
1845
1846            #[cfg(feature = "ffmpeg_6_0")]
1847            Id::RADIANCE_HDR => AV::RADIANCE_HDR,
1848            #[cfg(feature = "ffmpeg_6_0")]
1849            Id::WBMP => AV::WBMP,
1850            #[cfg(feature = "ffmpeg_6_0")]
1851            Id::MEDIA100 => AV::MEDIA100,
1852            #[cfg(feature = "ffmpeg_6_0")]
1853            Id::VQC => AV::VQC,
1854            #[cfg(feature = "ffmpeg_6_0")]
1855            Id::ADPCM_XMD => AV::ADPCM_XMD,
1856            #[cfg(feature = "ffmpeg_6_0")]
1857            Id::WADY_DPCM => AV::WADY_DPCM,
1858            #[cfg(feature = "ffmpeg_6_0")]
1859            Id::CBD2_DPCM => AV::CBD2_DPCM,
1860            #[cfg(feature = "ffmpeg_6_0")]
1861            Id::BONK => AV::BONK,
1862            #[cfg(feature = "ffmpeg_6_0")]
1863            Id::MISC4 => AV::MISC4,
1864            #[cfg(feature = "ffmpeg_6_0")]
1865            Id::APAC => AV::APAC,
1866            #[cfg(feature = "ffmpeg_6_0")]
1867            Id::FTR => AV::FTR,
1868            #[cfg(feature = "ffmpeg_6_0")]
1869            Id::WAVARC => AV::WAVARC,
1870            #[cfg(feature = "ffmpeg_6_0")]
1871            Id::RKA => AV::RKA,
1872            #[cfg(feature = "ffmpeg_6_0")]
1873            Id::VNULL => AV::VNULL,
1874            #[cfg(feature = "ffmpeg_6_0")]
1875            Id::ANULL => AV::ANULL,
1876            #[cfg(feature = "ffmpeg_6_1")]
1877            Id::PDV => AV::PDV,
1878            #[cfg(feature = "ffmpeg_6_1")]
1879            Id::EVC => AV::EVC,
1880            #[cfg(feature = "ffmpeg_6_1")]
1881            Id::RTV1 => AV::RTV1,
1882            #[cfg(feature = "ffmpeg_6_1")]
1883            Id::VMIX => AV::VMIX,
1884            #[cfg(feature = "ffmpeg_7_0")]
1885            Id::LEAD => AV::LEAD,
1886            #[cfg(feature = "ffmpeg_6_1")]
1887            Id::AC4 => AV::AC4,
1888            #[cfg(feature = "ffmpeg_6_1")]
1889            Id::OSQ => AV::OSQ,
1890            #[cfg(feature = "ffmpeg_7_0")]
1891            Id::QOA => AV::QOA,
1892            #[cfg(feature = "ffmpeg_7_1")]
1893            Id::LC3 => AV::LC3,
1894            #[cfg(feature = "ffmpeg_6_1")]
1895            Id::SMPTE_2038 => AV::SMPTE_2038,
1896            #[cfg(feature = "ffmpeg_7_1")]
1897            Id::LCEVC => AV::LCEVC,
1898
1899            #[cfg(feature = "ffmpeg_8_0")]
1900            Id::DNXUC => AV::DNXUC,
1901            #[cfg(feature = "ffmpeg_8_0")]
1902            Id::RV60 => AV::RV60,
1903            #[cfg(feature = "ffmpeg_8_0")]
1904            Id::JPEGXL_ANIM => AV::JPEGXL_ANIM,
1905            #[cfg(feature = "ffmpeg_8_0")]
1906            Id::APV => AV::APV,
1907            #[cfg(feature = "ffmpeg_8_0")]
1908            Id::PRORES_RAW => AV::PRORES_RAW,
1909            #[cfg(feature = "ffmpeg_8_0")]
1910            Id::ADPCM_IMA_XBOX => AV::ADPCM_IMA_XBOX,
1911            #[cfg(feature = "ffmpeg_8_0")]
1912            Id::ADPCM_SANYO => AV::ADPCM_SANYO,
1913            #[cfg(feature = "ffmpeg_8_0")]
1914            Id::G728 => AV::G728,
1915            #[cfg(feature = "ffmpeg_8_0")]
1916            Id::IVTV_VBI => AV::IVTV_VBI,
1917            #[cfg(feature = "ffmpeg_8_0")]
1918            Id::SMPTE_436M_ANC => AV::SMPTE_436M_ANC,
1919
1920            #[cfg(feature = "ffmpeg_8_1")]
1921            Id::JPEGXS => AV::JPEGXS,
1922            #[cfg(feature = "ffmpeg_8_1")]
1923            Id::ADPCM_IMA_HVQM4 => AV::ADPCM_IMA_HVQM4,
1924            #[cfg(feature = "ffmpeg_8_1")]
1925            Id::ADPCM_IMA_PDA => AV::ADPCM_IMA_PDA,
1926            #[cfg(feature = "ffmpeg_8_1")]
1927            Id::ADPCM_N64 => AV::ADPCM_N64,
1928            #[cfg(feature = "ffmpeg_8_1")]
1929            Id::ADPCM_IMA_HVQM2 => AV::ADPCM_IMA_HVQM2,
1930            #[cfg(feature = "ffmpeg_8_1")]
1931            Id::ADPCM_IMA_MAGIX => AV::ADPCM_IMA_MAGIX,
1932            #[cfg(feature = "ffmpeg_8_1")]
1933            Id::ADPCM_PSXC => AV::ADPCM_PSXC,
1934            #[cfg(feature = "ffmpeg_8_1")]
1935            Id::ADPCM_CIRCUS => AV::ADPCM_CIRCUS,
1936            #[cfg(feature = "ffmpeg_8_1")]
1937            Id::ADPCM_IMA_ESCAPE => AV::ADPCM_IMA_ESCAPE,
1938            #[cfg(feature = "ffmpeg_8_1")]
1939            Id::AHX => AV::AHX,
1940        }
1941    }
1942}