Update docs
[platform/upstream/gst-libav.git] / docs / plugins / inspect / plugin-libav.xml
index d004a96..24accf0 100644 (file)
@@ -3,7 +3,7 @@
   <description>All libav codecs and formats (local snapshot)</description>
   <filename>../../ext/libav/.libs/libgstlibav.so</filename>
   <basename>libgstlibav.so</basename>
-  <version>1.13.90</version>
+  <version>1.15.90</version>
   <license>LGPL</license>
   <source>gst-libav</source>
   <package>GStreamer libav source release</package>
@@ -68,7 +68,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)U8</details>
+          <details>audio/x-raw, format=(string)U8, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
@@ -89,7 +89,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)U8</details>
+          <details>audio/x-raw, format=(string)U8, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S32LE</details>
+          <details>audio/x-raw, format=(string)S32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
       </pads>
     </element>
     <element>
+      <name>avdec_aptx</name>
+      <longname>libav aptX (Audio Processing Technology for Bluetooth) decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav aptx decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S32LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_aptx_hd</name>
+      <longname>libav aptX HD (Audio Processing Technology for Bluetooth) decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav aptx_hd decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S32LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avdec_asv1</name>
       <longname>libav ASUS V1 decoder</longname>
       <class>Codec/Decoder/Video</class>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_atrac9</name>
+      <longname>libav ATRAC9 (Adaptive TRansform Acoustic Coding 9) decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav atrac9 decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ S16LE, S32LE, F32LE }</details>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE, F32LE }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>unknown/unknown</details>
+          <details>audio/x-dsd, lsbf=(boolean)true, planar=(boolean)false</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>unknown/unknown</details>
+          <details>audio/x-dsd, lsbf=(boolean)true, planar=(boolean)true</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>unknown/unknown</details>
+          <details>audio/x-dsd, lsbf=(boolean)false, planar=(boolean)false</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>unknown/unknown</details>
+          <details>audio/x-dsd, lsbf=(boolean)false, planar=(boolean)true</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ S16LE, S32LE }</details>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE }, layout=(string)interleaved; audio/x-raw, format=(string){ S16LE, S32LE }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
       </pads>
     </element>
     <element>
+      <name>avdec_ilbc</name>
+      <longname>libav iLBC (Internet Low Bitrate Codec) decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav ilbc decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avdec_imc</name>
       <longname>libav IMC (Intel Music Coder) decoder</longname>
       <class>Codec/Decoder/Audio</class>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_imm4</name>
+      <longname>libav Infinity IMM4 decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>libav imm4 decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>unknown/unknown</details>
+          <details>audio/x-voxware</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-gst-av-mp3adu</details>
+          <details>audio/x-gst-av-mp3adufloat</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-gst-av-mp3adu</details>
+          <details>audio/x-gst-av-mp3adufloat</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-gst-av-mp3on4</details>
+          <details>audio/x-gst-av-mp3on4float</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-gst-av-mp3on4</details>
+          <details>audio/x-gst-av-mp3on4float</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
       </pads>
     </element>
     <element>
+      <name>avdec_mwsc</name>
+      <longname>libav MatchWare Screen Capture Codec decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>libav mwsc decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avdec_mxpeg</name>
       <longname>libav Mobotix MxPEG video decoder</longname>
       <class>Codec/Decoder/Video</class>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S32LE</details>
+          <details>audio/x-raw, format=(string)S32LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_pcm_vidc</name>
+      <longname>libav PCM Archimedes VIDC decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav pcm_vidc decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
     </element>
     <element>
       <name>avdec_prores</name>
-      <longname>libav ProRes decoder</longname>
+      <longname>libav ProRes (iCodec Pro) decoder</longname>
       <class>Codec/Decoder/Video</class>
       <description>libav prores decoder</description>
       <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
       </pads>
     </element>
     <element>
-      <name>avdec_prores_lgpl</name>
-      <longname>libav Apple ProRes (iCodec Pro) decoder</longname>
+      <name>avdec_prosumer</name>
+      <longname>libav Brooktree ProSumer Video decoder</longname>
       <class>Codec/Decoder/Video</class>
-      <description>libav prores_lgpl decoder</description>
+      <description>libav prosumer decoder</description>
       <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-prores</details>
+          <details>unknown/unknown</details>
         </caps>
         <caps>
           <name>src</name>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_rasc</name>
+      <longname>libav RemotelyAnywhere Screen Capture decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>libav rasc decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
       </pads>
     </element>
     <element>
+      <name>avdec_sbc</name>
+      <longname>libav SBC (low-complexity subband codec) decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>libav sbc decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avdec_scpr</name>
       <longname>libav ScreenPressor decoder</longname>
       <class>Codec/Decoder/Video</class>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ S16LE, U8 }</details>
+          <details>audio/x-raw, format=(string){ S16LE, U8 }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avdec_wcmv</name>
+      <longname>libav WinCAM Motion Video decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>libav wcmv decoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ S16LE, S32LE }</details>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE }, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+          <details>audio/x-raw, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }, layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved</details>
         </caps>
       </pads>
     </element>
     </element>
     <element>
       <name>avdemux_avs</name>
