(** Audio, video and subtitle codec ids *)

type video = [
  | `Mpeg1video
  | `Mpeg2video
  | `H261
  | `H263
  | `Rv10
  | `Rv20
  | `Mjpeg
  | `Mjpegb
  | `Ljpeg
  | `Sp5x
  | `Jpegls
  | `Mpeg4
  | `Rawvideo
  | `Msmpeg4v1
  | `Msmpeg4v2
  | `Msmpeg4v3
  | `Wmv1
  | `Wmv2
  | `H263p
  | `H263i
  | `Flv1
  | `Svq1
  | `Svq3
  | `Dvvideo
  | `Huffyuv
  | `Cyuv
  | `H264
  | `Indeo3
  | `Vp3
  | `Theora
  | `Asv1
  | `Asv2
  | `Ffv1
  | `_4xm
  | `Vcr1
  | `Cljr
  | `Mdec
  | `Roq
  | `Interplay_video
  | `Xan_wc3
  | `Xan_wc4
  | `Rpza
  | `Cinepak
  | `Ws_vqa
  | `Msrle
  | `Msvideo1
  | `Idcin
  | `_8bps
  | `Smc
  | `Flic
  | `Truemotion1
  | `Vmdvideo
  | `Mszh
  | `Zlib
  | `Qtrle
  | `Tscc
  | `Ulti
  | `Qdraw
  | `Vixl
  | `Qpeg
  | `Png
  | `Ppm
  | `Pbm
  | `Pgm
  | `Pgmyuv
  | `Pam
  | `Ffvhuff
  | `Rv30
  | `Rv40
  | `Vc1
  | `Wmv3
  | `Loco
  | `Wnv1
  | `Aasc
  | `Indeo2
  | `Fraps
  | `Truemotion2
  | `Bmp
  | `Cscd
  | `Mmvideo
  | `Zmbv
  | `Avs
  | `Smackvideo
  | `Nuv
  | `Kmvc
  | `Flashsv
  | `Cavs
  | `Jpeg2000
  | `Vmnc
  | `Vp5
  | `Vp6
  | `Vp6f
  | `Targa
  | `Dsicinvideo
  | `Tiertexseqvideo
  | `Tiff
  | `Gif
  | `Dxa
  | `Dnxhd
  | `Thp
  | `Sgi
  | `C93
  | `Bethsoftvid
  | `Ptx
  | `Txd
  | `Vp6a
  | `Amv
  | `Vb
  | `Pcx
  | `Sunrast
  | `Indeo4
  | `Indeo5
  | `Mimic
  | `Rl2
  | `Escape124
  | `Dirac
  | `Bfi
  | `Cmv
  | `Motionpixels
  | `Tgv
  | `Tgq
  | `Tqi
  | `Aura
  | `Aura2
  | `V210x
  | `Tmv
  | `V210
  | `Dpx
  | `Mad
  | `Frwu
  | `Flashsv2
  | `Cdgraphics
  | `R210
  | `Anm
  | `Binkvideo
  | `Iff_ilbm
  | `Kgv1
  | `Yop
  | `Vp8
  | `Pictor
  | `Ansi
  | `A64_multi
  | `A64_multi5
  | `R10k
  | `Mxpeg
  | `Lagarith
  | `Prores
  | `Jv
  | `Dfa
  | `Wmv3image
  | `Vc1image
  | `Utvideo
  | `Bmv_video
  | `Vble
  | `Dxtory
  | `V410
  | `Xwd
  | `Cdxl
  | `Xbm
  | `Zerocodec
  | `Mss1
  | `Msa1
  | `Tscc2
  | `Mts2
  | `Cllc
  | `Mss2
  | `Vp9
  | `Aic
  | `Escape130
  | `G2m
  | `Webp
  | `Hnm4_video
  | `Hevc
  | `Fic
  | `Alias_pix
  | `Brender_pix
  | `Paf_video
  | `Exr
  | `Vp7
  | `Sanm
  | `Sgirle
  | `Mvc1
  | `Mvc2
  | `Hqx
  | `Tdsc
  | `Hq_hqa
  | `Hap
  | `Dds
  | `Dxv
  | `Screenpresso
  | `Rscc
  | `Avs2
  | `Y41p
  | `Avrp
  | `_012v
  | `Avui
  | `Ayuv
  | `Targa_y216
  | `V308
  | `V408
  | `Yuv4
  | `Avrn
  | `Cpia
  | `Xface
  | `Snow
  | `Smvjpeg
  | `Apng
  | `Daala
  | `Cfhd
  | `Truemotion2rt
  | `M101
  | `Magicyuv
  | `Sheervideo
  | `Ylc
  | `Psd
  | `Pixlet
  | `Speedhq
  | `Fmvc
  | `Scpr
  | `Clearvideo
  | `Xpm
  | `Av1
  | `Bitpacked
  | `Mscc
  | `Srgc
  | `Svg
  | `Gdv
  | `Fits
  | `Imm4
  | `Prosumer
  | `Mwsc
  | `Wcmv
  | `Rasc
  | `Hymt
  | `Arbc
  | `Agm
  | `Lscr
  | `Vp4
]

