<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of class methods" rel=Appendix href="index_methods.html"> <link title="Index of classes" rel=Appendix href="index_classes.html"> <link title="Index of class types" rel=Appendix href="index_class_types.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Audio" rel="Chapter" href="Audio.html"> <link title="Image" rel="Chapter" href="Image.html"> <link title="MIDI" rel="Chapter" href="MIDI.html"> <link title="Ringbuffer" rel="Chapter" href="Ringbuffer.html"> <link title="Synth" rel="Chapter" href="Synth.html"> <link title="Video" rel="Chapter" href="Video.html"><title>Video</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> frame = <span class="constructor">Image</span>.<span class="constructor">RGBA32</span>.t<br> <span class="keyword">type</span> buffer = <span class="constructor">Video</span>.frame array<br> <span class="keyword">val</span> size : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer<br> <span class="keyword">val</span> make : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer<br> <span class="keyword">val</span> copy : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer<br> <span class="keyword">val</span> append : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer<br> <span class="keyword">val</span> blit : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_all : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> (<span class="constructor">Video</span>.frame <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> map_all : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> (<span class="constructor">Video</span>.frame <span class="keywordsign">-></span> <span class="constructor">Video</span>.frame) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> randomize : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> blank : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Ringbuffer_ext</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> elt = frame<br> <span class="keyword">type</span> buffer = elt array<br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> read_space : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> write_space : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> read_advance : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> write_advance : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> read : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> peek : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> write : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> transmit : t <span class="keywordsign">-></span> (buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Ringbuffer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> elt = frame<br> <span class="keyword">type</span> buffer = elt array<br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> read_space : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> write_space : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> read_advance : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> write_advance : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> read : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> peek : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> write : t <span class="keywordsign">-></span> buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> transmit : t <span class="keywordsign">-></span> (buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">FPS</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t = float <span class="keyword">val</span> to_frac : <span class="constructor">Video</span>.<span class="constructor">FPS</span>.t <span class="keywordsign">-></span> int * int <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">IO</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">exception</span> <span class="constructor">Invalid_file</span><br> <span class="keyword">module</span> <span class="constructor">Reader</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">class</span> <span class="keyword">type</span> t =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> close : unit<br> <span class="keyword">method</span> frame_rate : <span class="constructor">Video</span>.<span class="constructor">FPS</span>.t<br> <span class="keyword">method</span> height : int<br> <span class="keyword">method</span> read : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">method</span> width : int<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Writer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">class</span> <span class="keyword">type</span> t =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> close : unit<br> <span class="keyword">method</span> write : <span class="constructor">Video</span>.buffer <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">class</span> to_avi_file : string <span class="keywordsign">-></span> <span class="constructor">Video</span>.<span class="constructor">FPS</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> t<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>