<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 modules" rel=Appendix href="index_modules.html"> <link title="Gavl" rel="Chapter" href="Gavl.html"><title>Gavl</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Video</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">exception</span> <span class="constructor">Invalid_frame</span><br> <span class="keyword">exception</span> <span class="constructor">Invalid_conversion</span><br> <span class="keyword">exception</span> <span class="constructor">Not_implemented</span><br> <span class="keyword">type</span> interlace_mode = <span class="constructor">No_interlace</span> <span class="keywordsign">|</span> <span class="constructor">Top_first</span> <span class="keywordsign">|</span> <span class="constructor">Bottom_first</span> <span class="keywordsign">|</span> <span class="constructor">Mixed</span><br> <span class="keyword">type</span> pixel_format =<br> <span class="constructor">Gray_8</span><br> <span class="keywordsign">|</span> <span class="constructor">Gray_16</span><br> <span class="keywordsign">|</span> <span class="constructor">Gray_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Graya_16</span><br> <span class="keywordsign">|</span> <span class="constructor">Graya_32</span><br> <span class="keywordsign">|</span> <span class="constructor">Graya_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_15</span><br> <span class="keywordsign">|</span> <span class="constructor">Bgr_15</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_16</span><br> <span class="keywordsign">|</span> <span class="constructor">Bgr_16</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_24</span><br> <span class="keywordsign">|</span> <span class="constructor">Bgr_24</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_32</span><br> <span class="keywordsign">|</span> <span class="constructor">Bgr_32</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgba_32</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_48</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgba_64</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgb_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Rgba_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuy2</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuvy</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuva_32</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuva_64</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuva_float</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_420_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_422_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_444_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_411_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_410_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuvj_420_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuvj_422_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuvj_444_p</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_444_p_16</span><br> <span class="keywordsign">|</span> <span class="constructor">Yuv_422_p_16</span><br> <span class="keyword">type</span> framerate_mode = <span class="constructor">Constant</span> <span class="keywordsign">|</span> <span class="constructor">Variable</span> <span class="keywordsign">|</span> <span class="constructor">Still</span><br> <span class="keyword">type</span> chroma_placement = <span class="constructor">Default</span> <span class="keywordsign">|</span> <span class="constructor">Mpeg2</span> <span class="keywordsign">|</span> <span class="constructor">Dvpal</span><br> <span class="keyword">type</span> format = {<br> frame_width : int;<br> frame_height : int;<br> image_width : int;<br> image_height : int;<br> pixel_width : int;<br> pixel_height : int;<br> pixelformat : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.pixel_format;<br> frame_duration : int;<br> timescale : int;<br> framerate_mode : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.framerate_mode;<br> chroma_placement : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.chroma_placement;<br> interlace_mode : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.interlace_mode;<br> }<br> <span class="keyword">type</span> plane =<br> (int, <span class="constructor">Bigarray</span>.int8_unsigned_elt, <span class="constructor">Bigarray</span>.c_layout)<br> <span class="constructor">Bigarray</span>.<span class="constructor">Array1</span>.t<br> <span class="keyword">type</span> frame = {<br> planes : (<span class="constructor">Gavl</span>.<span class="constructor">Video</span>.plane * int) array;<br> timestamp : <span class="constructor">Int64</span>.t;<br> duration : <span class="constructor">Int64</span>.t;<br> frame_interlace_mode : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.interlace_mode;<br> }<br> <span class="keyword">val</span> new_frame : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.frame<br> <span class="keyword">val</span> clear_frame : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.frame <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create_converter :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t<br> <span class="keyword">val</span> init :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get_formats : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format * <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.format<br> <span class="keyword">val</span> get_quality : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> set_quality : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> int_rect = int * int * int * int<br> <span class="keyword">type</span> float_rect = float * float * float * float<br> <span class="keyword">val</span> get_rect :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.float_rect * <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.int_rect<br> <span class="keyword">val</span> set_rect :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.float_rect <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.int_rect <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> conversion_flags =<br> [ <span class="keywordsign">`</span><span class="constructor">Convolve_chroma</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Convolve_normalize</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Force_deinterlace</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Resample_chroma</span> ]<br> <span class="keyword">val</span> set_flags :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.conversion_flags list <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get_flags : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.conversion_flags list<br> <span class="keyword">type</span> scale_mode =<br> <span class="constructor">Auto</span><br> <span class="keywordsign">|</span> <span class="constructor">Nearest</span><br> <span class="keywordsign">|</span> <span class="constructor">Bilinear</span><br> <span class="keywordsign">|</span> <span class="constructor">Quadratic</span><br> <span class="keywordsign">|</span> <span class="constructor">Cubic_bspline</span><br> <span class="keywordsign">|</span> <span class="constructor">Cubic_mitchell</span><br> <span class="keywordsign">|</span> <span class="constructor">Cubic_catmull</span><br> <span class="keywordsign">|</span> <span class="constructor">Scale_sinc_lanczos</span><br> <span class="keyword">val</span> set_scale_mode : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.scale_mode <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get_scale_mode : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.scale_mode<br> <span class="keyword">val</span> reinit : <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> convert :<br> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.t <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.frame <span class="keywordsign">-></span> <span class="constructor">Gavl</span>.<span class="constructor">Video</span>.frame <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>