type audio = [
  | `Pcm_s16le
  | `Pcm_s16be
  | `Pcm_u16le
  | `Pcm_u16be
  | `Pcm_s8
  | `Pcm_u8
  | `Pcm_mulaw
  | `Pcm_alaw
  | `Pcm_s32le
  | `Pcm_s32be
  | `Pcm_u32le
  | `Pcm_u32be
  | `Pcm_s24le
  | `Pcm_s24be
  | `Pcm_u24le
  | `Pcm_u24be
  | `Pcm_s24daud
  | `Pcm_zork
  | `Pcm_s16le_planar
  | `Pcm_dvd
  | `Pcm_f32be
  | `Pcm_f32le
  | `Pcm_f64be
  | `Pcm_f64le
  | `Pcm_bluray
  | `Pcm_lxf
  | `S302m
  | `Pcm_s8_planar
  | `Pcm_s24le_planar
  | `Pcm_s32le_planar
  | `Pcm_s16be_planar
  | `Pcm_s64le
  | `Pcm_s64be
  | `Pcm_f16le
  | `Pcm_f24le
  | `Pcm_vidc
  | `Adpcm_ima_qt
  | `Adpcm_ima_wav
  | `Adpcm_ima_dk3
  | `Adpcm_ima_dk4
  | `Adpcm_ima_ws
  | `Adpcm_ima_smjpeg
  | `Adpcm_ms
  | `Adpcm_4xm
  | `Adpcm_xa
  | `Adpcm_adx
  | `Adpcm_ea
  | `Adpcm_g726
  | `Adpcm_ct
  | `Adpcm_swf
  | `Adpcm_yamaha
  | `Adpcm_sbpro_4
  | `Adpcm_sbpro_3
  | `Adpcm_sbpro_2
  | `Adpcm_thp
  | `Adpcm_ima_amv
  | `Adpcm_ea_r1
  | `Adpcm_ea_r3
  | `Adpcm_ea_r2
  | `Adpcm_ima_ea_sead
  | `Adpcm_ima_ea_eacs
  | `Adpcm_ea_xas
  | `Adpcm_ea_maxis_xa
  | `Adpcm_ima_iss
  | `Adpcm_g722
  | `Adpcm_ima_apc
  | `Adpcm_vima
  | `Adpcm_afc
  | `Adpcm_ima_oki
  | `Adpcm_dtk
  | `Adpcm_ima_rad
  | `Adpcm_g726le
  | `Adpcm_thp_le
  | `Adpcm_psx
  | `Adpcm_aica
  | `Adpcm_ima_dat4
  | `Adpcm_mtaf
  | `Adpcm_agm
  | `Amr_nb
  | `Amr_wb
  | `Ra_144
  | `Ra_288
  | `Roq_dpcm
  | `Interplay_dpcm
  | `Xan_dpcm
  | `Sol_dpcm
  | `Sdx2_dpcm
  | `Gremlin_dpcm
  | `Mp2
  | `Mp3
  | `Aac
  | `Ac3
  | `Dts
  | `Vorbis
  | `Dvaudio
  | `Wmav1
  | `Wmav2
  | `Mace3
  | `Mace6
  | `Vmdaudio
  | `Flac
  | `Mp3adu
  | `Mp3on4
  | `Shorten
  | `Alac
  | `Westwood_snd1
  | `Gsm
  | `Qdm2
  | `Cook
  | `Truespeech
  | `Tta
  | `Smackaudio
  | `Qcelp
  | `Wavpack
  | `Dsicinaudio
  | `Imc
  | `Musepack7
  | `Mlp
  | `Gsm_ms
  | `Atrac3
  | `Ape
  | `Nellymoser
  | `Musepack8
  | `Speex
  | `Wmavoice
  | `Wmapro
  | `Wmalossless
  | `Atrac3p
  | `Eac3
  | `Sipr
  | `Mp1
  | `Twinvq
  | `Truehd
  | `Mp4als
  | `Atrac1
  | `Binkaudio_rdft
  | `Binkaudio_dct
  | `Aac_latm
  | `Qdmc
  | `Celt
  | `G723_1
  | `G729
  | `_8svx_exp
  | `_8svx_fib
  | `Bmv_audio
  | `Ralf
  | `Iac
  | `Ilbc
  | `Opus
  | `Comfort_noise
  | `Tak
  | `Metasound
  | `Paf_audio
  | `On2avc
  | `Dss_sp
  | `Codec2
  | `Ffwavesynth
  | `Sonic
  | `Sonic_ls
  | `Evrc
  | `Smv
  | `Dsd_lsbf
  | `Dsd_msbf
  | `Dsd_lsbf_planar
  | `Dsd_msbf_planar
  | `_4gv
  | `Interplay_acm
  | `Xma1
  | `Xma2
  | `Dst
  | `Atrac3al
  | `Atrac3pal
  | `Dolby_e
  | `Aptx
  | `Aptx_hd
  | `Sbc
  | `Atrac9
  | `Hcom
]

type subtitle = [
  | `Dvd_subtitle
  | `Dvb_subtitle
  | `Text
  | `Xsub
  | `Ssa
  | `Mov_text
  | `Hdmv_pgs_subtitle
  | `Dvb_teletext
  | `Srt
  | `Microdvd
  | `Eia_608
  | `Jacosub
  | `Sami
  | `Realtext
  | `Stl
  | `Subviewer1
  | `Subviewer
  | `Subrip
  | `Webvtt
  | `Mpl2
  | `Vplayer
  | `Pjs
  | `Ass
  | `Hdmv_text_subtitle
  | `Ttml
  | `Arib_caption
]

