<plugin>
  <name>pnm</name>
  <description>PNM plugin</description>
  <filename>../../gst/pnm/.libs/libgstpnm.so</filename>
  <basename>libgstpnm.so</basename>
  <version>1.9.2</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>pnmdec</name>
      <longname>PNM image decoder</longname>
      <class>Codec/Decoder/Image</class>
      <description>Decodes images in portable pixmap/graymap/bitmap/anymamp (PNM) format</description>
      <author>Lutz Mueller &lt;lutz@users.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>image/x-portable-bitmap; image/x-portable-graymap; image/x-portable-pixmap; image/x-portable-anymap</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ RGB, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>pnmenc</name>
      <longname>PNM image encoder</longname>
      <class>Codec/Encoder/Image</class>
      <description>Encodes images into portable pixmap or graymap (PNM) format</description>
      <author>Lutz Mueller &lt;lutz@users.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ RGB, GRAY8, GRAY16_BE, GRAY16_LE }, 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>image/x-portable-bitmap; image/x-portable-graymap; image/x-portable-pixmap; image/x-portable-anymap</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>