<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
    <docanchor file="index">why</docanchor>
    <docanchor file="index">intro</docanchor>
    <docanchor file="index">advantages</docanchor>
    <docanchor file="index">solution</docanchor>
    <docanchor file="index">problem</docanchor>
  </compound>
  <compound kind="file">
    <name>gavl.h</name>
    <path>/home/pix/Src/Gmerlin_svn/gavl/include/gavl/</path>
    <filename>gavl_8h</filename>
    <class kind="struct">gavl_audio_format_t</class>
    <class kind="union">gavl_audio_samples_t</class>
    <class kind="union">gavl_audio_channels_t</class>
    <class kind="struct">gavl_audio_frame_t</class>
    <class kind="struct">gavl_rectangle_i_t</class>
    <class kind="struct">gavl_rectangle_f_t</class>
    <class kind="struct">gavl_video_format_s</class>
    <class kind="struct">gavl_video_frame_t</class>
    <class kind="struct">gavl_overlay_t</class>
    <class kind="struct">gavl_frame_table_t</class>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_FASTEST</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>gacf1efacd8e4e2d1241c3ba3df389cf92</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_BEST</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>gaa1374661d3b1bb939b041e14f882301e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_DEFAULT</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>ga22322c311ee070e08412f6f705befe25</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_MMX</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga396b945ed3895dbf9c7e086c9769511b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_MMXEXT</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga6ff656ed250442d5e7ab15faaf8de449</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga8d2cb2b3327e4626d1a22f9b98e065ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE2</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga2ad2bb06c442d970febd989d5e9c434f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE3</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga1c811566a7a5b8611807782bf6f56fc5</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_3DNOW</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga1252e9a9b3b94299207643551e4e3a90</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_3DNOWEXT</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga10bf859545e33246acb2321c0e6d1eda</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSSE3</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga035e482e38fefb4e88a068698f5a4bbf</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_MAX_CHANNELS</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gadf04f3cec52fc5df08390e0feca392d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_COPY</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gac2f3980189b56280c4df7946e75da031</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_MUTE</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga98cc643204a882dac3b74748b799845f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_DIFF</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga718d9e0138f967665abac2f95bc78359</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_MASK</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gaf9cc032776f56df949476e79c85710b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_LEFT</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga3609388de4180bb572622980d7c7ebb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_RIGHT</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga89b4b04fad25b6f14f6418d1087f30e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_MIX</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gab07e520216622c2edd1df1c816fb1e71</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_MASK</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gaefe94992b7a5b98e38e95ca077f67c78</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_NORMALIZE_MIX_MATRIX</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gab594fc7fb1155a6785c44e79a6db7d35</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_MAX_PLANES</name>
      <anchorfile>group__video.html</anchorfile>
      <anchor>ga0bd744118eafc166feddd214c1dfae19</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_PLANAR</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga04b9a9a01c859eef903ad5c929b5a376</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_RGB</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaadfa65377172d2d7780888c1435996b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_YUV</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab68ea697e8c26f1ac9458ab7dfc5ac2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_YUVJ</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac9f6894e861877932a3d9e22de68f217</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_ALPHA</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0a439a4323f4f72a1306b4a45d527c4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_GRAY</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2198acc6ef5344d1a7c1a06703b7b465</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab202d0ec7abde22239f83d1b6cd6ebcf</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa4282924f2ee78d7315f506eb9fb9f6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2a58de9595570e3559119d781b084f11</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga93a7617611792823006645de5cf5260e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab0208787b206fe928c36c20ea42a6139</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaaba615be8b1eed3bf97bf4330f125845</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga8195086e330e9a2bad124f1fb2b6c780</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gae42c8d5ad82972f8c81dba01da22af45</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga033fa8cf38ee17c8787c43327369bfa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gafb7ba5af81a0eef371499a37a590b890</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga9bc6095a4f7bbbbe4b122dbe5665dac4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga32369e032b8cc4df10b42cfcdf2f846b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_gray</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaf44add25fc0d3beca7ca05180e5b42f9</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_rgb</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa817c92786c87106ffd6e5dc83c9559a</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_yuv</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga01053608fe3d999aa9ee5a1c9de92f52</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_jpeg_scaled</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga177fcadc2d94a2a5b44fef3df2551cec</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_has_alpha</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga05959f9b8dd7b5464b964bdfc50e0bf2</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_planar</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa9d242d428b8e06d245644ab5bb900a4</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_FORCE_DEINTERLACE</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga2337d9ab35e09d07f98a89e8d39c3162</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_CONVOLVE_CHROMA</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga3ffaa80353e73a53efabf1418d21173e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_CONVOLVE_NORMALIZE</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga6d497ee7ddec9ecb6e374d66bae61301</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_RESAMPLE_CHROMA</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>gaa631f11ef50dffe0dad7519ab9b4ba3e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_process_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga214f4d3f384aceaacc0f524b97948762</anchor>
      <arglist>)(void *data, int start, int end)</arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_run_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga3f117797321a32f0387d3325493f2ab7</anchor>
      <arglist>)(gavl_video_process_func func, void *gavl_data, int start, int end, void *client_data, int thread)</arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_stop_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga0f937de80423a659160cd991c63cd5ba</anchor>
      <arglist>)(void *client_data, int thread)</arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_format_s</type>
      <name>gavl_video_format_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0ffc9c60fb71a5fb835e453531fd442c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_audio_options_s</type>
      <name>gavl_audio_options_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga1667eb35773f94035acd0ba81cdada05</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_audio_converter_s</type>
      <name>gavl_audio_converter_t</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga709646455c9edc02c6af02fd72520a28</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_volume_control_s</type>
      <name>gavl_volume_control_t</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>gae8781d6999b54e43aaadce7276608094</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_peak_detector_s</type>
      <name>gavl_peak_detector_t</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga1974488d678c0e0f8fc55a5ecaa24e1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_options_s</type>
      <name>gavl_video_options_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga661526ac8e31c3a162f8607c2bcda6ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_converter_s</type>
      <name>gavl_video_converter_t</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>ga8608b4a917f962a192fbb4e7d1a180f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_scaler_s</type>
      <name>gavl_video_scaler_t</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga8b4210889926401c0af62a9c423e14ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_deinterlacer_s</type>
      <name>gavl_video_deinterlacer_t</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga7c2cc3f5fcc2266c5df7e34ab28596f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_overlay_blend_context_s</type>
      <name>gavl_overlay_blend_context_t</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gab03135cd919dbd7cfce24574ed5ff2c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_image_transform_s</type>
      <name>gavl_image_transform_t</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga3120d630e0d9e646dec2d0339cc4ea84</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_image_transform_func</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga552c34a8f2c3634c887b82ca983d09af</anchor>
      <arglist>)(void *priv, double xdst, double ydst, double *xsrc, double *ysrc)</arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_sample_format_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga08ca85571b963dca380529d3c64e8d04</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a5681e0131192ef4c5baf7aabfd53d470</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_U8</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a5a99cb841b307045c0a9f2c90ebdddc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S8</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a75aa6db07e83e2cb7ab52ebc8943ec9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_U16</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a8c81b8d4cdf85b942f9131b2c8cf04f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S16</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04aabaddf765acac09e8e104c0a1c0abfd3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S32</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04af51697b6266eea712dfa0fd884d956ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_FLOAT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a3edfde34e4bb95751ba81ee688c2c91a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_DOUBLE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04ab9aecd4dd6cacbbea7fc1170b065d53c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_interleave_mode_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga7ed6d11fe342b9d77d2252da737fe70c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70caa98036ec9c35e15773f7eee9cfb5c4a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_2</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70ca502a85cc59d5839c1935196cb0ebec8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_ALL</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70ca5af921652b91c139a5e107a01f43888e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_channel_id_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga0167e2e6a67aadb417ad7735ce85dc8c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca96f1678288e5e15465e83ca0b4ff5b8c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cafc8c33d89aae92eedd2a9cc6460496d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca5f3cbff9e18df5d430b794ad26a8ebe0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca0d09580f5510ec0384353b7927cdb5cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caa6178f1146615d4000d3cf48465ec54a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caf53beeb74f046a3d7fc9b00458065fd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca7481629b20d13bb3b7b199e12e7fb9d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caccfda1a5cafdc82d9d701c8eb2c6c42b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_CENTER</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cac527fed53e7225bcb00c92e3c9d71a8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_SIDE_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca8d304398b8347447c1277ea966722a74</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_SIDE_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca0abe864a9e34165cdb7c0720d126c706</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_LFE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cacbc8b1ee07f3315da917e0486b672ba7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_AUX</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cad31c6ef1ed7499a2856bb5b8c5df8524</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_audio_dither_mode_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga7675efc0dadfb0f13cd5def14d16eac3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_resample_mode_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga980691f2c8c3c77a45e959e433b80a1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_AUTO</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cac630f7dae0e307a333abd9f3feb84e35</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_ZOH</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1ca748c06882eb6da67afdf31688aae1b97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_LINEAR</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cab64c3b5e39489db00eeba97bc4c5b7c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_FAST</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cafd1a6035ae2efdcc6460fa49d20507c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_MEDIUM</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cacd97ff82e1fd6220cf7bb1c8689d2c7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_BEST</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1ca0e3af39db4a4f523aa4284806dfdf92f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_pixelformat_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaf1e060e38cb2d9e4e776f7eca3ec2d33</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_PIXELFORMAT_NONE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ac717f2fe9459d34033f9795a652786be</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a69f10c2c74f64f7bc5c6ddd5022bd1e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ae952bf31e83f79f856f6d7c6f068a9ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acdd40c6cc16c6f44b33e0f57e2e61219</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acb8992556bb1905eef5e5fdf856a4a28</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a27727603e024b74500919f9e3aa29081</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ab1bd641d1567206cfb405293ad8ed797</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_15</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33af56e3146de38129ab2a77d9c78b68597</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_15</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ab97b65c52e4f22512fc504c318d828f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a3b3ab22b714c2b2dbe8378ba6e665aed</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aec80b2d18ff47362cc27fcc37d14ad6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_24</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a8211bc654500aecfd275674f6221043f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_24</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a13a997c77aae8666186d41a4b81587fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a1e0326ee4c758091617b60989ca47b0c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33afed887430acaadf1f5ea53b816dfabd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33addf19307ad488270fa01958f81e49805</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_48</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a1a8169a0597e154a27eb24f2415b5286</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_64</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a84b98bc0e63c1695bc7c4d07d90ca2d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a5d444e80ac504e8ce319652f5fcfa50c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33afbfe8d7d8aa64729cf7c2a4a2ce9624e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUY2</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a8d27aaccb4602c8ec8676f9290a5dd5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_UYVY</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a3d4ff8ef4a77ed775628c32112aa6149</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a38f188147bf813acdbfd186a94b80ded</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_64</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33af07dec1edf32b16bd22f03a3b5eac0f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33adcc84a95ec748160fcb6b7a6a93a84a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aa29f4a91e89d701ca2e65a080fc3101a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_420_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a20f380c90a1540717452e3a793719b59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_422_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a104f0457d36f00af8a42fb8ea44a04ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_444_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a53d86fa6e94bb857879932823cd1b299</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_411_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acbc562d3d3dabe924be4cf0fda42608b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_410_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a19bb2c8eda0bfdda876921e0de0ae630</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_420_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a0e46c4cee26289eee8cc1feef2bcb544</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_422_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a6532ffb3fbf64ad20c866cbd9c794bad</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_444_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aa6bb415b453cdfb92c0b6b9cbb745f9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_444_P_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33abed85774258b87ba556036a39b67a98a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_422_P_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a41e6c2b3847dd8a9f18cc9af77064d04</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_color_channel_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac25e4e4e1a7bdc0160bf0e1d6910b87c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_RED</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca3c417d9a66b30aea8a7e2d70d4030237</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_GREEN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca935ecdaabed4463d03a233188c279013</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_BLUE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87caf34d3d1d6505a7753f2d02b334062cd9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_Y</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca2c1b2d1518c2f530407b99f7f829f724</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_CB</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87cacd98f6faa2dedd0c524a67dfe63c19f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_CR</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca688e2019c853dc04f1fc246c3d1f4bde</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_ALPHA</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca9e6559f4221ae2f66b499132cc32c6ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_chroma_placement_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga1e5257edc9b29af8eba05825db5a0906</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_DEFAULT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906ae18f2501f64f2d4ace44fc84d7c719f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_MPEG2</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906ad5180e13cd750c7b3618a785b4a87cf6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_DVPAL</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906a845aeec284544ec190abf0eeaac0e0be</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_framerate_mode_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga27bc061c95b4416a2ddd2cae2f8ee811</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_UNKNOWN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a300414b65b11483cf8838b38481e8ae9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_CONSTANT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a3b8019ccde52a3dc42b337bb21addad7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_VARIABLE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a72e7a1eec40615145fbc3ef25bdd026e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_STILL</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a45ddb770b81289188a660dee7d742fb0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_interlace_mode_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaabe1b351049ab5c62ff328c4e4258fae</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_UNKNOWN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeac5b2f83ecbbc20d76138c5dc0f22244c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_NONE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea75824d34edcb89aa3b6862ea70dc1f97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_TOP_FIRST</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeafe84e0cef3df2b894eca9474718a8b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_BOTTOM_FIRST</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeaac14ef96211f39740c21cfcf6a281483</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeacdfc8ca442527b5379a5623bbfb07b50</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED_TOP</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea73995c8c62d987619469f720980336cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED_BOTTOM</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea0164fdbfe0f0260313d5e27804748cc1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_alpha_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga84488233d92e9407be1596d15f6bfedf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_ALPHA_IGNORE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga84488233d92e9407be1596d15f6bfedfa5ef354544b4849ca240985f1c2f2b055</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_ALPHA_BLEND_COLOR</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga84488233d92e9407be1596d15f6bfedfaa7b1ee646d776c1effb5db1ab39745a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_deinterlace_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga498099f87328c97f303f538eb79eded9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9a3f9fa297598a227e7011325f0063409c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_COPY</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9ae1639123d6cfbf03b0a5d237ccaff2dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_SCALE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9a85b2118c04bb86c6b35f95ca793a3c9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_BLEND</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9ab6880fd729f85a010d4427d36f27af28</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_deinterlace_drop_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4e30253efec9dcbdac7f206bb9e1b7e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_DROP_TOP</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga4e30253efec9dcbdac7f206bb9e1b7e3a043a6bd2b00b5c633cbc765c65712eee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_DROP_BOTTOM</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga4e30253efec9dcbdac7f206bb9e1b7e3a469202613e52c6bc50a9fc2ead453262</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_scale_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac527f0b25df75c9dbfdbf25521d1729e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_AUTO</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea4b0b7d43baf67bf6989ae5192b26efea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_NEAREST</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea1f53f13c482c7da3d8c3218a7ff9faf2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_BILINEAR</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eaf73d0475a2b5cb521a76c5d6c70fc232</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_QUADRATIC</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eae67e61407a55aa628a4c03466331d92d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_BSPLINE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eaafcb74bc8e7e2e0c161af5d1312623c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_MITCHELL</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea269a9eb117090c4681bf75a2c8125e57</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_CATMULL</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea9741867d7bfc72473c7345e0b48a3a02</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_SINC_LANCZOS</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea6631cc5c2d05633678c6576d8e88017f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea0b6ec9f7bf8cab14160b8ca30c6e451c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_downscale_filter_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaebb5e94ebb997e67f45a872b5b0ff07c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_AUTO</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca398a9c0771a4624191e14b1eb449f98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca6d256fca4e4fae560b76737b091b30dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_WIDE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca9862e9d97c9c81e13ce9e7a8e55cb3c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_GAUSS</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07cafe9cbfc1e3678fa0bec3ad3738daf71d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_accel_supported</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga9ee7b6f97f38d7f77a03f8e3b8fc47f3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_sample_format_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gad9ea76294adc1d6735eff6ba1857191a</anchor>
      <arglist>(gavl_sample_format_t format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_sample_format_t</type>
      <name>gavl_string_to_sample_format</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga8067174ffec304b9bb7c74a009381ae4</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_num_sample_formats</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga7e5a70e2645a0b91ab0894428acb7897</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_sample_format_t</type>
      <name>gavl_get_sample_format</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga6eebc350f7d91bcd69ee700b610c2020</anchor>
      <arglist>(int index)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_channel_id_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga31e8418019af5bdeb9a73c876bac0e65</anchor>
      <arglist>(gavl_channel_id_t id)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_interleave_mode_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gabcb856be7fa689fd1c675dda81595113</anchor>
      <arglist>(gavl_interleave_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_format_dump</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gaa2d9ff1e5b43099590184144eeba95ab</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_channel_index</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga234f80024bfc5453d0524cc8de1516c8</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_channel_id_t id)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_front_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga815cb5429b6a814860119e5ef7c8deef</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rear_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gabb7b66e606066a3c302b063ab93afdb7</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_side_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga4130aff13ee9595d4c9a304e8b05adcd</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_aux_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gab146748fadfdc5e2a518a36988fb0eb3</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_lfe_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga502a73eef08caa003c29b962376301df</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_format_copy</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga161efe9868875d58827c93fa452db78d</anchor>
      <arglist>(gavl_audio_format_t *dst, const gavl_audio_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_formats_equal</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gadca0772d3ff0cfb5d325e0a67889cae6</anchor>
      <arglist>(const gavl_audio_format_t *format_1, const gavl_audio_format_t *format_2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_set_channel_setup</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga4afb1dc2219da8ee1a74d8024ab5fde8</anchor>
      <arglist>(gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_bytes_per_sample</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga89333e682b542c89bd936ad27dcc8227</anchor>
      <arglist>(gavl_sample_format_t format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_frame_t *</type>
      <name>gavl_audio_frame_create</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9a0679da671cfc38a1d1a8e39c404944</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_null</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga203183dff047b475214beceb43732d16</anchor>
      <arglist>(gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_destroy</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga194da819036369ca914a8479a70a4c09</anchor>
      <arglist>(gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga1b82e5d76caf45516d699bfec4ca7093</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute_samples</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga370d773027608de16a0e0a9f22d91f95</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format, int num_samples)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute_channel</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9b59575515b750736f40afe67c346b4b</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format, int channel)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frame_copy</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga57b5345d068cfbc38f08445ecd121437</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *dst, const gavl_audio_frame_t *src, int dst_pos, int src_pos, int dst_size, int src_size)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_copy_ptrs</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>gabfbae3990b162ad5fe36b3137633260e</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *dst, const gavl_audio_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_get_subframe</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga86c3f2bc3346e3f8031e030deaea8d8c</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *src, gavl_audio_frame_t *dst, int start, int len)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frames_equal</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>gabb58c41223763dbce3ad6e99396c1225</anchor>
      <arglist>(const gavl_audio_format_t *format, const gavl_audio_frame_t *f1, const gavl_audio_frame_t *f2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frame_plot</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9dfdb12d729cf26adf0c53b224191e4a</anchor>
      <arglist>(const gavl_audio_format_t *format, const gavl_audio_frame_t *frame, const char *name_base)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_quality</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gafa95f29c3f2a5bb75bf9c6693f96b8ea</anchor>
      <arglist>(gavl_audio_options_t *opt, int quality)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_options_get_quality</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga3df9fcad6203a59bceaa5794ab4a681d</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_dither_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga90ca06e9e71186501def737c9bc8aead</anchor>
      <arglist>(gavl_audio_options_t *opt, gavl_audio_dither_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_dither_mode_t</type>
      <name>gavl_audio_options_get_dither_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga51006fccdbe80bd4625f0179dc7bd86f</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_resample_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga19cb5d887992703cf237ede16e3f19d6</anchor>
      <arglist>(gavl_audio_options_t *opt, gavl_resample_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_resample_mode_t</type>
      <name>gavl_audio_options_get_resample_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga897e99f898c8712067a841b5ecfd0e3a</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_conversion_flags</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga817ed0e944d3fa4584d3185b4a7023b4</anchor>
      <arglist>(gavl_audio_options_t *opt, int flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_options_get_conversion_flags</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gaa5a958717b683f11090c79fe0ed11edb</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_defaults</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga86b295e9eab438f46d2c8b3547f4571c</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_mix_matrix</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga8b86d142de20ae4a7dda2d221604343c</anchor>
      <arglist>(gavl_audio_options_t *opt, const double **matrix)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const double **</type>
      <name>gavl_audio_options_get_mix_matrix</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga476fcaf23c89c45d9af3a47e138e2980</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_options_t *</type>
      <name>gavl_audio_options_create</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gaa0b881a1632ab23ef69ce032faddc3ee</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_copy</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga4a9c0451ef538655c6f3c32d4ba8ae35</anchor>
      <arglist>(gavl_audio_options_t *dst, const gavl_audio_options_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_destroy</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gab989761a491dab46a6bfb67ff6e32d4f</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_converter_t *</type>
      <name>gavl_audio_converter_create</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gacd99406f937e207aa9dda8a3c7feaf0b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_converter_destroy</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga456678a7ae39d257454677dc18299c53</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_options_t *</type>
      <name>gavl_audio_converter_get_options</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gad3bf181747fc38f33898ba97398e6978</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_init</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga993422a1776a20a3e0adf8134b1e5e54</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_format_t *input_format, const gavl_audio_format_t *output_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_init_resample</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gaa5ce31f55199cd7c5112a7f54a677bc7</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_reinit</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gada0b6d6325ab9cea2c28a812bfd2cc85</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_convert</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga9867369b63ae7d62843172a1577a13a8</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_frame_t *input_frame, gavl_audio_frame_t *output_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_set_resample_ratio</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gad48cb6703b3803805808a52684640da0</anchor>
      <arglist>(gavl_audio_converter_t *cnv, double ratio)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_converter_resample</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga3b4a73cf926b7ae878c10d53fa2c1af2</anchor>
      <arglist>(gavl_audio_converter_t *cnv, gavl_audio_frame_t *input_frame, gavl_audio_frame_t *output_frame, double ratio)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_volume_control_t *</type>
      <name>gavl_volume_control_create</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga25e0769a204694c823a5479f2523b22e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_destroy</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga78702c1703b4246993d2100f6bf1ba21</anchor>
      <arglist>(gavl_volume_control_t *ctrl)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_set_format</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>gad02d09ed3342b5aab75c1d96287e7907</anchor>
      <arglist>(gavl_volume_control_t *ctrl, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_set_volume</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga3de60cc1345fb95f4f262a1665b6360e</anchor>
      <arglist>(gavl_volume_control_t *ctrl, float volume)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_apply</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga3ebf8e61c37d0c4eb5510dbf23fc2826</anchor>
      <arglist>(gavl_volume_control_t *ctrl, gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_peak_detector_t *</type>
      <name>gavl_peak_detector_create</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gacfd0d1870f12dc9b2d498317f9487dd4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_destroy</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gaffc05b8a605cfab813bf368f27592bb3</anchor>
      <arglist>(gavl_peak_detector_t *pd)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_set_format</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga47d5a567add1e12fdb57e55053ce6ecc</anchor>
      <arglist>(gavl_peak_detector_t *pd, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_update</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga68a33fb2e39b014897bab9cbd6b97c1a</anchor>
      <arglist>(gavl_peak_detector_t *pd, gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_get_peak</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gab72a6993c866fe8fb2779604bc7a85e7</anchor>
      <arglist>(gavl_peak_detector_t *pd, double *min, double *max, double *abs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_get_peaks</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga325302b265f717795dc0ac32f7ce33d0</anchor>
      <arglist>(gavl_peak_detector_t *pd, double *min, double *max, double *abs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_reset</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga4de693cdd4743448c9d45e3a473ec956</anchor>
      <arglist>(gavl_peak_detector_t *pd)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga7ae156940f82f653e5c71c5aef6f0763</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gae22ac4088db0fcc4a5909a3e4b84fd1e</anchor>
      <arglist>(gavl_rectangle_f_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_crop_to_format_noscale</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga87d49b21d998f28329101e0307ca6a8d</anchor>
      <arglist>(gavl_rectangle_i_t *src_rect, gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_crop_to_format_scale</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1c3426ca2a490a47739aa742fb9542dc</anchor>
      <arglist>(gavl_rectangle_f_t *src_rect, gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_set_all</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga9648c59d66bd88a6b728571b73ba3b7c</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_set_all</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga98284d25f9c6fd98004f77e2fd4e6b2b</anchor>
      <arglist>(gavl_rectangle_f_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_left</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gae2cd9477cc1964f23b8c8edfd4f4a4af</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_right</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gaffc80d8450f2fea76234b557f0f09522</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_top</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga6a20ae617af2d13e5693794b5d8df752</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_bottom</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gaddc2ff155cf43424de2c14e43e297876</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_left</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1407bf537e1cff64ca3d0e6af95a866b</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_right</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga367a4290d4bc74bd9b926a607f2b7c46</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_top</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gabb55c7eb64f7107a9b058fa3d1241a29</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_bottom</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga0216cc66921a2af82753b9074da34778</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_align</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1b56abb2a5dcf55349b29dce2d9a5d18</anchor>
      <arglist>(gavl_rectangle_i_t *r, int h_align, int v_align)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_align_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gadde03e77061cc2f94d18cfc397367f72</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_copy</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga25f9c52b82011ab316cc4868e38ba89a</anchor>
      <arglist>(gavl_rectangle_i_t *dst, const gavl_rectangle_i_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_copy</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga9c074aec31efc6438c7fd2ee2a11bf25</anchor>
      <arglist>(gavl_rectangle_f_t *dst, const gavl_rectangle_f_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_to_f</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga95ed22f48ca35d9fdcb45d709dffb695</anchor>
      <arglist>(gavl_rectangle_f_t *dst, const gavl_rectangle_i_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_to_i</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gabb07ec1566fa9bb121b8c3600067753f</anchor>
      <arglist>(gavl_rectangle_i_t *dst, const gavl_rectangle_f_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rectangle_i_is_empty</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga0af13160abd736041d5b99427043b12a</anchor>
      <arglist>(const gavl_rectangle_i_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rectangle_f_is_empty</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga06733e84c28093743d961e95b71c8ecf</anchor>
      <arglist>(const gavl_rectangle_f_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_fit_aspect</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga8d88bf976c31e23e61cccf68c0b40bbe</anchor>
      <arglist>(gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_rectangle_f_t *src_rect, const gavl_video_format_t *dst_format, float zoom, float squeeze)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_dump</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga4f01062ce92f163eb465606dd7d30a69</anchor>
      <arglist>(const gavl_rectangle_i_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_dump</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gad6fe827b60f8f30ea67820fb86e4aa2f</anchor>
      <arglist>(const gavl_rectangle_f_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_num_planes</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gabc4c5fc3243dc698d12bcb7c3d514781</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_pixelformat_chroma_sub</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gafaed26a87cb8acf6c854e99a29f3b9c1</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, int *sub_h, int *sub_v)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bytes_per_component</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gade6e5f14ab00955ec4b7dc02875d3448</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bytes_per_pixel</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga1abe2490a266feab4a7a3819f7bb0884</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bits_per_pixel</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab36e3a7a3110eaa9d768344ed7af231c</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_conversion_penalty</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga112a800cc9c95e088f7fe499e165f907</anchor>
      <arglist>(gavl_pixelformat_t src, gavl_pixelformat_t dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_pixelformat_get_best</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gad57e1813e11be4c4aee7f542e1d638eb</anchor>
      <arglist>(gavl_pixelformat_t src, const gavl_pixelformat_t *dst_supported, int *penalty)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_pixelformat_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga7560314c4a1e12ad925c3bdf062e0b2e</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_string_to_pixelformat</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaabb3686c3275fe97f668804fb5a7e153</anchor>
      <arglist>(const char *name)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_num_pixelformats</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac4ef623576c6c429d4e9cc0789ef0549</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_get_pixelformat</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga66c7d0ad216425adf4f27a65b3e8e8be</anchor>
      <arglist>(int index)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_chroma_placement_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2258430d4307e686a3dc77e52deaf079</anchor>
      <arglist>(gavl_chroma_placement_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_framerate_mode_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0e05fb91c7798060d796ff65c5f129d9</anchor>
      <arglist>(gavl_framerate_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_interlace_mode_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga7baa4e63f5f4699ae11d659fa5f806fe</anchor>
      <arglist>(gavl_interlace_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_copy</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gad2d818069b8b8c1637df0cc1493ce535</anchor>
      <arglist>(gavl_video_format_t *dst, const gavl_video_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_formats_equal</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga35a05c81b67f1f54653c6b1a59da7e44</anchor>
      <arglist>(const gavl_video_format_t *format_1, const gavl_video_format_t *format_2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_get_chroma_offset</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga3c0440c17e56f3e4487628291ce65faa</anchor>
      <arglist>(const gavl_video_format_t *format, int field, int plane, float *off_x, float *off_y)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_fit_to_source</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gacb0b62690147675f68a4117fb404a6a6</anchor>
      <arglist>(gavl_video_format_t *dst, const gavl_video_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_format_get_image_size</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga666e64a92f431f7e65a68e5ca281df49</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_get_color_channel_format</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga21bc1aa42164f02929b8f51ba1d8195a</anchor>
      <arglist>(const gavl_video_format_t *frame_format, gavl_video_format_t *channel_format, gavl_color_channel_t ch)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_dump</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga50c31762b5ae3b4fbae13dc4605584bc</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_frame_t *</type>
      <name>gavl_video_frame_create</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaa160f237e5de21b74844405d044e4de7</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_frame_t *</type>
      <name>gavl_video_frame_create_nopad</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga2d15154526585f38553a11e2b5deb6db</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_destroy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga153d145b7b8a359aaab1c983b0b7c940</anchor>
      <arglist>(gavl_video_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_null</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gab8a7c4e8c36ffc01cbc3f57ddb72d350</anchor>
      <arglist>(gavl_video_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_clear</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gacededf455637fb4dab06a7064af03d43</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_fill</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga62a28d980d55b17290e17e837c00b382</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, const float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_absdiff</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga98e7749806212c86075e71807756cdd5</anchor>
      <arglist>(gavl_video_frame_t *dst, const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_psnr</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga9246fb3c029aa2926252e1156ca5f15b</anchor>
      <arglist>(double *psnr, const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_ssim</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaa0a9342160b9e500a1fe1f0a52d37895</anchor>
      <arglist>(const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, gavl_video_frame_t *dst, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga0e54b4b7c23372674854ec0579fcded2</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_plane</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga14f13242d881fbd89c5dcca2b4c41fcc</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src, int plane)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_x</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga1914890d2e61d8667934b34662aecc0f</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_y</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga7a24ad46c5d2c008824107d625f8b766</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_xy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga51a06bf52d312cdc1dbfe7e4a17483ac</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_metadata</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga5a0336411fc37fc016853b68d74aef4f</anchor>
      <arglist>(gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_get_subframe</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga427d06ec59aa8a00418faa426d5fbfc6</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, const gavl_video_frame_t *src, gavl_video_frame_t *dst, gavl_rectangle_i_t *src_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_get_field</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga8bfaf9a717383f9a1d494f4e0c06346d</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, const gavl_video_frame_t *src, gavl_video_frame_t *dst, int field)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_dump</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga6eb4ad1d3feb47cd148a1343ebe321fc</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, const char *namebase)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_set_strides</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga33f1528b2a6885fe5de6fd60289287a9</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_set_planes</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga50f291ee97ef492dbf46ab17e49ad92e</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, uint8_t *buffer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_extract_channel</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaacbbc8ab6bd8532f8e285153470554b6</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_color_channel_t ch, const gavl_video_frame_t *src, gavl_video_frame_t *dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_insert_channel</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga4700fc9e06cece057d1c8a9aa058c2f8</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_color_channel_t ch, const gavl_video_frame_t *src, gavl_video_frame_t *dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frames_equal</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gad8987beb284d530c246c153482b322ec</anchor>
      <arglist>(const gavl_video_format_t *format, const gavl_video_frame_t *f1, const gavl_video_frame_t *f2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_defaults</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac23a6387290cf6d486db69011e32dbdc</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_options_create</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga27837bfc6878cae6aef628f3030a4475</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_copy</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4b491a4a2b43905e133bbede472e823f</anchor>
      <arglist>(gavl_video_options_t *dst, const gavl_video_options_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_destroy</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga2e8b8e4ae425b057933775ab7902a8d3</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_rectangles</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga25da61ba427f6b6adb421ad856351881</anchor>
      <arglist>(gavl_video_options_t *opt, const gavl_rectangle_f_t *src_rect, const gavl_rectangle_i_t *dst_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_get_rectangles</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4b810cfbfbd98f630e25e66a179c8a16</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_rectangle_f_t *src_rect, gavl_rectangle_i_t *dst_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_quality</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga034a90fe29d5c699cfa245f9bb33983b</anchor>
      <arglist>(gavl_video_options_t *opt, int quality)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_quality</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga30375731b65265cb671b7bb1438d2fa2</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_conversion_flags</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac3ec270ab146f161cc43bd5cae90ecfc</anchor>
      <arglist>(gavl_video_options_t *opt, int conversion_flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_conversion_flags</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad6f90626bf1a86b1ec11bec0baa7eeff</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_alpha_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga0961198507410733f5f2dd3b16f8ef3a</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_alpha_mode_t alpha_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_alpha_mode_t</type>
      <name>gavl_video_options_get_alpha_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga6eb115f9ad5dd24fe34d4667539bc16d</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_scale_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga48a1e385dc969adb7ae7a559ff90eda5</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_scale_mode_t scale_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_scale_mode_t</type>
      <name>gavl_video_options_get_scale_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga78c5b45c26e407c025760143b211332c</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_scale_order</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gae3e332d8cf08395df2bcddeefb94cd51</anchor>
      <arglist>(gavl_video_options_t *opt, int order)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_scale_order</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad05038c0147dca13b844d859a08874bd</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_background_color</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga86322ead33fc9ffc481b73a9749a7966</anchor>
      <arglist>(gavl_video_options_t *opt, const float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_get_background_color</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga3bf1b99b2884ae687f3ef7e319be64db</anchor>
      <arglist>(gavl_video_options_t *opt, float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_deinterlace_mode</name>
      <anchorfile>gavl_8h.html</anchorfile>
      <anchor>ac98ce263b82ddd319a220adbfb24658a</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_deinterlace_mode_t deinterlace_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_deinterlace_mode_t</type>
      <name>gavl_video_options_get_deinterlace_mode</name>
      <anchorfile>gavl_8h.html</anchorfile>
      <anchor>ada7a991f88857ed2a8a001a5e927fa8e</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_deinterlace_drop_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga8d4b5149858214e6f857c56d04bc3458</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_deinterlace_drop_mode_t deinterlace_drop_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_deinterlace_drop_mode_t</type>
      <name>gavl_video_options_get_deinterlace_drop_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaac728276480c5d44e260208bd740b9d1</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_downscale_filter</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad4c3c3e62f317b42b7ac27978ee85120</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_downscale_filter_t f)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_downscale_filter_t</type>
      <name>gavl_video_options_get_downscale_filter</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga5ee0b552cc6ce31d0358d575323056b9</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_downscale_blur</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gacd01ddcc662b2f9f9c8a0b28eed364f6</anchor>
      <arglist>(gavl_video_options_t *opt, float f)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC float</type>
      <name>gavl_video_options_get_downscale_blur</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga9072500f822a1fbe67674ed805dfb2a6</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_num_threads</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga3cbcf9e6e2eb3779f02fe655bda08fcf</anchor>
      <arglist>(gavl_video_options_t *opt, int n)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_num_threads</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4a1f8ca50b4eef6c9b08c5ab7961d845</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_run_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga025eb6b2868d16343996d661b6ac1706</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_video_run_func func, void *client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_run_func</type>
      <name>gavl_video_options_get_run_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga7b47e528fe3eff115502a3fb8b7d46b5</anchor>
      <arglist>(gavl_video_options_t *opt, void **client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_stop_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaa82c8bce9206051694cf11fcb691e411</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_video_stop_func func, void *client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_stop_func</type>
      <name>gavl_video_options_get_stop_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gae5a29f1c48e88c0a3305b69d5a537062</anchor>
      <arglist>(gavl_video_options_t *opt, void **client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_converter_t *</type>
      <name>gavl_video_converter_create</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gac65bbe195bf92930e68d7d889ef4be87</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_converter_destroy</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gacd1f728055a582c57f8a45484da9366d</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_converter_get_options</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gae07e2d1a722b74152545176d24b3cbe7</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_converter_init</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>ga3fc45b6f66687029f4ad6b145d5c3326</anchor>
      <arglist>(gavl_video_converter_t *cnv, const gavl_video_format_t *input_format, const gavl_video_format_t *output_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_converter_reinit</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gabf283face818d6425b72cbfc888f1661</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_convert</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gab4d87d96d232ff18f667968edec146e6</anchor>
      <arglist>(gavl_video_converter_t *cnv, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_scaler_t *</type>
      <name>gavl_video_scaler_create</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga65a5adb9b0ec0c47177d858f4b9841a3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_scaler_destroy</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga4913e9fbbce90576e3f73e4b910bf74f</anchor>
      <arglist>(gavl_video_scaler_t *scaler)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_scaler_get_options</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga5630854ec9ee864186562ef9f69e864b</anchor>
      <arglist>(gavl_video_scaler_t *scaler)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_scaler_init</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga048d636f7fc6ca5afb522cffc1c57f11</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_scaler_init_convolve</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>gae0d9ec30ee5a353802baadacb027ec0a</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_format_t *format, int h_radius, const float *h_coeffs, int v_radius, const float *v_coeffs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_scaler_scale</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>gaac3cfffdb618b683fe36150beee810c5</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_deinterlacer_t *</type>
      <name>gavl_video_deinterlacer_create</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga4610459bb334e210f0bbf2e2e07e4221</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_deinterlacer_destroy</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga820c4520488a561df92280b6c584efe4</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_deinterlacer_get_options</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga0d553f6f321342e51ac113aec1a89ef3</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_deinterlacer_init</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga3c9b6b6a1a12483c00cd3e0be0ef6383</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer, const gavl_video_format_t *src_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_deinterlacer_deinterlace</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>gaa5b6186a7cd48941e8be88e84f727338</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_overlay_blend_context_t *</type>
      <name>gavl_overlay_blend_context_create</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga711ff6748a0d6916d876acdb01647c31</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend_context_destroy</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gadadf950d6e1279c3555d4249550d85a3</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_overlay_blend_context_get_options</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gaee93db1b692d9caba37cec3153e9c1ce</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_overlay_blend_context_init</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga9f94b2f7f888fc8066b2e4e2e2f73f5a</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, const gavl_video_format_t *frame_format, gavl_video_format_t *overlay_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend_context_set_overlay</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga6b9d4d35aa14e2312ab54c24bf43a607</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, gavl_overlay_t *ovl)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga00746f11bc191a0e8f0ed080fcecd3c1</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, gavl_video_frame_t *dst_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_image_transform_t *</type>
      <name>gavl_image_transform_create</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>gafbfafaba59871814fffd576c14182f63</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_image_transform_destroy</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga0951eeb569f7adebc2354336e54ca0c8</anchor>
      <arglist>(gavl_image_transform_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_image_transform_init</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga1750362e810cd5b9c1c7f896425ee3da</anchor>
      <arglist>(gavl_image_transform_t *t, gavl_video_format_t *format, gavl_image_transform_func func, void *priv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_image_transform_transform</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>gaaa9cc51e17e44df2aa690f809154efa4</anchor>
      <arglist>(gavl_image_transform_t *t, gavl_video_frame_t *in_frame, gavl_video_frame_t *out_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_image_transform_get_options</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga1e9c5da19cd723c731fb000e06c48413</anchor>
      <arglist>(gavl_image_transform_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gac265a8102f8c1cfd1a0a8e0d3cecd886</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create_audio</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gad45a0e09687b1f0e33266578b8858a71</anchor>
      <arglist>(int samplerate, int64_t offset, int64_t duration, gavl_timecode_format_t *fmt_ret)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create_cfr</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaaa2971ad8831bc68b144ef8259d6e9ca</anchor>
      <arglist>(int64_t offset, int64_t frame_duration, int64_t num_frames, gavl_timecode_t start_timecode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_copy</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga39e058c40317cf21f0573d4cc282f202</anchor>
      <arglist>(const gavl_frame_table_t *tab)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_destroy</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga7d49000351213b69385a85ab2c7d24a8</anchor>
      <arglist>(gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_append_entry</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaa3019fd2f14360c77724db64e6ea1500</anchor>
      <arglist>(gavl_frame_table_t *t, int64_t duration)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_append_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaca3eb0d8345f72af6e4966d12744388d</anchor>
      <arglist>(gavl_frame_table_t *t, int64_t pts, gavl_timecode_t tc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_frame_to_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga2cf755e56e4b50f0d3cc12db088aeca6</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t frame, int *duration)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_time_to_frame</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga623a74c4ff943db7f1157d845c64beb0</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t time, int64_t *start_time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timecode_t</type>
      <name>gavl_frame_table_time_to_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga6069fd13db8bcb703d22827517c12b22</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t time, int64_t *start_time, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_timecode_to_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gafba6d572126c3b946c96944a9824e401</anchor>
      <arglist>(const gavl_frame_table_t *t, gavl_timecode_t tc, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timecode_t</type>
      <name>gavl_frame_table_frame_to_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga44b9d9c826a39027327d3347011aadb3</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t frame, int64_t *start_time, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_num_frames</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga86b09c9a3a0537d3cbf31b33abe5beee</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_duration</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga7bc7232a41f14c82d1af0c00cb4fe8bb</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_end_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga190ee3adfd6f512f11ef6c1f609443a0</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_frame_table_save</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga15211644be347e181d22929e79ca6dbe</anchor>
      <arglist>(const gavl_frame_table_t *t, const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_load</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gab3603f0d360e636cdd502dc8420bc9da</anchor>
      <arglist>(const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_dump</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga593f1f9fe0089c5ce01f2fa3b6091110</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>timecode</name>
    <title>Timecodes</title>
    <filename>group__timecode.html</filename>
    <class kind="struct">gavl_timecode_format_t</class>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_SIGN_MASK</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga725785acdd94b530c6bdc0017d92d32a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_INVALID_MASK</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gaf7d327b1069bfafdb6f64e3f2eded1e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_DROP_FRAME</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gadb132f471c755cdf8d479f549ff9b446</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_UNDEFINED</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga1102fb210b8180cdc82c66204845cff2</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_STRING_LEN</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gaf71e35da45bfb1b008fa4394c533b34c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIMECODE_STRING_LEN_SHORT</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gabff9793d5841d2ec4f93ee09fc0fe0e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>uint64_t</type>
      <name>gavl_timecode_t</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga534f23baf96ee5cdabd99f1619672452</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_format_copy</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga46ed47cec1464129b475c2f088721ea0</anchor>
      <arglist>(gavl_timecode_format_t *dst, const gavl_timecode_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_to_hmsf</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga5ff8de60cb7d70e78da25274e4213994</anchor>
      <arglist>(gavl_timecode_t tc, int *hours, int *minutes, int *seconds, int *frames)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_to_ymd</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gaf35480216a11bdc61c9451c9ccbd5b32</anchor>
      <arglist>(gavl_timecode_t tc, int *year, int *month, int *day)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_from_hmsf</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga61174a979942cd0abb81a8bc8616e434</anchor>
      <arglist>(gavl_timecode_t *tc, int hours, int minutes, int seconds, int frames)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_from_ymd</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga69fb314b0066db8309028209c2f824e1</anchor>
      <arglist>(gavl_timecode_t *tc, int year, int month, int day)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_timecode_to_framecount</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga77d037723b25d83edec5440050303da6</anchor>
      <arglist>(const gavl_timecode_format_t *tf, gavl_timecode_t tc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timecode_t</type>
      <name>gavl_timecode_from_framecount</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga4273b9445f199fb2a060dcfcd80a9ba4</anchor>
      <arglist>(const gavl_timecode_format_t *tf, int64_t fc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_dump</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga9a647e905b904f3998deea6eb4532c25</anchor>
      <arglist>(const gavl_timecode_format_t *tf, gavl_timecode_t tc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_prettyprint</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>gabc6960288725d242c166623f491de9fa</anchor>
      <arglist>(const gavl_timecode_format_t *tf, gavl_timecode_t tc, char str[GAVL_TIMECODE_STRING_LEN])</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timecode_prettyprint_short</name>
      <anchorfile>group__timecode.html</anchorfile>
      <anchor>ga0bfd79167ca0f9849b82d020f1d3cc75</anchor>
      <arglist>(gavl_timecode_t tc, char str[GAVL_TIMECODE_STRING_LEN_SHORT])</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>mt</name>
    <title>Multithreading</title>
    <filename>group__mt.html</filename>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_process_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga214f4d3f384aceaacc0f524b97948762</anchor>
      <arglist>)(void *data, int start, int end)</arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_run_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga3f117797321a32f0387d3325493f2ab7</anchor>
      <arglist>)(gavl_video_process_func func, void *gavl_data, int start, int end, void *client_data, int thread)</arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_video_stop_func</name>
      <anchorfile>group__mt.html</anchorfile>
      <anchor>ga0f937de80423a659160cd991c63cd5ba</anchor>
      <arglist>)(void *client_data, int thread)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>quality</name>
    <title>Quality settings</title>
    <filename>group__quality.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_FASTEST</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>gacf1efacd8e4e2d1241c3ba3df389cf92</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_BEST</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>gaa1374661d3b1bb939b041e14f882301e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_QUALITY_DEFAULT</name>
      <anchorfile>group__quality.html</anchorfile>
      <anchor>ga22322c311ee070e08412f6f705befe25</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>accel_flags</name>
    <title>Acceleration flags</title>
    <filename>group__accel__flags.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_MMX</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga396b945ed3895dbf9c7e086c9769511b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_MMXEXT</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga6ff656ed250442d5e7ab15faaf8de449</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga8d2cb2b3327e4626d1a22f9b98e065ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE2</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga2ad2bb06c442d970febd989d5e9c434f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSE3</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga1c811566a7a5b8611807782bf6f56fc5</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_3DNOW</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga1252e9a9b3b94299207643551e4e3a90</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_3DNOWEXT</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga10bf859545e33246acb2321c0e6d1eda</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_ACCEL_SSSE3</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga035e482e38fefb4e88a068698f5a4bbf</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_accel_supported</name>
      <anchorfile>group__accel__flags.html</anchorfile>
      <anchor>ga9ee7b6f97f38d7f77a03f8e3b8fc47f3</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>audio</name>
    <title>Audio</title>
    <filename>group__audio.html</filename>
    <subgroup>audio_format</subgroup>
    <subgroup>audio_frame</subgroup>
    <subgroup>audio_options</subgroup>
    <subgroup>audio_converter</subgroup>
    <subgroup>volume_control</subgroup>
    <subgroup>peak_detection</subgroup>
  </compound>
  <compound kind="group">
    <name>audio_format</name>
    <title>Audio format definitions</title>
    <filename>group__audio__format.html</filename>
    <class kind="struct">gavl_audio_format_t</class>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_MAX_CHANNELS</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gadf04f3cec52fc5df08390e0feca392d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_sample_format_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga08ca85571b963dca380529d3c64e8d04</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a5681e0131192ef4c5baf7aabfd53d470</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_U8</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a5a99cb841b307045c0a9f2c90ebdddc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S8</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a75aa6db07e83e2cb7ab52ebc8943ec9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_U16</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a8c81b8d4cdf85b942f9131b2c8cf04f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S16</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04aabaddf765acac09e8e104c0a1c0abfd3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_S32</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04af51697b6266eea712dfa0fd884d956ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_FLOAT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04a3edfde34e4bb95751ba81ee688c2c91a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SAMPLE_DOUBLE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga08ca85571b963dca380529d3c64e8d04ab9aecd4dd6cacbbea7fc1170b065d53c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_interleave_mode_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga7ed6d11fe342b9d77d2252da737fe70c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70caa98036ec9c35e15773f7eee9cfb5c4a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_2</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70ca502a85cc59d5839c1935196cb0ebec8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLEAVE_ALL</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga7ed6d11fe342b9d77d2252da737fe70ca5af921652b91c139a5e107a01f43888e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_channel_id_t</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga0167e2e6a67aadb417ad7735ce85dc8c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_NONE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca96f1678288e5e15465e83ca0b4ff5b8c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cafc8c33d89aae92eedd2a9cc6460496d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca5f3cbff9e18df5d430b794ad26a8ebe0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca0d09580f5510ec0384353b7927cdb5cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caa6178f1146615d4000d3cf48465ec54a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_FRONT_CENTER_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caf53beeb74f046a3d7fc9b00458065fd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca7481629b20d13bb3b7b199e12e7fb9d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8caccfda1a5cafdc82d9d701c8eb2c6c42b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_REAR_CENTER</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cac527fed53e7225bcb00c92e3c9d71a8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_SIDE_LEFT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca8d304398b8347447c1277ea966722a74</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_SIDE_RIGHT</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8ca0abe864a9e34165cdb7c0720d126c706</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_LFE</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cacbc8b1ee07f3315da917e0486b672ba7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHID_AUX</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gga0167e2e6a67aadb417ad7735ce85dc8cad31c6ef1ed7499a2856bb5b8c5df8524</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_sample_format_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gad9ea76294adc1d6735eff6ba1857191a</anchor>
      <arglist>(gavl_sample_format_t format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_sample_format_t</type>
      <name>gavl_string_to_sample_format</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga8067174ffec304b9bb7c74a009381ae4</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_num_sample_formats</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga7e5a70e2645a0b91ab0894428acb7897</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_sample_format_t</type>
      <name>gavl_get_sample_format</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga6eebc350f7d91bcd69ee700b610c2020</anchor>
      <arglist>(int index)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_channel_id_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga31e8418019af5bdeb9a73c876bac0e65</anchor>
      <arglist>(gavl_channel_id_t id)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_interleave_mode_to_string</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gabcb856be7fa689fd1c675dda81595113</anchor>
      <arglist>(gavl_interleave_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_format_dump</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gaa2d9ff1e5b43099590184144eeba95ab</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_channel_index</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga234f80024bfc5453d0524cc8de1516c8</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_channel_id_t id)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_front_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga815cb5429b6a814860119e5ef7c8deef</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rear_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gabb7b66e606066a3c302b063ab93afdb7</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_side_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga4130aff13ee9595d4c9a304e8b05adcd</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_aux_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gab146748fadfdc5e2a518a36988fb0eb3</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_lfe_channels</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga502a73eef08caa003c29b962376301df</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_format_copy</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga161efe9868875d58827c93fa452db78d</anchor>
      <arglist>(gavl_audio_format_t *dst, const gavl_audio_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_formats_equal</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>gadca0772d3ff0cfb5d325e0a67889cae6</anchor>
      <arglist>(const gavl_audio_format_t *format_1, const gavl_audio_format_t *format_2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_set_channel_setup</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga4afb1dc2219da8ee1a74d8024ab5fde8</anchor>
      <arglist>(gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_bytes_per_sample</name>
      <anchorfile>group__audio__format.html</anchorfile>
      <anchor>ga89333e682b542c89bd936ad27dcc8227</anchor>
      <arglist>(gavl_sample_format_t format)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>audio_frame</name>
    <title>Audio frame</title>
    <filename>group__audio__frame.html</filename>
    <class kind="union">gavl_audio_samples_t</class>
    <class kind="union">gavl_audio_channels_t</class>
    <class kind="struct">gavl_audio_frame_t</class>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_frame_t *</type>
      <name>gavl_audio_frame_create</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9a0679da671cfc38a1d1a8e39c404944</anchor>
      <arglist>(const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_null</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga203183dff047b475214beceb43732d16</anchor>
      <arglist>(gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_destroy</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga194da819036369ca914a8479a70a4c09</anchor>
      <arglist>(gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga1b82e5d76caf45516d699bfec4ca7093</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute_samples</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga370d773027608de16a0e0a9f22d91f95</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format, int num_samples)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_mute_channel</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9b59575515b750736f40afe67c346b4b</anchor>
      <arglist>(gavl_audio_frame_t *frame, const gavl_audio_format_t *format, int channel)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frame_copy</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga57b5345d068cfbc38f08445ecd121437</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *dst, const gavl_audio_frame_t *src, int dst_pos, int src_pos, int dst_size, int src_size)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_copy_ptrs</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>gabfbae3990b162ad5fe36b3137633260e</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *dst, const gavl_audio_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_frame_get_subframe</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga86c3f2bc3346e3f8031e030deaea8d8c</anchor>
      <arglist>(const gavl_audio_format_t *format, gavl_audio_frame_t *src, gavl_audio_frame_t *dst, int start, int len)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frames_equal</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>gabb58c41223763dbce3ad6e99396c1225</anchor>
      <arglist>(const gavl_audio_format_t *format, const gavl_audio_frame_t *f1, const gavl_audio_frame_t *f2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_frame_plot</name>
      <anchorfile>group__audio__frame.html</anchorfile>
      <anchor>ga9dfdb12d729cf26adf0c53b224191e4a</anchor>
      <arglist>(const gavl_audio_format_t *format, const gavl_audio_frame_t *frame, const char *name_base)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>audio_options</name>
    <title>Audio conversion options</title>
    <filename>group__audio__options.html</filename>
    <subgroup>audio_conversion_flags</subgroup>
    <member kind="typedef">
      <type>struct gavl_audio_options_s</type>
      <name>gavl_audio_options_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga1667eb35773f94035acd0ba81cdada05</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_audio_dither_mode_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga7675efc0dadfb0f13cd5def14d16eac3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_resample_mode_t</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga980691f2c8c3c77a45e959e433b80a1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_AUTO</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cac630f7dae0e307a333abd9f3feb84e35</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_ZOH</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1ca748c06882eb6da67afdf31688aae1b97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_LINEAR</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cab64c3b5e39489db00eeba97bc4c5b7c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_FAST</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cafd1a6035ae2efdcc6460fa49d20507c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_MEDIUM</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1cacd97ff82e1fd6220cf7bb1c8689d2c7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RESAMPLE_SINC_BEST</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gga980691f2c8c3c77a45e959e433b80a1ca0e3af39db4a4f523aa4284806dfdf92f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_quality</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gafa95f29c3f2a5bb75bf9c6693f96b8ea</anchor>
      <arglist>(gavl_audio_options_t *opt, int quality)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_options_get_quality</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga3df9fcad6203a59bceaa5794ab4a681d</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_dither_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga90ca06e9e71186501def737c9bc8aead</anchor>
      <arglist>(gavl_audio_options_t *opt, gavl_audio_dither_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_dither_mode_t</type>
      <name>gavl_audio_options_get_dither_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga51006fccdbe80bd4625f0179dc7bd86f</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_resample_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga19cb5d887992703cf237ede16e3f19d6</anchor>
      <arglist>(gavl_audio_options_t *opt, gavl_resample_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_resample_mode_t</type>
      <name>gavl_audio_options_get_resample_mode</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga897e99f898c8712067a841b5ecfd0e3a</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_conversion_flags</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga817ed0e944d3fa4584d3185b4a7023b4</anchor>
      <arglist>(gavl_audio_options_t *opt, int flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_options_get_conversion_flags</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gaa5a958717b683f11090c79fe0ed11edb</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_defaults</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga86b295e9eab438f46d2c8b3547f4571c</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_set_mix_matrix</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga8b86d142de20ae4a7dda2d221604343c</anchor>
      <arglist>(gavl_audio_options_t *opt, const double **matrix)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const double **</type>
      <name>gavl_audio_options_get_mix_matrix</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga476fcaf23c89c45d9af3a47e138e2980</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_options_t *</type>
      <name>gavl_audio_options_create</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gaa0b881a1632ab23ef69ce032faddc3ee</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_copy</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>ga4a9c0451ef538655c6f3c32d4ba8ae35</anchor>
      <arglist>(gavl_audio_options_t *dst, const gavl_audio_options_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_options_destroy</name>
      <anchorfile>group__audio__options.html</anchorfile>
      <anchor>gab989761a491dab46a6bfb67ff6e32d4f</anchor>
      <arglist>(gavl_audio_options_t *opt)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>audio_conversion_flags</name>
    <title>Audio conversion flags</title>
    <filename>group__audio__conversion__flags.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_COPY</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gac2f3980189b56280c4df7946e75da031</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_MUTE</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga98cc643204a882dac3b74748b799845f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_DIFF</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga718d9e0138f967665abac2f95bc78359</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_FRONT_TO_REAR_MASK</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gaf9cc032776f56df949476e79c85710b2</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_LEFT</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga3609388de4180bb572622980d7c7ebb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_RIGHT</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>ga89b4b04fad25b6f14f6418d1087f30e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_MIX</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gab07e520216622c2edd1df1c816fb1e71</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_STEREO_TO_MONO_MASK</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gaefe94992b7a5b98e38e95ca077f67c78</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_AUDIO_NORMALIZE_MIX_MATRIX</name>
      <anchorfile>group__audio__conversion__flags.html</anchorfile>
      <anchor>gab594fc7fb1155a6785c44e79a6db7d35</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>audio_converter</name>
    <title>Audio converter</title>
    <filename>group__audio__converter.html</filename>
    <member kind="typedef">
      <type>struct gavl_audio_converter_s</type>
      <name>gavl_audio_converter_t</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga709646455c9edc02c6af02fd72520a28</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_converter_t *</type>
      <name>gavl_audio_converter_create</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gacd99406f937e207aa9dda8a3c7feaf0b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_converter_destroy</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga456678a7ae39d257454677dc18299c53</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_audio_options_t *</type>
      <name>gavl_audio_converter_get_options</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gad3bf181747fc38f33898ba97398e6978</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_init</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga993422a1776a20a3e0adf8134b1e5e54</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_format_t *input_format, const gavl_audio_format_t *output_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_init_resample</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gaa5ce31f55199cd7c5112a7f54a677bc7</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_reinit</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gada0b6d6325ab9cea2c28a812bfd2cc85</anchor>
      <arglist>(gavl_audio_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_convert</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga9867369b63ae7d62843172a1577a13a8</anchor>
      <arglist>(gavl_audio_converter_t *cnv, const gavl_audio_frame_t *input_frame, gavl_audio_frame_t *output_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_audio_converter_set_resample_ratio</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>gad48cb6703b3803805808a52684640da0</anchor>
      <arglist>(gavl_audio_converter_t *cnv, double ratio)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_audio_converter_resample</name>
      <anchorfile>group__audio__converter.html</anchorfile>
      <anchor>ga3b4a73cf926b7ae878c10d53fa2c1af2</anchor>
      <arglist>(gavl_audio_converter_t *cnv, gavl_audio_frame_t *input_frame, gavl_audio_frame_t *output_frame, double ratio)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>volume_control</name>
    <title>Volume control</title>
    <filename>group__volume__control.html</filename>
    <member kind="typedef">
      <type>struct gavl_volume_control_s</type>
      <name>gavl_volume_control_t</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>gae8781d6999b54e43aaadce7276608094</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_volume_control_t *</type>
      <name>gavl_volume_control_create</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga25e0769a204694c823a5479f2523b22e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_destroy</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga78702c1703b4246993d2100f6bf1ba21</anchor>
      <arglist>(gavl_volume_control_t *ctrl)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_set_format</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>gad02d09ed3342b5aab75c1d96287e7907</anchor>
      <arglist>(gavl_volume_control_t *ctrl, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_set_volume</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga3de60cc1345fb95f4f262a1665b6360e</anchor>
      <arglist>(gavl_volume_control_t *ctrl, float volume)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_volume_control_apply</name>
      <anchorfile>group__volume__control.html</anchorfile>
      <anchor>ga3ebf8e61c37d0c4eb5510dbf23fc2826</anchor>
      <arglist>(gavl_volume_control_t *ctrl, gavl_audio_frame_t *frame)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>peak_detection</name>
    <title>Peak detector</title>
    <filename>group__peak__detection.html</filename>
    <member kind="typedef">
      <type>struct gavl_peak_detector_s</type>
      <name>gavl_peak_detector_t</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga1974488d678c0e0f8fc55a5ecaa24e1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_peak_detector_t *</type>
      <name>gavl_peak_detector_create</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gacfd0d1870f12dc9b2d498317f9487dd4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_destroy</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gaffc05b8a605cfab813bf368f27592bb3</anchor>
      <arglist>(gavl_peak_detector_t *pd)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_set_format</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga47d5a567add1e12fdb57e55053ce6ecc</anchor>
      <arglist>(gavl_peak_detector_t *pd, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_update</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga68a33fb2e39b014897bab9cbd6b97c1a</anchor>
      <arglist>(gavl_peak_detector_t *pd, gavl_audio_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_get_peak</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>gab72a6993c866fe8fb2779604bc7a85e7</anchor>
      <arglist>(gavl_peak_detector_t *pd, double *min, double *max, double *abs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_get_peaks</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga325302b265f717795dc0ac32f7ce33d0</anchor>
      <arglist>(gavl_peak_detector_t *pd, double *min, double *max, double *abs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_peak_detector_reset</name>
      <anchorfile>group__peak__detection.html</anchorfile>
      <anchor>ga4de693cdd4743448c9d45e3a473ec956</anchor>
      <arglist>(gavl_peak_detector_t *pd)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video</name>
    <title>Video</title>
    <filename>group__video.html</filename>
    <subgroup>rectangle</subgroup>
    <subgroup>video_format</subgroup>
    <subgroup>video_frame</subgroup>
    <subgroup>video_options</subgroup>
    <subgroup>video_converter</subgroup>
    <subgroup>video_scaler</subgroup>
    <subgroup>video_deinterlacer</subgroup>
    <subgroup>video_blend</subgroup>
    <subgroup>video_transform</subgroup>
    <subgroup>frame_table</subgroup>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_MAX_PLANES</name>
      <anchorfile>group__video.html</anchorfile>
      <anchor>ga0bd744118eafc166feddd214c1dfae19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>rectangle</name>
    <title>Rectangles</title>
    <filename>group__rectangle.html</filename>
    <class kind="struct">gavl_rectangle_i_t</class>
    <class kind="struct">gavl_rectangle_f_t</class>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga7ae156940f82f653e5c71c5aef6f0763</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gae22ac4088db0fcc4a5909a3e4b84fd1e</anchor>
      <arglist>(gavl_rectangle_f_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_crop_to_format_noscale</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga87d49b21d998f28329101e0307ca6a8d</anchor>
      <arglist>(gavl_rectangle_i_t *src_rect, gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_crop_to_format_scale</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1c3426ca2a490a47739aa742fb9542dc</anchor>
      <arglist>(gavl_rectangle_f_t *src_rect, gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_set_all</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga9648c59d66bd88a6b728571b73ba3b7c</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_set_all</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga98284d25f9c6fd98004f77e2fd4e6b2b</anchor>
      <arglist>(gavl_rectangle_f_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_left</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gae2cd9477cc1964f23b8c8edfd4f4a4af</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_right</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gaffc80d8450f2fea76234b557f0f09522</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_top</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga6a20ae617af2d13e5693794b5d8df752</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_crop_bottom</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gaddc2ff155cf43424de2c14e43e297876</anchor>
      <arglist>(gavl_rectangle_i_t *r, int num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_left</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1407bf537e1cff64ca3d0e6af95a866b</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_right</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga367a4290d4bc74bd9b926a607f2b7c46</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_top</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gabb55c7eb64f7107a9b058fa3d1241a29</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_crop_bottom</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga0216cc66921a2af82753b9074da34778</anchor>
      <arglist>(gavl_rectangle_f_t *r, double num_pixels)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_align</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga1b56abb2a5dcf55349b29dce2d9a5d18</anchor>
      <arglist>(gavl_rectangle_i_t *r, int h_align, int v_align)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_align_to_format</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gadde03e77061cc2f94d18cfc397367f72</anchor>
      <arglist>(gavl_rectangle_i_t *r, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_copy</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga25f9c52b82011ab316cc4868e38ba89a</anchor>
      <arglist>(gavl_rectangle_i_t *dst, const gavl_rectangle_i_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_copy</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga9c074aec31efc6438c7fd2ee2a11bf25</anchor>
      <arglist>(gavl_rectangle_f_t *dst, const gavl_rectangle_f_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_to_f</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga95ed22f48ca35d9fdcb45d709dffb695</anchor>
      <arglist>(gavl_rectangle_f_t *dst, const gavl_rectangle_i_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_to_i</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gabb07ec1566fa9bb121b8c3600067753f</anchor>
      <arglist>(gavl_rectangle_i_t *dst, const gavl_rectangle_f_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rectangle_i_is_empty</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga0af13160abd736041d5b99427043b12a</anchor>
      <arglist>(const gavl_rectangle_i_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_rectangle_f_is_empty</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga06733e84c28093743d961e95b71c8ecf</anchor>
      <arglist>(const gavl_rectangle_f_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_fit_aspect</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga8d88bf976c31e23e61cccf68c0b40bbe</anchor>
      <arglist>(gavl_rectangle_i_t *dst_rect, const gavl_video_format_t *src_format, const gavl_rectangle_f_t *src_rect, const gavl_video_format_t *dst_format, float zoom, float squeeze)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_i_dump</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>ga4f01062ce92f163eb465606dd7d30a69</anchor>
      <arglist>(const gavl_rectangle_i_t *r)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_rectangle_f_dump</name>
      <anchorfile>group__rectangle.html</anchorfile>
      <anchor>gad6fe827b60f8f30ea67820fb86e4aa2f</anchor>
      <arglist>(const gavl_rectangle_f_t *r)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_format</name>
    <title>Video format definitions</title>
    <filename>group__video__format.html</filename>
    <class kind="struct">gavl_video_format_s</class>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_PLANAR</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga04b9a9a01c859eef903ad5c929b5a376</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_RGB</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaadfa65377172d2d7780888c1435996b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_YUV</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab68ea697e8c26f1ac9458ab7dfc5ac2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_YUVJ</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac9f6894e861877932a3d9e22de68f217</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_ALPHA</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0a439a4323f4f72a1306b4a45d527c4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXFMT_GRAY</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2198acc6ef5344d1a7c1a06703b7b465</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab202d0ec7abde22239f83d1b6cd6ebcf</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa4282924f2ee78d7315f506eb9fb9f6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2a58de9595570e3559119d781b084f11</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga93a7617611792823006645de5cf5260e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab0208787b206fe928c36c20ea42a6139</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaaba615be8b1eed3bf97bf4330f125845</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga8195086e330e9a2bad124f1fb2b6c780</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gae42c8d5ad82972f8c81dba01da22af45</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_1D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga033fa8cf38ee17c8787c43327369bfa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_2D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gafb7ba5af81a0eef371499a37a590b890</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_3D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga9bc6095a4f7bbbbe4b122dbe5665dac4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PIXELFORMAT_4D_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga32369e032b8cc4df10b42cfcdf2f846b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_gray</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaf44add25fc0d3beca7ca05180e5b42f9</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_rgb</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa817c92786c87106ffd6e5dc83c9559a</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_yuv</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga01053608fe3d999aa9ee5a1c9de92f52</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_jpeg_scaled</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga177fcadc2d94a2a5b44fef3df2551cec</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_has_alpha</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga05959f9b8dd7b5464b964bdfc50e0bf2</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_pixelformat_is_planar</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaa9d242d428b8e06d245644ab5bb900a4</anchor>
      <arglist>(fmt)</arglist>
    </member>
    <member kind="typedef">
      <type>struct gavl_video_format_s</type>
      <name>gavl_video_format_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0ffc9c60fb71a5fb835e453531fd442c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_pixelformat_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaf1e060e38cb2d9e4e776f7eca3ec2d33</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_PIXELFORMAT_NONE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ac717f2fe9459d34033f9795a652786be</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_8</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a69f10c2c74f64f7bc5c6ddd5022bd1e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ae952bf31e83f79f856f6d7c6f068a9ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAY_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acdd40c6cc16c6f44b33e0f57e2e61219</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acb8992556bb1905eef5e5fdf856a4a28</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a27727603e024b74500919f9e3aa29081</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_GRAYA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ab1bd641d1567206cfb405293ad8ed797</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_15</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33af56e3146de38129ab2a77d9c78b68597</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_15</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33ab97b65c52e4f22512fc504c318d828f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a3b3ab22b714c2b2dbe8378ba6e665aed</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aec80b2d18ff47362cc27fcc37d14ad6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_24</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a8211bc654500aecfd275674f6221043f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_24</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a13a997c77aae8666186d41a4b81587fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a1e0326ee4c758091617b60989ca47b0c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_BGR_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33afed887430acaadf1f5ea53b816dfabd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33addf19307ad488270fa01958f81e49805</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_48</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a1a8169a0597e154a27eb24f2415b5286</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_64</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a84b98bc0e63c1695bc7c4d07d90ca2d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGB_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a5d444e80ac504e8ce319652f5fcfa50c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_RGBA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33afbfe8d7d8aa64729cf7c2a4a2ce9624e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUY2</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a8d27aaccb4602c8ec8676f9290a5dd5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_UYVY</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a3d4ff8ef4a77ed775628c32112aa6149</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_32</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a38f188147bf813acdbfd186a94b80ded</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_64</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33af07dec1edf32b16bd22f03a3b5eac0f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33adcc84a95ec748160fcb6b7a6a93a84a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVA_FLOAT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aa29f4a91e89d701ca2e65a080fc3101a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_420_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a20f380c90a1540717452e3a793719b59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_422_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a104f0457d36f00af8a42fb8ea44a04ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_444_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a53d86fa6e94bb857879932823cd1b299</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_411_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33acbc562d3d3dabe924be4cf0fda42608b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_410_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a19bb2c8eda0bfdda876921e0de0ae630</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_420_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a0e46c4cee26289eee8cc1feef2bcb544</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_422_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a6532ffb3fbf64ad20c866cbd9c794bad</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUVJ_444_P</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33aa6bb415b453cdfb92c0b6b9cbb745f9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_444_P_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33abed85774258b87ba556036a39b67a98a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_YUV_422_P_16</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaf1e060e38cb2d9e4e776f7eca3ec2d33a41e6c2b3847dd8a9f18cc9af77064d04</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_color_channel_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac25e4e4e1a7bdc0160bf0e1d6910b87c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_RED</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca3c417d9a66b30aea8a7e2d70d4030237</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_GREEN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca935ecdaabed4463d03a233188c279013</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_BLUE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87caf34d3d1d6505a7753f2d02b334062cd9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_Y</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca2c1b2d1518c2f530407b99f7f829f724</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_CB</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87cacd98f6faa2dedd0c524a67dfe63c19f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_CR</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca688e2019c853dc04f1fc246c3d1f4bde</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CCH_ALPHA</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggac25e4e4e1a7bdc0160bf0e1d6910b87ca9e6559f4221ae2f66b499132cc32c6ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_chroma_placement_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga1e5257edc9b29af8eba05825db5a0906</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_DEFAULT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906ae18f2501f64f2d4ace44fc84d7c719f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_MPEG2</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906ad5180e13cd750c7b3618a785b4a87cf6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CHROMA_PLACEMENT_DVPAL</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga1e5257edc9b29af8eba05825db5a0906a845aeec284544ec190abf0eeaac0e0be</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_framerate_mode_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga27bc061c95b4416a2ddd2cae2f8ee811</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_UNKNOWN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a300414b65b11483cf8838b38481e8ae9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_CONSTANT</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a3b8019ccde52a3dc42b337bb21addad7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_VARIABLE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a72e7a1eec40615145fbc3ef25bdd026e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_FRAMERATE_STILL</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gga27bc061c95b4416a2ddd2cae2f8ee811a45ddb770b81289188a660dee7d742fb0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_interlace_mode_t</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaabe1b351049ab5c62ff328c4e4258fae</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_UNKNOWN</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeac5b2f83ecbbc20d76138c5dc0f22244c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_NONE</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea75824d34edcb89aa3b6862ea70dc1f97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_TOP_FIRST</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeafe84e0cef3df2b894eca9474718a8b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_BOTTOM_FIRST</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeaac14ef96211f39740c21cfcf6a281483</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faeacdfc8ca442527b5379a5623bbfb07b50</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED_TOP</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea73995c8c62d987619469f720980336cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_INTERLACE_MIXED_BOTTOM</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ggaabe1b351049ab5c62ff328c4e4258faea0164fdbfe0f0260313d5e27804748cc1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_num_planes</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gabc4c5fc3243dc698d12bcb7c3d514781</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_pixelformat_chroma_sub</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gafaed26a87cb8acf6c854e99a29f3b9c1</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, int *sub_h, int *sub_v)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bytes_per_component</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gade6e5f14ab00955ec4b7dc02875d3448</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bytes_per_pixel</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga1abe2490a266feab4a7a3819f7bb0884</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_bits_per_pixel</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gab36e3a7a3110eaa9d768344ed7af231c</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_pixelformat_conversion_penalty</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga112a800cc9c95e088f7fe499e165f907</anchor>
      <arglist>(gavl_pixelformat_t src, gavl_pixelformat_t dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_pixelformat_get_best</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gad57e1813e11be4c4aee7f542e1d638eb</anchor>
      <arglist>(gavl_pixelformat_t src, const gavl_pixelformat_t *dst_supported, int *penalty)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_pixelformat_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga7560314c4a1e12ad925c3bdf062e0b2e</anchor>
      <arglist>(gavl_pixelformat_t pixelformat)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_string_to_pixelformat</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gaabb3686c3275fe97f668804fb5a7e153</anchor>
      <arglist>(const char *name)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_num_pixelformats</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gac4ef623576c6c429d4e9cc0789ef0549</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_pixelformat_t</type>
      <name>gavl_get_pixelformat</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga66c7d0ad216425adf4f27a65b3e8e8be</anchor>
      <arglist>(int index)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_chroma_placement_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga2258430d4307e686a3dc77e52deaf079</anchor>
      <arglist>(gavl_chroma_placement_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_framerate_mode_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga0e05fb91c7798060d796ff65c5f129d9</anchor>
      <arglist>(gavl_framerate_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_interlace_mode_to_string</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga7baa4e63f5f4699ae11d659fa5f806fe</anchor>
      <arglist>(gavl_interlace_mode_t mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_copy</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gad2d818069b8b8c1637df0cc1493ce535</anchor>
      <arglist>(gavl_video_format_t *dst, const gavl_video_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_formats_equal</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga35a05c81b67f1f54653c6b1a59da7e44</anchor>
      <arglist>(const gavl_video_format_t *format_1, const gavl_video_format_t *format_2)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_get_chroma_offset</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga3c0440c17e56f3e4487628291ce65faa</anchor>
      <arglist>(const gavl_video_format_t *format, int field, int plane, float *off_x, float *off_y)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_fit_to_source</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>gacb0b62690147675f68a4117fb404a6a6</anchor>
      <arglist>(gavl_video_format_t *dst, const gavl_video_format_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_format_get_image_size</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga666e64a92f431f7e65a68e5ca281df49</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_get_color_channel_format</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga21bc1aa42164f02929b8f51ba1d8195a</anchor>
      <arglist>(const gavl_video_format_t *frame_format, gavl_video_format_t *channel_format, gavl_color_channel_t ch)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_format_dump</name>
      <anchorfile>group__video__format.html</anchorfile>
      <anchor>ga50c31762b5ae3b4fbae13dc4605584bc</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_frame</name>
    <title>Video frames</title>
    <filename>group__video__frame.html</filename>
    <class kind="struct">gavl_video_frame_t</class>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_frame_t *</type>
      <name>gavl_video_frame_create</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaa160f237e5de21b74844405d044e4de7</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_frame_t *</type>
      <name>gavl_video_frame_create_nopad</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga2d15154526585f38553a11e2b5deb6db</anchor>
      <arglist>(const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_destroy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga153d145b7b8a359aaab1c983b0b7c940</anchor>
      <arglist>(gavl_video_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_null</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gab8a7c4e8c36ffc01cbc3f57ddb72d350</anchor>
      <arglist>(gavl_video_frame_t *frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_clear</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gacededf455637fb4dab06a7064af03d43</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_fill</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga62a28d980d55b17290e17e837c00b382</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, const float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_absdiff</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga98e7749806212c86075e71807756cdd5</anchor>
      <arglist>(gavl_video_frame_t *dst, const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_psnr</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga9246fb3c029aa2926252e1156ca5f15b</anchor>
      <arglist>(double *psnr, const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_ssim</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaa0a9342160b9e500a1fe1f0a52d37895</anchor>
      <arglist>(const gavl_video_frame_t *src1, const gavl_video_frame_t *src2, gavl_video_frame_t *dst, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga0e54b4b7c23372674854ec0579fcded2</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_plane</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga14f13242d881fbd89c5dcca2b4c41fcc</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src, int plane)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_x</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga1914890d2e61d8667934b34662aecc0f</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_y</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga7a24ad46c5d2c008824107d625f8b766</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_flip_xy</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga51a06bf52d312cdc1dbfe7e4a17483ac</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_copy_metadata</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga5a0336411fc37fc016853b68d74aef4f</anchor>
      <arglist>(gavl_video_frame_t *dst, const gavl_video_frame_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_get_subframe</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga427d06ec59aa8a00418faa426d5fbfc6</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, const gavl_video_frame_t *src, gavl_video_frame_t *dst, gavl_rectangle_i_t *src_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_get_field</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga8bfaf9a717383f9a1d494f4e0c06346d</anchor>
      <arglist>(gavl_pixelformat_t pixelformat, const gavl_video_frame_t *src, gavl_video_frame_t *dst, int field)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_dump</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga6eb4ad1d3feb47cd148a1343ebe321fc</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, const char *namebase)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_set_strides</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga33f1528b2a6885fe5de6fd60289287a9</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_frame_set_planes</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga50f291ee97ef492dbf46ab17e49ad92e</anchor>
      <arglist>(gavl_video_frame_t *frame, const gavl_video_format_t *format, uint8_t *buffer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_extract_channel</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gaacbbc8ab6bd8532f8e285153470554b6</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_color_channel_t ch, const gavl_video_frame_t *src, gavl_video_frame_t *dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frame_insert_channel</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>ga4700fc9e06cece057d1c8a9aa058c2f8</anchor>
      <arglist>(const gavl_video_format_t *format, gavl_color_channel_t ch, const gavl_video_frame_t *src, gavl_video_frame_t *dst)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_frames_equal</name>
      <anchorfile>group__video__frame.html</anchorfile>
      <anchor>gad8987beb284d530c246c153482b322ec</anchor>
      <arglist>(const gavl_video_format_t *format, const gavl_video_frame_t *f1, const gavl_video_frame_t *f2)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_options</name>
    <title>Video conversion options</title>
    <filename>group__video__options.html</filename>
    <subgroup>video_conversion_flags</subgroup>
    <member kind="typedef">
      <type>struct gavl_video_options_s</type>
      <name>gavl_video_options_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga661526ac8e31c3a162f8607c2bcda6ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_alpha_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga84488233d92e9407be1596d15f6bfedf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_ALPHA_IGNORE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga84488233d92e9407be1596d15f6bfedfa5ef354544b4849ca240985f1c2f2b055</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_ALPHA_BLEND_COLOR</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga84488233d92e9407be1596d15f6bfedfaa7b1ee646d776c1effb5db1ab39745a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_deinterlace_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga498099f87328c97f303f538eb79eded9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9a3f9fa297598a227e7011325f0063409c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_COPY</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9ae1639123d6cfbf03b0a5d237ccaff2dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_SCALE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9a85b2118c04bb86c6b35f95ca793a3c9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_BLEND</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga498099f87328c97f303f538eb79eded9ab6880fd729f85a010d4427d36f27af28</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_deinterlace_drop_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4e30253efec9dcbdac7f206bb9e1b7e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_DROP_TOP</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga4e30253efec9dcbdac7f206bb9e1b7e3a043a6bd2b00b5c633cbc765c65712eee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DEINTERLACE_DROP_BOTTOM</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gga4e30253efec9dcbdac7f206bb9e1b7e3a469202613e52c6bc50a9fc2ead453262</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_scale_mode_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac527f0b25df75c9dbfdbf25521d1729e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_AUTO</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea4b0b7d43baf67bf6989ae5192b26efea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_NEAREST</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea1f53f13c482c7da3d8c3218a7ff9faf2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_BILINEAR</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eaf73d0475a2b5cb521a76c5d6c70fc232</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_QUADRATIC</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eae67e61407a55aa628a4c03466331d92d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_BSPLINE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729eaafcb74bc8e7e2e0c161af5d1312623c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_MITCHELL</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea269a9eb117090c4681bf75a2c8125e57</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_CUBIC_CATMULL</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea9741867d7bfc72473c7345e0b48a3a02</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_SINC_LANCZOS</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea6631cc5c2d05633678c6576d8e88017f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_SCALE_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggac527f0b25df75c9dbfdbf25521d1729ea0b6ec9f7bf8cab14160b8ca30c6e451c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_downscale_filter_t</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaebb5e94ebb997e67f45a872b5b0ff07c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_AUTO</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca398a9c0771a4624191e14b1eb449f98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_NONE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca6d256fca4e4fae560b76737b091b30dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_WIDE</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07ca9862e9d97c9c81e13ce9e7a8e55cb3c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_DOWNSCALE_FILTER_GAUSS</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ggaebb5e94ebb997e67f45a872b5b0ff07cafe9cbfc1e3678fa0bec3ad3738daf71d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_defaults</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac23a6387290cf6d486db69011e32dbdc</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_options_create</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga27837bfc6878cae6aef628f3030a4475</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_copy</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4b491a4a2b43905e133bbede472e823f</anchor>
      <arglist>(gavl_video_options_t *dst, const gavl_video_options_t *src)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_destroy</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga2e8b8e4ae425b057933775ab7902a8d3</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_rectangles</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga25da61ba427f6b6adb421ad856351881</anchor>
      <arglist>(gavl_video_options_t *opt, const gavl_rectangle_f_t *src_rect, const gavl_rectangle_i_t *dst_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_get_rectangles</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4b810cfbfbd98f630e25e66a179c8a16</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_rectangle_f_t *src_rect, gavl_rectangle_i_t *dst_rect)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_quality</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga034a90fe29d5c699cfa245f9bb33983b</anchor>
      <arglist>(gavl_video_options_t *opt, int quality)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_quality</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga30375731b65265cb671b7bb1438d2fa2</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_conversion_flags</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gac3ec270ab146f161cc43bd5cae90ecfc</anchor>
      <arglist>(gavl_video_options_t *opt, int conversion_flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_conversion_flags</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad6f90626bf1a86b1ec11bec0baa7eeff</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_alpha_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga0961198507410733f5f2dd3b16f8ef3a</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_alpha_mode_t alpha_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_alpha_mode_t</type>
      <name>gavl_video_options_get_alpha_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga6eb115f9ad5dd24fe34d4667539bc16d</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_scale_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga48a1e385dc969adb7ae7a559ff90eda5</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_scale_mode_t scale_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_scale_mode_t</type>
      <name>gavl_video_options_get_scale_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga78c5b45c26e407c025760143b211332c</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_scale_order</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gae3e332d8cf08395df2bcddeefb94cd51</anchor>
      <arglist>(gavl_video_options_t *opt, int order)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_scale_order</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad05038c0147dca13b844d859a08874bd</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_background_color</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga86322ead33fc9ffc481b73a9749a7966</anchor>
      <arglist>(gavl_video_options_t *opt, const float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_get_background_color</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga3bf1b99b2884ae687f3ef7e319be64db</anchor>
      <arglist>(gavl_video_options_t *opt, float *color)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_deinterlace_drop_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga8d4b5149858214e6f857c56d04bc3458</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_deinterlace_drop_mode_t deinterlace_drop_mode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_deinterlace_drop_mode_t</type>
      <name>gavl_video_options_get_deinterlace_drop_mode</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaac728276480c5d44e260208bd740b9d1</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_downscale_filter</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gad4c3c3e62f317b42b7ac27978ee85120</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_downscale_filter_t f)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_downscale_filter_t</type>
      <name>gavl_video_options_get_downscale_filter</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga5ee0b552cc6ce31d0358d575323056b9</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_downscale_blur</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gacd01ddcc662b2f9f9c8a0b28eed364f6</anchor>
      <arglist>(gavl_video_options_t *opt, float f)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC float</type>
      <name>gavl_video_options_get_downscale_blur</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga9072500f822a1fbe67674ed805dfb2a6</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_num_threads</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga3cbcf9e6e2eb3779f02fe655bda08fcf</anchor>
      <arglist>(gavl_video_options_t *opt, int n)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_options_get_num_threads</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga4a1f8ca50b4eef6c9b08c5ab7961d845</anchor>
      <arglist>(gavl_video_options_t *opt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_run_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga025eb6b2868d16343996d661b6ac1706</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_video_run_func func, void *client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_run_func</type>
      <name>gavl_video_options_get_run_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>ga7b47e528fe3eff115502a3fb8b7d46b5</anchor>
      <arglist>(gavl_video_options_t *opt, void **client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_options_set_stop_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gaa82c8bce9206051694cf11fcb691e411</anchor>
      <arglist>(gavl_video_options_t *opt, gavl_video_stop_func func, void *client_data)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_stop_func</type>
      <name>gavl_video_options_get_stop_func</name>
      <anchorfile>group__video__options.html</anchorfile>
      <anchor>gae5a29f1c48e88c0a3305b69d5a537062</anchor>
      <arglist>(gavl_video_options_t *opt, void **client_data)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_conversion_flags</name>
    <title>Video conversion flags</title>
    <filename>group__video__conversion__flags.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_FORCE_DEINTERLACE</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga2337d9ab35e09d07f98a89e8d39c3162</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_CONVOLVE_CHROMA</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga3ffaa80353e73a53efabf1418d21173e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_CONVOLVE_NORMALIZE</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>ga6d497ee7ddec9ecb6e374d66bae61301</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_RESAMPLE_CHROMA</name>
      <anchorfile>group__video__conversion__flags.html</anchorfile>
      <anchor>gaa631f11ef50dffe0dad7519ab9b4ba3e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_converter</name>
    <title>Video converter</title>
    <filename>group__video__converter.html</filename>
    <member kind="typedef">
      <type>struct gavl_video_converter_s</type>
      <name>gavl_video_converter_t</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>ga8608b4a917f962a192fbb4e7d1a180f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_converter_t *</type>
      <name>gavl_video_converter_create</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gac65bbe195bf92930e68d7d889ef4be87</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_converter_destroy</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gacd1f728055a582c57f8a45484da9366d</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_converter_get_options</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gae07e2d1a722b74152545176d24b3cbe7</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_converter_init</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>ga3fc45b6f66687029f4ad6b145d5c3326</anchor>
      <arglist>(gavl_video_converter_t *cnv, const gavl_video_format_t *input_format, const gavl_video_format_t *output_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_converter_reinit</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gabf283face818d6425b72cbfc888f1661</anchor>
      <arglist>(gavl_video_converter_t *cnv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_convert</name>
      <anchorfile>group__video__converter.html</anchorfile>
      <anchor>gab4d87d96d232ff18f667968edec146e6</anchor>
      <arglist>(gavl_video_converter_t *cnv, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_scaler</name>
    <title>Scaler</title>
    <filename>group__video__scaler.html</filename>
    <member kind="typedef">
      <type>struct gavl_video_scaler_s</type>
      <name>gavl_video_scaler_t</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga8b4210889926401c0af62a9c423e14ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_scaler_t *</type>
      <name>gavl_video_scaler_create</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga65a5adb9b0ec0c47177d858f4b9841a3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_scaler_destroy</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga4913e9fbbce90576e3f73e4b910bf74f</anchor>
      <arglist>(gavl_video_scaler_t *scaler)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_scaler_get_options</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga5630854ec9ee864186562ef9f69e864b</anchor>
      <arglist>(gavl_video_scaler_t *scaler)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_scaler_init</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>ga048d636f7fc6ca5afb522cffc1c57f11</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_format_t *src_format, const gavl_video_format_t *dst_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_scaler_init_convolve</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>gae0d9ec30ee5a353802baadacb027ec0a</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_format_t *format, int h_radius, const float *h_coeffs, int v_radius, const float *v_coeffs)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_scaler_scale</name>
      <anchorfile>group__video__scaler.html</anchorfile>
      <anchor>gaac3cfffdb618b683fe36150beee810c5</anchor>
      <arglist>(gavl_video_scaler_t *scaler, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_deinterlacer</name>
    <title>Deinterlacer</title>
    <filename>group__video__deinterlacer.html</filename>
    <member kind="typedef">
      <type>struct gavl_video_deinterlacer_s</type>
      <name>gavl_video_deinterlacer_t</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga7c2cc3f5fcc2266c5df7e34ab28596f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_deinterlacer_t *</type>
      <name>gavl_video_deinterlacer_create</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga4610459bb334e210f0bbf2e2e07e4221</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_deinterlacer_destroy</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga820c4520488a561df92280b6c584efe4</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_video_deinterlacer_get_options</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga0d553f6f321342e51ac113aec1a89ef3</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_video_deinterlacer_init</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>ga3c9b6b6a1a12483c00cd3e0be0ef6383</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer, const gavl_video_format_t *src_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_video_deinterlacer_deinterlace</name>
      <anchorfile>group__video__deinterlacer.html</anchorfile>
      <anchor>gaa5b6186a7cd48941e8be88e84f727338</anchor>
      <arglist>(gavl_video_deinterlacer_t *deinterlacer, const gavl_video_frame_t *input_frame, gavl_video_frame_t *output_frame)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_blend</name>
    <title>Overlay blending</title>
    <filename>group__video__blend.html</filename>
    <class kind="struct">gavl_overlay_t</class>
    <member kind="typedef">
      <type>struct gavl_overlay_blend_context_s</type>
      <name>gavl_overlay_blend_context_t</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gab03135cd919dbd7cfce24574ed5ff2c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_overlay_blend_context_t *</type>
      <name>gavl_overlay_blend_context_create</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga711ff6748a0d6916d876acdb01647c31</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend_context_destroy</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gadadf950d6e1279c3555d4249550d85a3</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_overlay_blend_context_get_options</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>gaee93db1b692d9caba37cec3153e9c1ce</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_overlay_blend_context_init</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga9f94b2f7f888fc8066b2e4e2e2f73f5a</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, const gavl_video_format_t *frame_format, gavl_video_format_t *overlay_format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend_context_set_overlay</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga6b9d4d35aa14e2312ab54c24bf43a607</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, gavl_overlay_t *ovl)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_overlay_blend</name>
      <anchorfile>group__video__blend.html</anchorfile>
      <anchor>ga00746f11bc191a0e8f0ed080fcecd3c1</anchor>
      <arglist>(gavl_overlay_blend_context_t *ctx, gavl_video_frame_t *dst_frame)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>video_transform</name>
    <title>Image transformation</title>
    <filename>group__video__transform.html</filename>
    <member kind="typedef">
      <type>struct gavl_image_transform_s</type>
      <name>gavl_image_transform_t</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga3120d630e0d9e646dec2d0339cc4ea84</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>void(*</type>
      <name>gavl_image_transform_func</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga552c34a8f2c3634c887b82ca983d09af</anchor>
      <arglist>)(void *priv, double xdst, double ydst, double *xsrc, double *ysrc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_image_transform_t *</type>
      <name>gavl_image_transform_create</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>gafbfafaba59871814fffd576c14182f63</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_image_transform_destroy</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga0951eeb569f7adebc2354336e54ca0c8</anchor>
      <arglist>(gavl_image_transform_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_image_transform_init</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga1750362e810cd5b9c1c7f896425ee3da</anchor>
      <arglist>(gavl_image_transform_t *t, gavl_video_format_t *format, gavl_image_transform_func func, void *priv)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_image_transform_transform</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>gaaa9cc51e17e44df2aa690f809154efa4</anchor>
      <arglist>(gavl_image_transform_t *t, gavl_video_frame_t *in_frame, gavl_video_frame_t *out_frame)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_video_options_t *</type>
      <name>gavl_image_transform_get_options</name>
      <anchorfile>group__video__transform.html</anchorfile>
      <anchor>ga1e9c5da19cd723c731fb000e06c48413</anchor>
      <arglist>(gavl_image_transform_t *t)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>frame_table</name>
    <title>Frame table</title>
    <filename>group__frame__table.html</filename>
    <class kind="struct">gavl_frame_table_t</class>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gac265a8102f8c1cfd1a0a8e0d3cecd886</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create_audio</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gad45a0e09687b1f0e33266578b8858a71</anchor>
      <arglist>(int samplerate, int64_t offset, int64_t duration, gavl_timecode_format_t *fmt_ret)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_create_cfr</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaaa2971ad8831bc68b144ef8259d6e9ca</anchor>
      <arglist>(int64_t offset, int64_t frame_duration, int64_t num_frames, gavl_timecode_t start_timecode)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_copy</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga39e058c40317cf21f0573d4cc282f202</anchor>
      <arglist>(const gavl_frame_table_t *tab)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_destroy</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga7d49000351213b69385a85ab2c7d24a8</anchor>
      <arglist>(gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_append_entry</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaa3019fd2f14360c77724db64e6ea1500</anchor>
      <arglist>(gavl_frame_table_t *t, int64_t duration)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_append_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gaca3eb0d8345f72af6e4966d12744388d</anchor>
      <arglist>(gavl_frame_table_t *t, int64_t pts, gavl_timecode_t tc)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_frame_to_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga2cf755e56e4b50f0d3cc12db088aeca6</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t frame, int *duration)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_time_to_frame</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga623a74c4ff943db7f1157d845c64beb0</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t time, int64_t *start_time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timecode_t</type>
      <name>gavl_frame_table_time_to_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga6069fd13db8bcb703d22827517c12b22</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t time, int64_t *start_time, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_timecode_to_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gafba6d572126c3b946c96944a9824e401</anchor>
      <arglist>(const gavl_frame_table_t *t, gavl_timecode_t tc, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timecode_t</type>
      <name>gavl_frame_table_frame_to_timecode</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga44b9d9c826a39027327d3347011aadb3</anchor>
      <arglist>(const gavl_frame_table_t *t, int64_t frame, int64_t *start_time, const gavl_timecode_format_t *fmt)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_num_frames</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga86b09c9a3a0537d3cbf31b33abe5beee</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_duration</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga7bc7232a41f14c82d1af0c00cb4fe8bb</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_frame_table_end_time</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga190ee3adfd6f512f11ef6c1f609443a0</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_frame_table_save</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga15211644be347e181d22929e79ca6dbe</anchor>
      <arglist>(const gavl_frame_table_t *t, const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_frame_table_t *</type>
      <name>gavl_frame_table_load</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>gab3603f0d360e636cdd502dc8420bc9da</anchor>
      <arglist>(const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_frame_table_dump</name>
      <anchorfile>group__frame__table.html</anchorfile>
      <anchor>ga593f1f9fe0089c5ce01f2fa3b6091110</anchor>
      <arglist>(const gavl_frame_table_t *t)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>time</name>
    <title>Time</title>
    <filename>group__time.html</filename>
    <subgroup>timer</subgroup>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIME_SCALE</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gaf598353cbda9a5ad6878e368b6a15811</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIME_UNDEFINED</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga98a13c407599f7fd3186396337f2a313</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIME_MAX</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gae6ef0c903b29a7584c2213c07d07cb5d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_seconds_to_time</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gaea115f2815e637bbcd60fbade805ef76</anchor>
      <arglist>(s)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>gavl_time_to_seconds</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gafe7168a31ad0b28ead955797a62a5ab2</anchor>
      <arglist>(t)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIME_STRING_LEN</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga49869e05d18cb1dfde4e80343ae37d50</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_TIME_STRING_LEN_MS</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga0f4f6763633d6d42edd51b23017cfc37</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>int64_t</type>
      <name>gavl_time_t</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gaede83abbdd6102bd8683f4b94a7bd647</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_time_t</type>
      <name>gavl_samples_to_time</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga811bdb175fd50af21138857ca53f9d19</anchor>
      <arglist>(int samplerate, int64_t samples)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_time_to_samples</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gae29e41e11252623db0588cd6b728bcf3</anchor>
      <arglist>(int samplerate, gavl_time_t time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_time_t</type>
      <name>gavl_frames_to_time</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga59df5a9311f8e15575c8a0f9414849af</anchor>
      <arglist>(int rate_num, int rate_den, int64_t frames)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_time_to_frames</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga2b8f1db0f226f1255afe2e0f21f47142</anchor>
      <arglist>(int rate_num, int rate_den, gavl_time_t time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_time_scale</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga8b96d7ef34d17497a099fa8971eb5661</anchor>
      <arglist>(int scale, gavl_time_t time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_time_t</type>
      <name>gavl_time_unscale</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga4de3b9f7b985519953f332fbc283f2f6</anchor>
      <arglist>(int scale, int64_t time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int64_t</type>
      <name>gavl_time_rescale</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gac2a78a7aa1330d94ac8c24882714ff2f</anchor>
      <arglist>(int scale1, int scale2, int64_t time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_time_delay</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga3e883859ff24aa7af3a30cd6b1e80364</anchor>
      <arglist>(gavl_time_t *time)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_time_prettyprint</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>gafede1bf6bd567f8133f49291b1c91e46</anchor>
      <arglist>(gavl_time_t time, char str[GAVL_TIME_STRING_LEN])</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_time_prettyprint_ms</name>
      <anchorfile>group__time.html</anchorfile>
      <anchor>ga5f5ae25902db97f374e1be584243a257</anchor>
      <arglist>(gavl_time_t time, char str[GAVL_TIME_STRING_LEN_MS])</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>timer</name>
    <title>Software timer</title>
    <filename>group__timer.html</filename>
    <member kind="typedef">
      <type>struct gavl_timer_s</type>
      <name>gavl_timer_t</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>gaae620a307ba8533e991c512c56b1fd24</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_timer_t *</type>
      <name>gavl_timer_create</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga09c6a3b1ac4c57ee13347d0d654473c5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timer_destroy</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga4e340350de373c7551c0de1ad4acdedb</anchor>
      <arglist>(gavl_timer_t *timer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timer_start</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga5d43483e1bbdd6aa228991ff373d9f08</anchor>
      <arglist>(gavl_timer_t *timer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timer_stop</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga2089d703fe1e66509293eed209f05c72</anchor>
      <arglist>(gavl_timer_t *timer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_time_t</type>
      <name>gavl_timer_get</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga8a7eb1f66bfb7d482f7097080d748a34</anchor>
      <arglist>(gavl_timer_t *timer)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_timer_set</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>gab26ee9e5edf2758507f7ddf4dfb4d5ea</anchor>
      <arglist>(gavl_timer_t *timer, gavl_time_t t)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC uint64_t</type>
      <name>gavl_benchmark_get_time</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga7e7b71a5499480ed31eef3c0f29220a8</anchor>
      <arglist>(int flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_benchmark_get_desc</name>
      <anchorfile>group__timer.html</anchorfile>
      <anchor>ga457f0b1e56a60476d4860f5a2c0c421d</anchor>
      <arglist>(int flags)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>dsp</name>
    <title>DSP Context</title>
    <filename>group__dsp.html</filename>
    <class kind="struct">gavl_dsp_funcs_t</class>
    <subgroup>dsputils</subgroup>
    <member kind="typedef">
      <type>struct gavl_dsp_context_s</type>
      <name>gavl_dsp_context_t</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>gafe123d8ea3bcd946fedfa03c292a05f1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_dsp_context_t *</type>
      <name>gavl_dsp_context_create</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>gae1236951171a8bc22848bc34b836dc88</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_dsp_context_set_quality</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>ga50363b4981fa3d1d13a8bbf289fe6cdf</anchor>
      <arglist>(gavl_dsp_context_t *ctx, int q)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_dsp_context_set_accel_flags</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>gaf347635df485178c7da9796bb7347963</anchor>
      <arglist>(gavl_dsp_context_t *ctx, int flags)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC gavl_dsp_funcs_t *</type>
      <name>gavl_dsp_context_get_funcs</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>ga100c077bd8d2e26aabbec7442574c44f</anchor>
      <arglist>(gavl_dsp_context_t *ctx)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_dsp_context_destroy</name>
      <anchorfile>group__dsp.html</anchorfile>
      <anchor>ga3fa6e96c8c937e90d86d5c98210eb4d8</anchor>
      <arglist>(gavl_dsp_context_t *ctx)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>dsputils</name>
    <title>DSP Utilities</title>
    <filename>group__dsputils.html</filename>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_dsp_interpolate_video_frame</name>
      <anchorfile>group__dsputils.html</anchorfile>
      <anchor>gac31e48c09ebc10473662067deaa51873</anchor>
      <arglist>(gavl_dsp_context_t *ctx, gavl_video_format_t *format, gavl_video_frame_t *src_1, gavl_video_frame_t *src_2, gavl_video_frame_t *dst, float factor)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_dsp_audio_frame_swap_endian</name>
      <anchorfile>group__dsputils.html</anchorfile>
      <anchor>ga7dd24219095308483be93127cf651c13</anchor>
      <arglist>(gavl_dsp_context_t *ctx, gavl_audio_frame_t *frame, const gavl_audio_format_t *format)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_dsp_video_frame_swap_endian</name>
      <anchorfile>group__dsputils.html</anchorfile>
      <anchor>ga01fbe32f1cce130bae845381388e32e3</anchor>
      <arglist>(gavl_dsp_context_t *ctx, gavl_video_frame_t *frame, const gavl_video_format_t *format)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>compression</name>
    <title>Compressed stream support</title>
    <filename>group__compression.html</filename>
    <class kind="struct">gavl_compression_info_t</class>
    <class kind="struct">gavl_packet_t</class>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_COMPRESSION_HAS_P_FRAMES</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga32165340fed02e59258a82be75f517d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_COMPRESSION_HAS_B_FRAMES</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gad3856436aeb2430d332a09b0c44cb48a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_COMPRESSION_HAS_FIELD_PICTURES</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga21ed3d2abf45710350c1322e83490df4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_COMPRESSION_SBR</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga6d6122a51eabe09d528e6e70f2fe2832</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_TYPE_I</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga4862d16a5c63bc349240980de13bb5ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_TYPE_P</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga62729ab23d9746513d18415a795ca1c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_TYPE_B</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gacfee1f2faf44ed8dfcfc230146eea154</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_TYPE_MASK</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gaef7058e8ad103a6de818f3ceeffa0d22</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_KEYFRAME</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga8bd9a740d54b170fe482da567070f95c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GAVL_PACKET_LAST</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga79b78843233ef2bd27d45470a5cccf01</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>gavl_codec_id_t</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga3e101e880064877a18f79ba4ea88525b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_NONE</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525baf104a7a502d92b566c1b7859ba9e77a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_ALAW</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525baed7ccaea672ddeb475301611b8424b45</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_ULAW</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525bafc8f80c7e05349da5f5550176db48ace</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_MP2</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba9269e7c088994cf55b20a51af912de5d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_MP3</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525babeb1acd5673f67d8e98918277d242966</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_AC3</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba2fd4c052f4b4042ea27cd7beba04c3cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_AAC</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba6784e5e6b69cf289604ddf84a83c98d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_VORBIS</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba0f6c224115281ed1b270924c726b38c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_JPEG</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba7eabcf8ec6a78263d37712cdcbc20095</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_PNG</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525bad3bd418e51df4497505c0072a8aefd96</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_TIFF</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba9a9cd4a3f68c26b62ac86fcd880b67b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_TGA</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba4da12c8550b623ead67febc8da58797b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_MPEG1</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba2e90d20b3a99d686ad665e1aecb0c96a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_MPEG2</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba604f33309eb8ff4f66769a5778befd11</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_MPEG4_ASP</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba74fb178684d7540e9191db1521c3342e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_H264</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba7ed40c1e9767cfce7a6ae0269341a7d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_THEORA</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525baab70e133cdc1967d7ee88e7bfe70f5e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_DIRAC</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba4c354a019d90e50609e6c497700a378a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>GAVL_CODEC_ID_DV</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gga3e101e880064877a18f79ba4ea88525ba2ebe5a2f8d5e5c60055e987ef4682c5f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_compression_info_free</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>gabe8c4b5162f333c30bf023e2336bc41a</anchor>
      <arglist>(gavl_compression_info_t *info)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_compression_info_dump</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga03567e1caf5ad2537a98d2cfd499ffa0</anchor>
      <arglist>(const gavl_compression_info_t *info)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC const char *</type>
      <name>gavl_compression_get_extension</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga82851244582020cb78350731a62dabd2</anchor>
      <arglist>(gavl_codec_id_t id, int *separate)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC int</type>
      <name>gavl_compression_need_pixelformat</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga0b4f01f12214f4bebfee6c24ae0187f4</anchor>
      <arglist>(gavl_codec_id_t id)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_packet_alloc</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga68e0224fa601275f8925ed6544616abb</anchor>
      <arglist>(gavl_packet_t *p, int len)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_packet_free</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga53c559d213c43f9ca277bff67f3ec8b8</anchor>
      <arglist>(gavl_packet_t *p)</arglist>
    </member>
    <member kind="function">
      <type>GAVL_PUBLIC void</type>
      <name>gavl_packet_dump</name>
      <anchorfile>group__compression.html</anchorfile>
      <anchor>ga04b8f9acda91b3204785d4eff53fd2aa</anchor>
      <arglist>(const gavl_packet_t *p)</arglist>
    </member>
  </compound>
  <compound kind="union">
    <name>gavl_audio_channels_t</name>
    <filename>uniongavl__audio__channels__t.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>u_8</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a8adf88f65d1ac518a29f080572909d95</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>int8_t *</type>
      <name>s_8</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a720e57ba4a764ff222cff2e02a65008d</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>uint16_t *</type>
      <name>u_16</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>afa602b94d25461dbcf9f318cca0c2523</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>int16_t *</type>
      <name>s_16</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a1992b51909b6fb52b50e3b50a0ca0ce2</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>u_32</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>aabbc4a2442c0e481e3341296f2d61f93</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>int32_t *</type>
      <name>s_32</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a48e743b2b66bb1a1d6376c3d3070d845</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>float *</type>
      <name>f</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a636b9c0d0386970bb9ba93b598dcd383</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
    <member kind="variable">
      <type>double *</type>
      <name>d</name>
      <anchorfile>uniongavl__audio__channels__t.html</anchorfile>
      <anchor>a6de466852ce1c9f0735b1b5fe5039830</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_audio_format_t</name>
    <filename>structgavl__audio__format__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>samples_per_frame</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>a3dd50b0562d708b0c03094d3b1e714ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>samplerate</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>ac43b3ebcfa0870a6b28184a91c6437ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>num_channels</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>accf66d230cd1dd940d2252981c20e3e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_sample_format_t</type>
      <name>sample_format</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>a5ad3f44bc7ac3c8b8d5178de6fb88166</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_interleave_mode_t</type>
      <name>interleave_mode</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>a576ab4991578a36f5c6ae934bb8c984c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>center_level</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>ab0e6cbf95f092fa8098691e7a0d860a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>rear_level</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>a444df7f932db4e98d351ff7f92d8a4ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_channel_id_t</type>
      <name>channel_locations</name>
      <anchorfile>structgavl__audio__format__t.html</anchorfile>
      <anchor>add681c8ec80275640b15b6d107296f50</anchor>
      <arglist>[GAVL_MAX_CHANNELS]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_audio_frame_t</name>
    <filename>structgavl__audio__frame__t.html</filename>
    <member kind="variable">
      <type>gavl_audio_samples_t</type>
      <name>samples</name>
      <anchorfile>structgavl__audio__frame__t.html</anchorfile>
      <anchor>a1c83856f4cea936aef95d2352870679a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_audio_channels_t</type>
      <name>channels</name>
      <anchorfile>structgavl__audio__frame__t.html</anchorfile>
      <anchor>ade3ea34f2a03d9344e9c64d4dcd613eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>valid_samples</name>
      <anchorfile>structgavl__audio__frame__t.html</anchorfile>
      <anchor>a3073efef12458a9be6bad3d9e6cb2128</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>timestamp</name>
      <anchorfile>structgavl__audio__frame__t.html</anchorfile>
      <anchor>a42b2c1cd299afd910f53445142cc1178</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>channel_stride</name>
      <anchorfile>structgavl__audio__frame__t.html</anchorfile>
      <anchor>a027e0b05bc9e06902a984175571363f8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="union">
    <name>gavl_audio_samples_t</name>
    <filename>uniongavl__audio__samples__t.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>u_8</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a5d5dd48727e65755bca6587d532b394a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int8_t *</type>
      <name>s_8</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a2effaf219a3b560d766857395569e807</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t *</type>
      <name>u_16</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a3873ad485ddb7d31af65def77ef8f52b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t *</type>
      <name>s_16</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a41e821504f685d3ed1c46f5abf40d76b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>u_32</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a2600896607bbe41711948736dae2b3cb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t *</type>
      <name>s_32</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>af4f203cf958a11a576c7255c639ba22e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float *</type>
      <name>f</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a66f8ac9ac29cfaa173b5bcf7821d3022</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double *</type>
      <name>d</name>
      <anchorfile>uniongavl__audio__samples__t.html</anchorfile>
      <anchor>a9bab34f5a686889fadbd2bd2a8f7c5ef</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_compression_info_t</name>
    <filename>structgavl__compression__info__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>flags</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>a3fef0d778a507a4564a2019cf85c5439</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_codec_id_t</type>
      <name>id</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>a150f1b785ea6e4d245b471f2ecf8c27c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>global_header</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>a34f7bdedc240ca9f76de2318881aef0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>global_header_len</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>a5da6f14ac1584a4464a3fc5bcdeb1a60</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>bitrate</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>a6e6ba500d4fd17e84371e2d375fd1ba2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>palette_size</name>
      <anchorfile>structgavl__compression__info__t.html</anchorfile>
      <anchor>ad244224cb4bd21349fadf7eb3e94477e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_dsp_funcs_t</name>
    <filename>structgavl__dsp__funcs__t.html</filename>
    <member kind="variable">
      <type>int(*</type>
      <name>sad_rgb15</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>afb194c3ae83a471d3de0181e9546f914</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>sad_rgb16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a22201ad5d5dd37ae9af9e6096b682ff2</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>sad_8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>aeca5fe9367ab2103f3b1f492b8ef5cb5</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>sad_16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>ac6d6d02344dfae85e0d0200767f4a827</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</arglist>
    </member>
    <member kind="variable">
      <type>float(*</type>
      <name>sad_f</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a8d287e8c3aadd6dd4d444973237c9d14</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>average_rgb15</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a4651c021944cc125db3e824d71b1a2ea</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>average_rgb16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a08204b578d9b43df6c58dc3381a9de0a</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>average_8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>adbbcabe174a169b9700c495c2842a202</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>average_16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a875f149849f0dd8345e2977ee4fb864c</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>average_f</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a4d5892b19abf642a3ed45b755d4d0976</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>interpolate_rgb15</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a0e7e43ce018672648d2e5a5e08d250d1</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>interpolate_rgb16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>ac8bd2e41a5cf17c2987e279ee4862d2b</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>interpolate_8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a2f9960e71912769c81434419ad48d817</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>interpolate_16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a157b654db8b6438d339b8c1bdb8f79b4</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>interpolate_f</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a7b7ab543ca9dd2a923a305f078c26a12</anchor>
      <arglist>)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>bswap_16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>ad3ef64180702af2331e46bb08626bac1</anchor>
      <arglist>)(void *ptr, int len)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>bswap_32</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a25e61aa0460f289a9344554d8893133a</anchor>
      <arglist>)(void *ptr, int len)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>bswap_64</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a1f9c4f946bb7325808ea60ed14fb3aa1</anchor>
      <arglist>)(void *ptr, int len)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_u8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a1f9d4e39def1f75ede671bf25e978b91</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_u8_s</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a238030ec41b75b89d1585a24718d90b3</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_s8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>ad8b5609f68efb95b4b563c7004d589f9</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_u16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a96297a6986fe8514702b55091c7bcd86</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_u16_s</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a37e253fc94a616bf0deacad8cb5ca55e</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_s16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>ac05c4983190f881286ca3510929c2a3e</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_s32</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a77486554d76cee3d8309406c3ac5d5f4</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_float</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a93109e16b048cd83d81a1ca889f81f9f</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>add_double</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a3b8013f0bddcd86c218ef5b8630ae16a</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_u8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a96938e92a20edefca7a1d48961f63373</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_u8_s</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a6c921becd0f4234b0e4e217c6a6503c6</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_s8</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>af15f2661480c2042bafde637dc7d714d</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_u16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>aa58bd5180331cf5212d17fdaa651943b</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_u16_s</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a11c9a330b8c996dbaa1453e67f0aa796</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_s16</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a02a6fee655edf80dc0c373b258e12bce</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_s32</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a3c1574fcdc02072fea5af78902db64db</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_float</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>a536f47e412d141c04c2af7016deee234</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>sub_double</name>
      <anchorfile>structgavl__dsp__funcs__t.html</anchorfile>
      <anchor>af1ce6107bbcb8f0580cb02b80f6f72d3</anchor>
      <arglist>)(const void *src1, const void *src2, void *dst, int num)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_frame_table_t</name>
    <filename>structgavl__frame__table__t.html</filename>
    <member kind="variable">
      <type>int64_t</type>
      <name>offset</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>a9ca43a74dad1ac75162073b68bd4661d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>num_entries</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>acedc334ffeb75b7ddce17abe0c065769</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>entries_alloc</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>aab716faee5bf58fcb98bfddb0fe57f48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct gavl_frame_table_t::@0 *</type>
      <name>entries</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>a9df385c87a94dde451ed37c0565e8a0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>num_frames</name>
      <anchorfile>structgavl__frame__table__t_1_1@0.html</anchorfile>
      <anchor>ac417c0f9b7292b6f3c89c943fcddfb35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>duration</name>
      <anchorfile>structgavl__frame__table__t_1_1@0.html</anchorfile>
      <anchor>ae66ebed83a96452fb2765ea2c3c2e107</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>num_timecodes</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>a4e713f61554cae5313300e8017a7909e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>timecodes_alloc</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>ad8b1907c91e1aefa79596af06503e245</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct gavl_frame_table_t::@1 *</type>
      <name>timecodes</name>
      <anchorfile>structgavl__frame__table__t.html</anchorfile>
      <anchor>ad0bf22976780b66628296f82a455a501</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>pts</name>
      <anchorfile>structgavl__frame__table__t_1_1@1.html</anchorfile>
      <anchor>a2896bcacb5892333bec77d2844d895de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_timecode_t</type>
      <name>tc</name>
      <anchorfile>structgavl__frame__table__t_1_1@1.html</anchorfile>
      <anchor>a46271dd948c09541967c77e96db5f0de</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_overlay_t</name>
    <filename>structgavl__overlay__t.html</filename>
    <member kind="variable">
      <type>gavl_video_frame_t *</type>
      <name>frame</name>
      <anchorfile>structgavl__overlay__t.html</anchorfile>
      <anchor>a15a5042c2c8f8b5342f5ab6c6a8b7bed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_rectangle_i_t</type>
      <name>ovl_rect</name>
      <anchorfile>structgavl__overlay__t.html</anchorfile>
      <anchor>a975dcdd78cb1212054233f2ce02c4e5d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>dst_x</name>
      <anchorfile>structgavl__overlay__t.html</anchorfile>
      <anchor>aba59d93af2b62b37b9a8f91dc5fb214a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>dst_y</name>
      <anchorfile>structgavl__overlay__t.html</anchorfile>
      <anchor>a61b7f26540747944f169f8d28fabcecd</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_packet_t</name>
    <filename>structgavl__packet__t.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>data</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>a4ee38093bfe54a83ae01f74da694eb8a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>data_len</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>a09212e87b796a4a7f4afc4dec82e7623</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>data_alloc</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>affd91c0cca1445026ac237f04c379a27</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>flags</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>ab9a4239c45027f8aa85c968940e3eff1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>pts</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>a57be2a88ea5177b4b4adecf7bbb74936</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>duration</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>adec69d3eadb2731d79d9679903f389a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>field2_offset</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>aeb842eb78c5e787dcc4772a099361f89</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>header_size</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>a333836763a311e3b4d1d2d64f9d45aa4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>sequence_end_pos</name>
      <anchorfile>structgavl__packet__t.html</anchorfile>
      <anchor>a8923363218642f7fcf9366fec8165fd0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_rectangle_f_t</name>
    <filename>structgavl__rectangle__f__t.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>x</name>
      <anchorfile>structgavl__rectangle__f__t.html</anchorfile>
      <anchor>a36fb92e0ba64972d528b73faf6e67e10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y</name>
      <anchorfile>structgavl__rectangle__f__t.html</anchorfile>
      <anchor>a852c069d1d2baf6a0733744c7143918a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>w</name>
      <anchorfile>structgavl__rectangle__f__t.html</anchorfile>
      <anchor>aabec14177429d15a012017587b04b411</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>h</name>
      <anchorfile>structgavl__rectangle__f__t.html</anchorfile>
      <anchor>ab1460eb6d0cd1af0ffd9b7f00931652e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_rectangle_i_t</name>
    <filename>structgavl__rectangle__i__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>x</name>
      <anchorfile>structgavl__rectangle__i__t.html</anchorfile>
      <anchor>a029abcc5409dc0252ce081304da43efb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>y</name>
      <anchorfile>structgavl__rectangle__i__t.html</anchorfile>
      <anchor>a6e3a23d69a375081827c03b103c5ec9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>w</name>
      <anchorfile>structgavl__rectangle__i__t.html</anchorfile>
      <anchor>afec571aec22bbf4a660825bdc54c86f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>h</name>
      <anchorfile>structgavl__rectangle__i__t.html</anchorfile>
      <anchor>a23aa0d736bfa55e4553a9bad3f826979</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_timecode_format_t</name>
    <filename>structgavl__timecode__format__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>int_framerate</name>
      <anchorfile>structgavl__timecode__format__t.html</anchorfile>
      <anchor>a4f817fe075c9d487836df492607c4e65</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>flags</name>
      <anchorfile>structgavl__timecode__format__t.html</anchorfile>
      <anchor>ae095ea9a7c3fbbcd56ca3d26dd643a93</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_video_format_s</name>
    <filename>structgavl__video__format__s.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>frame_width</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>aa34b1d8cc01ff399d5c351840ba04b33</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>frame_height</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>ab4b7f95c6339fe92a5cd84b0d5e0a965</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>image_width</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>ac52d1c3c393ce7c9956441c8244572bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>image_height</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>afa76cb76731551a3440c0ee05f01ab70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>pixel_width</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>ae8df6dfa1ac729a453420bdbefff9477</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>pixel_height</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>a9cb2215b06439d37def5ed9e795b1461</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_pixelformat_t</type>
      <name>pixelformat</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>aebd366cc2e611a6b6abd464a54cafa4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>frame_duration</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>ab2b6092b4a38c8a49febd48765abc4cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>timescale</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>a47976ee696e6545aa0461f1d06197746</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_framerate_mode_t</type>
      <name>framerate_mode</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>a8a1698037b89b8a03aec71872a6ec8f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_chroma_placement_t</type>
      <name>chroma_placement</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>a00af11c8ddf3715ae894240b76b34b78</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_interlace_mode_t</type>
      <name>interlace_mode</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>a894824310f2d31faea38a312773cfe9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_timecode_format_t</type>
      <name>timecode_format</name>
      <anchorfile>structgavl__video__format__s.html</anchorfile>
      <anchor>af979700df8551a54ee9aaf3fb169566b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>gavl_video_frame_t</name>
    <filename>structgavl__video__frame__t.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>planes</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>ae0b7472c964b7b911e350d9479879402</anchor>
      <arglist>[GAVL_MAX_PLANES]</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>strides</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>aaf83db825e4637ebaadc7fb122cf1eed</anchor>
      <arglist>[GAVL_MAX_PLANES]</arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>user_data</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>a4f837ecaa5ccd37b9032d4a4e14ed09f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>timestamp</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>ab4bbded5d1ed258e47f21c0fb98a97af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>duration</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>af80c1b1ca9420d70f6067b3412859c41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_interlace_mode_t</type>
      <name>interlace_mode</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>a6ba1114928cb4a47f667f772ec2c02a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>gavl_timecode_t</type>
      <name>timecode</name>
      <anchorfile>structgavl__video__frame__t.html</anchorfile>
      <anchor>aae8654280ed644ea42cba96317a8d08f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="dir">
    <name>/home/pix/Src/Gmerlin_svn/gavl/doc/</name>
    <path>/home/pix/Src/Gmerlin_svn/gavl/doc/</path>
    <filename>dir_af20ec4551ec7181023f470efcbbe418.html</filename>
    <file>mainpage.incl</file>
  </compound>
  <compound kind="dir">
    <name>/home/pix/Src/Gmerlin_svn/gavl/include/gavl/</name>
    <path>/home/pix/Src/Gmerlin_svn/gavl/include/gavl/</path>
    <filename>dir_53e8e735b55ca0d1d0a896e6aca9442e.html</filename>
    <file>compression.h</file>
    <file>gavl.h</file>
    <file>gavldsp.h</file>
    <file>gavltime.h</file>
    <file>timecode.h</file>
  </compound>
  <compound kind="dir">
    <name>/home/pix/Src/Gmerlin_svn/gavl/include/</name>
    <path>/home/pix/Src/Gmerlin_svn/gavl/include/</path>
    <filename>dir_b8e22912d0447171684e031f5949984c.html</filename>
    <dir>/home/pix/Src/Gmerlin_svn/gavl/include/gavl/</dir>
  </compound>
</tagfile>
