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