<plugin>
  <name>frei0r</name>
  <description>frei0r plugin library</description>
  <filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
  <basename>libgstfrei0r.so</basename>
  <version>1.0.4</version>
  <license>LGPL</license>
  <source>gst-plugins-bad</source>
  <package>GStreamer Bad Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>frei0r-filter-3-point-color-balance</name>
      <longname>3 point color balance</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjust color balance with 3 color points</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Maksim Golovkin</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-3dflippo</name>
      <longname>3dflippo</longname>
      <class>Filter/Effect/Video</class>
      <description>Frame rotation in 3d-space</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, c.e. prelz AS FLUIDO &lt;fluido@fluido.as&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ BGRA, RGBA, ABGR, ARGB, BGRx, RGBx, xBGR, xRGB, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ BGRA, RGBA, ABGR, ARGB, BGRx, RGBx, xBGR, xRGB, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-b</name>
      <longname>B</longname>
      <class>Filter/Effect/Video</class>
      <description>Extracts Blue from Image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-baltan</name>
      <longname>Baltan</longname>
      <class>Filter/Effect/Video</class>
      <description>delayed alpha smoothed blit of time</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Kentaro, Jaromil</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-bluescreen0r</name>
      <longname>bluescreen0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Color to alpha (blit SRCALPHA)</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Hedde Bosman</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-brightness</name>
      <longname>Brightness</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjusts the brightness of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-bw0r</name>
      <longname>bw0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Turns image black/white.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, coma@gephex.org</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-cartoon</name>
      <longname>Cartoon</longname>
      <class>Filter/Effect/Video</class>
      <description>Cartoonify video, do a form of edge detect</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Dries Pruimboom, Jaromil</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-color-distance</name>
      <longname>Color Distance</longname>
      <class>Filter/Effect/Video</class>
      <description>No details</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-contrast0r</name>
      <longname>Contrast0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjusts the contrast of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-curves</name>
      <longname>Curves</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjust luminance or color channel intensity with curve level mapping</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Maksim Golovkin</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-dealygrab</name>
      <longname>Dealygrab</longname>
      <class>Filter/Effect/Video</class>
      <description>delayed frame blitting mapped on a time bitmap</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Bill Spinhover, Andreas Schiffler, Jaromil</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-delay0r</name>
      <longname>delay0r</longname>
      <class>Filter/Effect/Video</class>
      <description>video delay</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-distort0r</name>
      <longname>Distort0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Plasma</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Gephex crew</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-edgeglow</name>
      <longname>Edgeglow</longname>
      <class>Filter/Effect/Video</class>
      <description>Edgeglow filter</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Salsaman</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-equaliz0r</name>
      <longname>Equaliz0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Equalizes the intensity histograms</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal (Drone)</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-flippo</name>
      <longname>Flippo</longname>
      <class>Filter/Effect/Video</class>
      <description>Flipping in x and y axis</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Carlo Emilio, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ BGRA, RGBA, ABGR, ARGB, BGRx, RGBx, xBGR, xRGB, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ BGRA, RGBA, ABGR, ARGB, BGRx, RGBx, xBGR, xRGB, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-g</name>
      <longname>G</longname>
      <class>Filter/Effect/Video</class>
      <description>Extracts Green from Image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-gamma</name>
      <longname>Gamma</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjusts the gamma value of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-glow</name>
      <longname>Glow</longname>
      <class>Filter/Effect/Video</class>
      <description>Creates a Glamorous Glow</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-hueshift0r</name>
      <longname>Hueshift0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Shifts the hue of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-invert0r</name>
      <longname>Invert0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Inverts all colors of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Gephex crew</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-k-means-clustering</name>
      <longname>K-Means Clustering</longname>
      <class>Filter/Effect/Video</class>
      <description>Clusters of a source image by color and spatial distance</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, binarymillenium</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-lens-correction</name>
      <longname>Lens Correction</longname>
      <class>Filter/Effect/Video</class>
      <description>Allows compensation of lens distortion</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-letterb0xed</name>
      <longname>LetterB0xed</longname>
      <class>Filter/Effect/Video</class>
      <description>Adds Black Borders at top and bottom for Cinema Look</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-levels</name>
      <longname>Levels</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjust luminance or color channel intensity</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Maksim Golovkin</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-luminance</name>
      <longname>Luminance</longname>
      <class>Filter/Effect/Video</class>
      <description>Creates a luminance map of the image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-mask0mate</name>
      <longname>Mask0Mate</longname>
      <class>Filter/Effect/Video</class>
      <description>Creates an square alpha-channel mask</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-nervous</name>
      <longname>Nervous</longname>
      <class>Filter/Effect/Video</class>
      <description>flushes frames in time in a nervous way</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Tannenbaum, Kentaro, Jaromil</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-nosync0r</name>
      <longname>nosync0r</longname>
      <class>Filter/Effect/Video</class>
      <description>broken tv</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-opencvfacedetect</name>
      <longname>opencvfacedetect</longname>
      <class>Filter/Effect/Video</class>
      <description>detect faces</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, binarymillenium</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-perspective</name>
      <longname>Perspective</longname>
      <class>Filter/Effect/Video</class>
      <description>Distorts the image for a pseudo perspective</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-pixeliz0r</name>
      <longname>pixeliz0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Pixelize input image.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Gephex crew</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-primaries</name>
      <longname>primaries</longname>
      <class>Filter/Effect/Video</class>
      <description>Reduce image to primary colors</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Hedde Bosman</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-r</name>
      <longname>R</longname>
      <class>Filter/Effect/Video</class>
      <description>Extracts Red from Image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-rgb-parade</name>
      <longname>RGB-Parade</longname>
      <class>Filter/Effect/Video</class>
      <description>Displays a histogram of R, G and B of the video-data</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Albert Frisch</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-saturat0r</name>
      <longname>Saturat0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjusts the saturation of a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-scale0tilt</name>
      <longname>Scale0Tilt</longname>
      <class>Filter/Effect/Video</class>
      <description>Scales, Tilts and Crops an Image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-scanline0r</name>
      <longname>scanline0r</longname>
      <class>Filter/Effect/Video</class>
      <description>interlaced blak lines</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-sobel</name>
      <longname>Sobel</longname>
      <class>Filter/Effect/Video</class>
      <description>Sobel filter</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal (Drone)</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-squareblur</name>
      <longname>Squareblur</longname>
      <class>Filter/Effect/Video</class>
      <description>Variable-size square blur</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Drone</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-tehroxx0r</name>
      <longname>TehRoxx0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Something videowall-ish</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Coma</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-threelay0r</name>
      <longname>threelay0r</longname>
      <class>Filter/Effect/Video</class>
      <description>dynamic 3 level thresholding</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Hedde Bosman</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-threshold0r</name>
      <longname>Threshold0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Thresholds a source image</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-tint0r</name>
      <longname>Tint0r</longname>
      <class>Filter/Effect/Video</class>
      <description>Tint a source image with specified color</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Maksim Golovkin</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-transparency</name>
      <longname>Transparency</longname>
      <class>Filter/Effect/Video</class>
      <description>Tunes the alpha channel.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-twolay0r</name>
      <longname>Twolay0r</longname>
      <class>Filter/Effect/Video</class>
      <description>dynamic thresholding</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-vectorscope</name>
      <longname>Vectorscope</longname>
      <class>Filter/Effect/Video</class>
      <description>Displays the vectorscope of the video-data</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Albert Frisch</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-vertigo</name>
      <longname>Vertigo</longname>
      <class>Filter/Effect/Video</class>
      <description>alpha blending with zoomed and rotated images</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Fukuchi Kentarou</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-water</name>
      <longname>Water</longname>
      <class>Filter/Effect/Video</class>
      <description>water drops on a video surface</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jaromil</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-filter-white-balance</name>
      <longname>White Balance</longname>
      <class>Filter/Effect/Video</class>
      <description>Adjust the white balance / color temperature</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Dan Dennedy</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-addition</name>
      <longname>addition</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] addition operation of the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alpha-injection</name>
      <longname>Alpha Injection</longname>
      <class>Filter/Editor/Video</class>
      <description>Averages Input 1 and uses this as Alpha Channel on Input 2</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alphaatop</name>
      <longname>alphaatop</longname>
      <class>Filter/Editor/Video</class>
      <description>the alpha ATOP operation</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alphain</name>
      <longname>alphain</longname>
      <class>Filter/Editor/Video</class>
      <description>the alpha IN operation</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alphaout</name>
      <longname>alphaout</longname>
      <class>Filter/Editor/Video</class>
      <description>the alpha OUT operation</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alphaover</name>
      <longname>alphaover</longname>
      <class>Filter/Editor/Video</class>
      <description>the alpha OVER operation</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-alphaxor</name>
      <longname>alphaxor</longname>
      <class>Filter/Editor/Video</class>
      <description>the alpha XOR operation</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-blend</name>
      <longname>blend</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a blend operation between two sources</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-burn</name>
      <longname>burn</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] dodge operation between the pixel sources, using the generalised algorithm:
D = saturation of 255 or depletion of 0, of ((255 - A) * 256) / (B + 1)</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-color-only</name>
      <longname>color_only</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a conversion to color only of the source input1 using the hue and saturation values of input2.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-composition</name>
      <longname>Composition</longname>
      <class>Filter/Editor/Video</class>
      <description>Composites Image 2 onto Image 1 according to its Alpha Channel</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-darken</name>
      <longname>darken</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a darken operation between two sources (minimum value of both sources).</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-difference</name>
      <longname>difference</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] difference operation between the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-divide</name>
      <longname>divide</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] divide operation between the pixel sources: input1 is the numerator, input2 the denominator</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-dodge</name>
      <longname>dodge</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] dodge operation between the pixel sources, using the generalised algorithm:
D = saturation of 255 or (A * 256) / (256 - B)</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-grain-extract</name>
      <longname>grain_extract</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] grain-extract operation between the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-grain-merge</name>
      <longname>grain_merge</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] grain-merge operation between the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-hardlight</name>
      <longname>hardlight</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] hardlight operation between the pixel sources</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-hue</name>
      <longname>hue</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a conversion to hue only of the source input1 using the hue of input2.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-lighten</name>
      <longname>lighten</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a lighten operation between two sources (maximum value of both sources).</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-multiply</name>
      <longname>multiply</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] multiply operation between the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-overlay</name>
      <longname>overlay</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] overlay operation between the pixel sources, using the generalised algorithm:
D =  A * (B + (2 * B) * (255 - A))</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-rgb</name>
      <longname>RGB</longname>
      <class>Filter/Editor/Video</class>
      <description>Averages each Input and uses each as R, G or B channel of the Output</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_2</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-saturation</name>
      <longname>saturation</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a conversion to saturation only of the source input1 using the saturation level of input2.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-screen</name>
      <longname>screen</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] screen operation between the pixel sources, using the generalised algorithm:
D = 255 - (255 - A) * (255 - B)</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-softlight</name>
      <longname>softlight</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] softlight operation between the pixel sources.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-subtract</name>
      <longname>subtract</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform an RGB[A] subtract operation of the pixel source input2 from input1.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-uv-map</name>
      <longname>UV Map</longname>
      <class>Filter/Editor/Video</class>
      <description>Uses Input 1 as UV Map to distort Input 2</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Richard Spindler</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-value</name>
      <longname>value</longname>
      <class>Filter/Editor/Video</class>
      <description>Perform a conversion to value only of the source input1 using the value of input2.</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jean-Sebastien Senecal</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-mixer-xfade0r</name>
      <longname>xfade0r</longname>
      <class>Filter/Editor/Video</class>
      <description>a simple xfader</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>sink_0</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>sink_1</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-ising0r</name>
      <longname>Ising0r</longname>
      <class>Src/Video</class>
      <description>Generates ising noise</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Gephex crew</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-lissajous0r</name>
      <longname>Lissajous0r</longname>
      <class>Src/Video</class>
      <description>Generates Lissajous0r images</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-nois0r</name>
      <longname>Nois0r</longname>
      <class>Src/Video</class>
      <description>Generates white noise images</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-onecol0r</name>
      <longname>onecol0r</longname>
      <class>Src/Video</class>
      <description>image with just one color</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Martin Bayer</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-partik0l</name>
      <longname>Partik0l</longname>
      <class>Src/Video</class>
      <description>Particles generated on prime number sinusoidal blossoming</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jaromil</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>frei0r-src-plasma</name>
      <longname>Plasma</longname>
      <class>Src/Video</class>
      <description>Demo scene 8bit plasma</description>
      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;, Jaromil</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>