<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="Mpeg4aspConfig">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="presetConfiguration" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string"/>
              <xs:element name="type">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="default"/>
                    <xs:enumeration value="user"/>
                    <xs:enumeration value="system"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="encodeOptions" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="mode">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="CQP"/>
                    <xs:enumeration value="2PASS SIZE"/>
                    <xs:enumeration value="2PASS ABR"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="parameter" type="uint"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Mpeg4aspOptions">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="motionEstimationMethod">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="none"/>
                    <xs:enumeration value="full"/>
                    <xs:enumeration value="log"/>
                    <xs:enumeration value="phods"/>
                    <xs:enumeration value="epzs"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="fourMotionVector" type="xs:boolean" minOccurs="0"/>
              <xs:element name="maximumBFrames" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:integer">
                    <xs:minInclusive value="0"/>
                    <xs:maxInclusive value="32"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="quarterPixel" type="xs:boolean" minOccurs="0"/>
              <xs:element name="globalMotionCompensation" type="xs:boolean" minOccurs="0"/>
              <xs:element name="quantisationType">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="h263"/>
                    <xs:enumeration value="mpeg"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="macroblockDecisionMode">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="sad"/>
                    <xs:enumeration value="fewestBits"/>
                    <xs:enumeration value="rateDistortion"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="minimumQuantiser" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:integer">
                    <xs:minInclusive value="1"/>
                    <xs:maxInclusive value="31"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="maximumQuantiser" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:integer">
                    <xs:minInclusive value="1"/>
                    <xs:maxInclusive value="31"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="quantiserDifference" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:integer">
                    <xs:minInclusive value="1"/>
                    <xs:maxInclusive value="31"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="trellis" type="xs:boolean" minOccurs="0"/>
              <xs:element name="quantiserCompression" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:float">
                    <xs:minInclusive value="0"/>
                    <xs:maxInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="quantiserBlur" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:float">
                    <xs:minInclusive value="0"/>
                    <xs:maxInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="uint">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