-      <longname>libav AVS demuxer</longname>
+      <longname>libav Argonaut Games Creature Shock demuxer</longname>
       <class>Codec/Demuxer</class>
-      <description>libav AVS demuxer</description>
+      <description>libav Argonaut Games Creature Shock demuxer</description>
       <author>Wim Taymans &lt;wim@fluendo.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
       <pads>
         <caps>
       </pads>
     </element>
     <element>
-      <name>avdemux_ea</name>
-      <longname>libav Electronic Arts Multimedia demuxer</longname>
+      <name>avdemux_dsf</name>
+      <longname>libav DSD Stream File (DSF) demuxer</longname>
       <class>Codec/Demuxer</class>
-      <description>libav Electronic Arts Multimedia demuxer</description>
+      <description>libav DSD Stream File (DSF) demuxer</description>
       <author>Wim Taymans &lt;wim@fluendo.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>application/x-gst-av-ea</details>
+          <details>application/x-gst-av-dsf</details>
         </caps>
         <caps>
           <name>audio_%u</name>
       </pads>
     </element>
     <element>
-      <name>avdemux_ffm</name>
-      <longname>libav FFM (FFserver live feed) demuxer</longname>
+      <name>avdemux_ea</name>
+      <longname>libav Electronic Arts Multimedia demuxer</longname>
       <class>Codec/Demuxer</class>
-      <description>libav FFM (FFserver live feed) demuxer</description>
+      <description>libav Electronic Arts Multimedia demuxer</description>
       <author>Wim Taymans &lt;wim@fluendo.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>application/x-gst-av-ffm</details>
+          <details>application/x-gst-av-ea</details>
         </caps>
         <caps>
           <name>audio_%u</name>
       </pads>
     </element>
     <element>
+      <name>avdemux_iff</name>
+      <longname>libav IFF (Interchange File Format) demuxer</longname>
+      <class>Codec/Demuxer</class>
+      <description>libav IFF (Interchange File Format) demuxer</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-gst-av-iff</details>
+        </caps>
+        <caps>
+          <name>audio_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>video_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avdemux_ipmovie</name>
       <longname>libav Interplay MVE demuxer</longname>
       <class>Codec/Demuxer</class>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 6 ], rate=(int){ 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 }, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 6 ], rate=(int){ 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 }, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int){ 11025, 22050, 44100 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int){ 11025, 22050, 44100 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)2, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)7, channel-mask=(bitmask)0x000000000000013f, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }; audio/x-raw, channels=(int)8, channel-mask=(bitmask)0x00000000000000ff, rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ S32LE, S16LE }</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)7, channel-mask=(bitmask)0x000000000000013f, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved; audio/x-raw, channels=(int)8, channel-mask=(bitmask)0x00000000000000ff, rate=(int)[ 4000, 96000 ], format=(string){ S32LE, S16LE }, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
       </pads>
     </element>
     <element>
+      <name>avenc_aptx</name>
+      <longname>libav aptX (Audio Processing Technology for Bluetooth) encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>libav aptx encoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, channels=(int)2, rate=(int){ 8000, 16000, 24000, 32000, 44100, 48000 }, format=(string)S32LE, layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>avenc_aptx_hd</name>
+      <longname>libav aptX HD (Audio Processing Technology for Bluetooth) encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>libav aptx_hd encoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, channels=(int)2, rate=(int){ 8000, 16000, 24000, 32000, 44100, 48000 }, format=(string)S32LE, layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avenc_asv1</name>
       <longname>libav ASUS V1 encoder</longname>
       <class>Codec/Encoder/Video</class>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channels=(int)2, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, layout=(string)interleaved, format=(string)S32LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, format=(string)S32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, format=(string)S32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, format=(string)S32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, format=(string)S32LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 8000, 16000, 32000, 11025, 22050, 44100, 12000, 24000, 48000 }, format=(string)S32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000c03, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c07, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, channel-mask=(bitmask)0x000000000000000c, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000010b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000c0b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000003b, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x0000000000000c0f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 48000, 44100, 32000 }, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, A420, Y444, Y42B, Y41B, YUV9, BGRx, BGRA, I420_10LE, I422_10LE, Y444_10LE, I420_12LE, I422_12LE, Y444_12LE, A444_10LE, A422_10LE, A420_10LE, GRAY16_LE, GRAY8, GBR_10LE, GBR_12LE }</details>
+          <details>video/x-raw, format=(string){ I420, A420, Y444, Y42B, Y41B, YUV9, BGRx, BGRA, I420_10LE, I422_10LE, Y444_10LE, I420_12LE, I422_12LE, Y444_12LE, A444_10LE, A422_10LE, A420_10LE, GRAY16_LE, GRAY8, GBR_10LE, GBR_12LE, GBRA_12LE }</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 16000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 8000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 8000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGB, Y444, GRAY8, I420, Y42B, YUV9, Y41B }</details>
+          <details>video/x-raw, format=(string){ RGB, Y444, GRAY8, I420, Y42B, YUV9, Y41B, RGB8P }</details>
         </caps>
         <caps>
           <name>src</name>
       </pads>
     </element>
     <element>
