package ffmpeg-avcodec

  1. Overview
  2. Docs

Module AvcodecSource

This module contains decoders and encoders for audio, video and subtitle codecs.

Sourcetype ('media, 'mode) codec
Sourcetype 'media params
Sourcetype 'media decoder
Sourcetype 'media encoder
Sourcetype encode = [
  1. | `Encoder
]
Sourcetype decode = [
  1. | `Decoder
]
Sourcetype profile = {
  1. id : int;
  2. profile_name : string;
}
Sourcetype descriptor = {
  1. media_type : Avutil.media_type;
  2. name : string;
  3. long_name : string option;
  4. properties : [ `Intra_only | `Lossy | `Lossless | `Reorder | `Fields | `Bitmap_sub | `Text_sub ] list;
  5. mime_types : string list;
  6. profiles : profile list;
}
Constants
Sourceval flag_qscale : int
Sourceval params : 'media encoder -> 'media params

Get the params of a given encoder

Sourceval descriptor : 'media params -> descriptor option

Get the params descriptor.

Sourceval time_base : 'media encoder -> Avutil.rational

Get the time base of a given encoder.

Sourceval name : (_, _) codec -> string

Get the name of a given codec.

Sourcetype capability = [
  1. | `Draw_horiz_band
  2. | `Dr1
  3. | `Delay
  4. | `Small_last_frame
  5. | `Subframes
  6. | `Experimental
  7. | `Channel_conf
  8. | `Frame_threads
  9. | `Slice_threads
  10. | `Param_change
  11. | `Other_threads
  12. | `Variable_frame_size
  13. | `Avoid_probing
  14. | `Hardware
  15. | `Hybrid
  16. | `Encoder_reordered_opaque
  17. | `Encoder_flush
  18. | `Encoder_recon_frame
]

Codec capabilities.

Sourceval capabilities : ([< `Audio | `Video ], encode) codec -> capability list

Get the encoding capabilities for this codec.

Sourcetype hw_config_method = [
  1. | `Hw_device_ctx
  2. | `Hw_frames_ctx
  3. | `Internal
  4. | `Ad_hoc
]

Codec hardware config method.

Sourcetype hw_config = {
  1. pixel_format : Avutil.Pixel_format.t;
  2. methods : hw_config_method list;
  3. device_type : Avutil.HwContext.device_type;
}

Hardward config for the given codec.

Sourceval hw_configs : ([< `Audio | `Video ], _) codec -> hw_config list

Get the codec's hardward configs.

Sourcemodule Packet : sig ... end

Packet.

Sourcemodule Audio : sig ... end

Audio codecs.

Sourcemodule Video : sig ... end

Video codecs.

Sourcemodule Subtitle : sig ... end

Subtitle codecs.

Sourcemodule Unknown : sig ... end
Sourcetype id = [
  1. | `None
  2. | `Mpeg1video
  3. | `Mpeg2video
  4. | `H261
  5. | `H263
  6. | `Rv10
  7. | `Rv20
  8. | `Mjpeg
  9. | `Mjpegb
  10. | `Ljpeg
  11. | `Sp5x
  12. | `Jpegls
  13. | `Mpeg4
  14. | `Rawvideo
  15. | `Msmpeg4v1
  16. | `Msmpeg4v2
  17. | `Msmpeg4v3
  18. | `Wmv1
  19. | `Wmv2
  20. | `H263p
  21. | `H263i
  22. | `Flv1
  23. | `Svq1
  24. | `Svq3
  25. | `Dvvideo
  26. | `Huffyuv
  27. | `Cyuv
  28. | `H264
  29. | `Indeo3
  30. | `Vp3
  31. | `Theora
  32. | `Asv1
  33. | `Asv2
  34. | `Ffv1
  35. | `_4xm
  36. | `Vcr1
  37. | `Cljr
  38. | `Mdec
  39. | `Roq
  40. | `Interplay_video
  41. | `Xan_wc3
  42. | `Xan_wc4
  43. | `Rpza
  44. | `Cinepak
  45. | `Ws_vqa
  46. | `Msrle
  47. | `Msvideo1
  48. | `Idcin
  49. | `_8bps
  50. | `Smc
  51. | `Flic
  52. | `Truemotion1
  53. | `Vmdvideo
  54. | `Mszh
  55. | `Zlib
  56. | `Qtrle
  57. | `Tscc
  58. | `Ulti
  59. | `Qdraw
  60. | `Vixl
  61. | `Qpeg
  62. | `Png
  63. | `Ppm
  64. | `Pbm
  65. | `Pgm
  66. | `Pgmyuv
  67. | `Pam
  68. | `Ffvhuff
  69. | `Rv30
  70. | `Rv40
  71. | `Vc1
  72. | `Wmv3
  73. | `Loco
  74. | `Wnv1
  75. | `Aasc
  76. | `Indeo2
  77. | `Fraps
  78. | `Truemotion2
  79. | `Bmp
  80. | `Cscd
  81. | `Mmvideo
  82. | `Zmbv
  83. | `Avs
  84. | `Smackvideo
  85. | `Nuv
  86. | `Kmvc
  87. | `Flashsv
  88. | `Cavs
  89. | `Jpeg2000
  90. | `Vmnc
  91. | `Vp5
  92. | `Vp6
  93. | `Vp6f
  94. | `Targa
  95. | `Dsicinvideo
  96. | `Tiertexseqvideo
  97. | `Tiff
  98. | `Gif
  99. | `Dxa
  100. | `Dnxhd
  101. | `Thp
  102. | `Sgi
  103. | `C93
  104. | `Bethsoftvid
  105. | `Ptx
  106. | `Txd
  107. | `Vp6a
  108. | `Amv
  109. | `Vb
  110. | `Pcx
  111. | `Sunrast
  112. | `Indeo4
  113. | `Indeo5
  114. | `Mimic
  115. | `Rl2
  116. | `Escape124
  117. | `Dirac
  118. | `Bfi
  119. | `Cmv
  120. | `Motionpixels
  121. | `Tgv
  122. | `Tgq
  123. | `Tqi
  124. | `Aura
  125. | `Aura2
  126. | `V210x
  127. | `Tmv
  128. | `V210
  129. | `Dpx
  130. | `Mad
  131. | `Frwu
  132. | `Flashsv2
  133. | `Cdgraphics
  134. | `R210
  135. | `Anm
  136. | `Binkvideo
  137. | `Iff_ilbm
  138. | `Kgv1
  139. | `Yop
  140. | `Vp8
  141. | `Pictor
  142. | `Ansi
  143. | `A64_multi
  144. | `A64_multi5
  145. | `R10k
  146. | `Mxpeg
  147. | `Lagarith
  148. | `Prores
  149. | `Jv
  150. | `Dfa
  151. | `Wmv3image
  152. | `Vc1image
  153. | `Utvideo
  154. | `Bmv_video
  155. | `Vble
  156. | `Dxtory
  157. | `V410
  158. | `Xwd
  159. | `Cdxl
  160. | `Xbm
  161. | `Zerocodec
  162. | `Mss1
  163. | `Msa1
  164. | `Tscc2
  165. | `Mts2
  166. | `Cllc
  167. | `Mss2
  168. | `Vp9
  169. | `Aic
  170. | `Escape130
  171. | `G2m
  172. | `Webp
  173. | `Hnm4_video
  174. | `Hevc
  175. | `Fic
  176. | `Alias_pix
  177. | `Brender_pix
  178. | `Paf_video
  179. | `Exr
  180. | `Vp7
  181. | `Sanm
  182. | `Sgirle
  183. | `Mvc1
  184. | `Mvc2
  185. | `Hqx
  186. | `Tdsc
  187. | `Hq_hqa
  188. | `Hap
  189. | `Dds
  190. | `Dxv
  191. | `Screenpresso
  192. | `Rscc
  193. | `Avs2
  194. | `Pgx
  195. | `Avs3
  196. | `Msp2
  197. | `Vvc
  198. | `Y41p
  199. | `Avrp
  200. | `_012v
  201. | `Avui
  202. | `Targa_y216
  203. | `V308
  204. | `V408
  205. | `Yuv4
  206. | `Avrn
  207. | `Cpia
  208. | `Xface
  209. | `Snow
  210. | `Smvjpeg
  211. | `Apng
  212. | `Daala
  213. | `Cfhd
  214. | `Truemotion2rt
  215. | `M101
  216. | `Magicyuv
  217. | `Sheervideo
  218. | `Ylc
  219. | `Psd
  220. | `Pixlet
  221. | `Speedhq
  222. | `Fmvc
  223. | `Scpr
  224. | `Clearvideo
  225. | `Xpm
  226. | `Av1
  227. | `Bitpacked
  228. | `Mscc
  229. | `Srgc
  230. | `Svg
  231. | `Gdv
  232. | `Fits
  233. | `Imm4
  234. | `Prosumer
  235. | `Mwsc
  236. | `Wcmv
  237. | `Rasc
  238. | `Hymt
  239. | `Arbc
  240. | `Agm
  241. | `Lscr
  242. | `Vp4
  243. | `Imm5
  244. | `Mvdv
  245. | `Mvha
  246. | `Cdtoons
  247. | `Mv30
  248. | `Notchlc
  249. | `Pfm
  250. | `Mobiclip
  251. | `Photocd
  252. | `Ipu
  253. | `Argo
  254. | `Cri
  255. | `Simbiosis_imx
  256. | `Sga_video
  257. | `Gem
  258. | `Vbn
  259. | `Jpegxl
  260. | `Qoi
  261. | `Phm
  262. | `Radiance_hdr
  263. | `Wbmp
  264. | `Media100
  265. | `Vqc
  266. | `Pdv
  267. | `Evc
  268. | `Rtv1
  269. | `Vmix
  270. | `Lead
  271. | `First_audio
  272. | `Pcm_s16le
  273. | `Pcm_s16be
  274. | `Pcm_u16le
  275. | `Pcm_u16be
  276. | `Pcm_s8
  277. | `Pcm_u8
  278. | `Pcm_mulaw
  279. | `Pcm_alaw
  280. | `Pcm_s32le
  281. | `Pcm_s32be
  282. | `Pcm_u32le
  283. | `Pcm_u32be
  284. | `Pcm_s24le
  285. | `Pcm_s24be
  286. | `Pcm_u24le
  287. | `Pcm_u24be
  288. | `Pcm_s24daud
  289. | `Pcm_zork
  290. | `Pcm_s16le_planar
  291. | `Pcm_dvd
  292. | `Pcm_f32be
  293. | `Pcm_f32le
  294. | `Pcm_f64be
  295. | `Pcm_f64le
  296. | `Pcm_bluray
  297. | `Pcm_lxf
  298. | `S302m
  299. | `Pcm_s8_planar
  300. | `Pcm_s24le_planar
  301. | `Pcm_s32le_planar
  302. | `Pcm_s16be_planar
  303. | `Pcm_s64le
  304. | `Pcm_s64be
  305. | `Pcm_f16le
  306. | `Pcm_f24le
  307. | `Pcm_vidc
  308. | `Pcm_sga
  309. | `Adpcm_ima_qt
  310. | `Adpcm_ima_wav
  311. | `Adpcm_ima_dk3
  312. | `Adpcm_ima_dk4
  313. | `Adpcm_ima_ws
  314. | `Adpcm_ima_smjpeg
  315. | `Adpcm_ms
  316. | `Adpcm_4xm
  317. | `Adpcm_xa
  318. | `Adpcm_adx
  319. | `Adpcm_ea
  320. | `Adpcm_g726
  321. | `Adpcm_ct
  322. | `Adpcm_swf
  323. | `Adpcm_yamaha
  324. | `Adpcm_sbpro_4
  325. | `Adpcm_sbpro_3
  326. | `Adpcm_sbpro_2
  327. | `Adpcm_thp
  328. | `Adpcm_ima_amv
  329. | `Adpcm_ea_r1
  330. | `Adpcm_ea_r3
  331. | `Adpcm_ea_r2
  332. | `Adpcm_ima_ea_sead
  333. | `Adpcm_ima_ea_eacs
  334. | `Adpcm_ea_xas
  335. | `Adpcm_ea_maxis_xa
  336. | `Adpcm_ima_iss
  337. | `Adpcm_g722
  338. | `Adpcm_ima_apc
  339. | `Adpcm_vima
  340. | `Adpcm_afc
  341. | `Adpcm_ima_oki
  342. | `Adpcm_dtk
  343. | `Adpcm_ima_rad
  344. | `Adpcm_g726le
  345. | `Adpcm_thp_le
  346. | `Adpcm_psx
  347. | `Adpcm_aica
  348. | `Adpcm_ima_dat4
  349. | `Adpcm_mtaf
  350. | `Adpcm_agm
  351. | `Adpcm_argo
  352. | `Adpcm_ima_ssi
  353. | `Adpcm_zork
  354. | `Adpcm_ima_apm
  355. | `Adpcm_ima_alp
  356. | `Adpcm_ima_mtf
  357. | `Adpcm_ima_cunning
  358. | `Adpcm_ima_moflex
  359. | `Adpcm_ima_acorn
  360. | `Adpcm_xmd
  361. | `Amr_nb
  362. | `Amr_wb
  363. | `Ra_144
  364. | `Ra_288
  365. | `Roq_dpcm
  366. | `Interplay_dpcm
  367. | `Xan_dpcm
  368. | `Sol_dpcm
  369. | `Sdx2_dpcm
  370. | `Gremlin_dpcm
  371. | `Derf_dpcm
  372. | `Wady_dpcm
  373. | `Cbd2_dpcm
  374. | `Mp2
  375. | `Mp3
  376. | `Aac
  377. | `Ac3
  378. | `Dts
  379. | `Vorbis
  380. | `Dvaudio
  381. | `Wmav1
  382. | `Wmav2
  383. | `Mace3
  384. | `Mace6
  385. | `Vmdaudio
  386. | `Flac
  387. | `Mp3adu
  388. | `Mp3on4
  389. | `Shorten
  390. | `Alac
  391. | `Westwood_snd1
  392. | `Gsm
  393. | `Qdm2
  394. | `Cook
  395. | `Truespeech
  396. | `Tta
  397. | `Smackaudio
  398. | `Qcelp
  399. | `Wavpack
  400. | `Dsicinaudio
  401. | `Imc
  402. | `Musepack7
  403. | `Mlp
  404. | `Gsm_ms
  405. | `Atrac3
  406. | `Ape
  407. | `Nellymoser
  408. | `Musepack8
  409. | `Speex
  410. | `Wmavoice
  411. | `Wmapro
  412. | `Wmalossless
  413. | `Atrac3p
  414. | `Eac3
  415. | `Sipr
  416. | `Mp1
  417. | `Twinvq
  418. | `Truehd
  419. | `Mp4als
  420. | `Atrac1
  421. | `Binkaudio_rdft
  422. | `Binkaudio_dct
  423. | `Aac_latm
  424. | `Qdmc
  425. | `Celt
  426. | `G723_1
  427. | `G729
  428. | `_8svx_exp
  429. | `_8svx_fib
  430. | `Bmv_audio
  431. | `Ralf
  432. | `Iac
  433. | `Ilbc
  434. | `Opus
  435. | `Comfort_noise
  436. | `Tak
  437. | `Metasound
  438. | `Paf_audio
  439. | `On2avc
  440. | `Dss_sp
  441. | `Codec2
  442. | `Ffwavesynth
  443. | `Sonic
  444. | `Sonic_ls
  445. | `Evrc
  446. | `Smv
  447. | `Dsd_lsbf
  448. | `Dsd_msbf
  449. | `Dsd_lsbf_planar
  450. | `Dsd_msbf_planar
  451. | `_4gv
  452. | `Interplay_acm
  453. | `Xma1
  454. | `Xma2
  455. | `Dst
  456. | `Atrac3al
  457. | `Atrac3pal
  458. | `Dolby_e
  459. | `Aptx
  460. | `Aptx_hd
  461. | `Sbc
  462. | `Atrac9
  463. | `Hcom
  464. | `Acelp_kelvin
  465. | `Mpegh_3d_audio
  466. | `Siren
  467. | `Hca
  468. | `Fastaudio
  469. | `Msnsiren
  470. | `Dfpwm
  471. | `Bonk
  472. | `Misc4
  473. | `Apac
  474. | `Ftr
  475. | `Wavarc
  476. | `Rka
  477. | `Ac4
  478. | `Osq
  479. | `Qoa
  480. | `Lc3
  481. | `First_subtitle
  482. | `Dvd_subtitle
  483. | `Dvb_subtitle
  484. | `Text
  485. | `Xsub
  486. | `Ssa
  487. | `Mov_text
  488. | `Hdmv_pgs_subtitle
  489. | `Dvb_teletext
  490. | `Srt
  491. | `Microdvd
  492. | `Eia_608
  493. | `Jacosub
  494. | `Sami
  495. | `Realtext
  496. | `Stl
  497. | `Subviewer1
  498. | `Subviewer
  499. | `Subrip
  500. | `Webvtt
  501. | `Mpl2
  502. | `Vplayer
  503. | `Pjs
  504. | `Ass
  505. | `Hdmv_text_subtitle
  506. | `Ttml
  507. | `Arib_caption
  508. | `First_unknown
  509. | `Ttf
  510. | `Scte_35
  511. | `Epg
  512. | `Bintext
  513. | `Xbin
  514. | `Idf
  515. | `Otf
  516. | `Smpte_klv
  517. | `Dvd_nav
  518. | `Timed_id3
  519. | `Bin_data
  520. | `Smpte_2038
  521. | `Lcevc
  522. | `Probe
  523. | `Mpeg2ts
  524. | `Mpeg4systems
  525. | `Ffmetadata
  526. | `Wrapped_avframe
  527. | `Vnull
  528. | `Anull
]
Sourceval string_of_id : id -> string
Sourcemodule BitstreamFilter : sig ... end
Sourceval decode : 'media decoder -> ('media Avutil.frame -> unit) -> 'media Packet.t -> unit

Avcodec.decode decoder f packet applies function f to the decoded frames frome the packet according to the decoder configuration.

Raise Error if the decoding failed.

Sourceval flush_decoder : 'media decoder -> ('media Avutil.frame -> unit) -> unit

Avcodec.flush_decoder decoder f applies function f to the decoded frames frome the buffered packets in the decoder.

Raise Error if the decoding failed.

Sourceval encode : 'media encoder -> ('media Packet.t -> unit) -> 'media Avutil.frame -> unit

Avcodec.encode encoder f frame applies function f to the encoded packets from the frame according to the encoder configuration.

Raise Error if the encoding failed.

Sourceval flush_encoder : 'media encoder -> ('media Packet.t -> unit) -> unit

Avcodec.flush_encoder encoder applies function f to the encoded packets from the buffered frames in the encoder.

Raise Error if the encoding failed.