+      <name>avenc_magicyuv</name>
+      <longname>libav MagicYUV video encoder</longname>
+      <class>Codec/Encoder/Video</class>
+      <description>libav magicyuv encoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ GBR, GBRA, Y42B, I420, Y444, GRAY8 }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avenc_mjpeg</name>
       <longname>libav MJPEG (Motion JPEG) encoder</longname>
       <class>Codec/Encoder/Image</class>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)2, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000103, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000033, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x000000000000000b, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)3, channel-mask=(bitmask)0x0000000000000007, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x0000000000000107, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)4, channel-mask=(bitmask)0x000000000000000f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x000000000000010f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int)48000, format=(string)F32LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int)48000, format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
       </pads>
     </element>
     <element>
+      <name>avenc_pcm_vidc</name>
+      <longname>libav PCM Archimedes VIDC encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>libav pcm_vidc encoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avenc_pcx</name>
       <longname>libav PC Paintbrush PCX image encoder</longname>
       <class>Codec/Encoder/Image</class>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)I422_10LE</details>
+          <details>video/x-raw, format=(string){ I422_10LE, Y444_10LE }</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)I422_10LE</details>
+          <details>video/x-raw, format=(string){ I422_10LE, Y444_10LE }</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)1, rate=(int)8000, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)1, rate=(int)8000, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int){ 22050 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int){ 22050 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)48000, layout=(string)interleaved, format=(string){ S32LE, S16LE }</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)48000, format=(string){ S32LE, S16LE }, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
       </pads>
     </element>
     <element>
+      <name>avenc_sbc</name>
+      <longname>libav SBC (low-complexity subband codec) encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>libav sbc encoder</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, channels=(int)1, rate=(int){ 16000, 32000, 44100, 48000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)2, rate=(int){ 16000, 32000, 44100, 48000 }, format=(string)S16LE, layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>unknown/unknown</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avenc_sgi</name>
       <longname>libav SGI image encoder</longname>
       <class>Codec/Encoder/Image</class>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)2, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, layout=(string)interleaved, format=(string)S16LE</details>
+          <details>audio/x-raw, channels=(int)2, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)5, channel-mask=(bitmask)0x0000000000000037, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved; audio/x-raw, channels=(int)6, channel-mask=(bitmask)0x000000000000003f, rate=(int){ 44100, 48000, 88200, 96000, 176400, 192000 }, format=(string)S16LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ U8, S16LE, S32LE }</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string){ U8, S16LE, S32LE }, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGB, RGBA, Y42B, I420, Y444 }</details>
+          <details>video/x-raw, format=(string){ GBR, GBRA, Y42B, I420, Y444 }</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE }</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string){ U8, S16LE, S32LE, F32LE }, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], layout=(string)interleaved, format=(string)F32LE</details>
+          <details>audio/x-raw, channels=(int)[ 1, 2 ], rate=(int)[ 4000, 96000 ], format=(string)F32LE, layout=(string)interleaved</details>
         </caps>
         <caps>
           <name>src</name>
       </pads>
     </element>
     <element>
+      <name>avmux_codec2</name>
+      <longname>libav codec2 .c2 muxer muxer</longname>
+      <class>Codec/Muxer</class>
+      <description>libav codec2 .c2 muxer muxer</description>
+      <author>Wim Taymans &lt;wim.taymans@chello.be&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-gst-av-codec2</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avmux_dash</name>
       <longname>libav DASH Muxer muxer</longname>
       <class>Codec/Muxer</class>
       </pads>
     </element>
     <element>
-      <name>avmux_ffm</name>
-      <longname>libav FFM (FFserver live feed) muxer</longname>
+      <name>avmux_film_cpk</name>
+      <longname>libav Sega FILM / CPK muxer</longname>
       <class>Codec/Muxer</class>
-      <description>libav FFM (FFserver live feed) muxer</description>
+      <description>libav Sega FILM / CPK muxer</description>
       <author>Wim Taymans &lt;wim.taymans@chello.be&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
       <pads>
         <caps>
-          <name>audio_%u</name>
-          <direction>sink</direction>
-          <presence>request</presence>
-          <details>audio/mpeg, channels=(int)[ 1, 2 ], rate=(int){ 48000, 44100, 32000, 24000, 22050, 16000 }, mpegversion=(int)1, layer=(int)2</details>
-        </caps>
-        <caps>
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/mpeg, mpegversion=(int)1, systemstream=(boolean)false</details>
+          <details>video/x-cinepak</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>application/x-gst-av-ffm</details>
+          <details>application/x-gst-av-film_cpk</details>
         </caps>
       </pads>
     </element>
       </pads>
     </element>
     <element>
+      <name>avmux_vidc</name>
+      <longname>libav PCM Archimedes VIDC muxer</longname>
+      <class>Codec/Muxer</class>
+      <description>libav PCM Archimedes VIDC muxer</description>
+      <author>Wim Taymans &lt;wim.taymans@chello.be&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-gst-av-vidc</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>avmux_vob</name>
       <longname>libav MPEG-2 PS (VOB) muxer</longname>
       <class>Codec/Muxer</class>