Qualify Validation

Qualify is an award winning, cloud native, file based QC service designed for broadcasters, content creators and distributors who need to meet industry requirements for media delivery. Ideal for media QC checks for inbound content from creators or outbound content delivery to Netflix and Prime or public broadcasters who require strict compliance for:

  • Format (codec, resolution, frame rate)
  • Bitrate and audio channels configuration
  • Video range, black levels, color gamut
  • Specific layout (bars + black + program)
  • Loudness levels (ATSC A/85, EBU R128)
  • Quality levels (blockiness, letterboxing)

Custom Qualify test plan creation is available in the Encoding.com UI and complete API integration documentation is referenced below. Please see the Qualify User Guide for more test plan configuration details and a Complete List of Qualify QC Tests.

🚧

Media Format

Qualify Validation available only for mp4, cablelabs_mpegts, mainconcept_mxf, and mxf_op1a output formats. For qc_check format, You can use all single-bitrate media containers, Mpeg-DASH container, and all video and audio codecs.

❗️

Template name as identifier

Prior to 7.22 release Qualify Template parameter name used as identifier, after 7.22 release template identifier changed to the unique GUID.
Template name still can be used as identifier but it's not recommended because now name parameter isn't unique e.g. it will address the first template with provided name.

<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>AddMedia</action>
    <source>[SourceFile|SourcePlaylist]</source><!-- required -->
    <format>
        <output>[mp4|cablelabs_mpegts|mainconcept_mxf|mxf_op1a]</output><!-- required -->
        <qc> 
            <qc_qualify_validation>
                <template_id>[TemplateGUID]</template_id><!-- required if template_json not specified -->
                <template>[TemplateName]</template><!-- optional, deprecated -->
                <template_json><![CDATA[
                    {
                        "name": "[TemplateName]",
                        "tests": {
                            [TestsList]
                        },
                        "package_layout": {
                            // package_layout params
                        },
                        "audio_layout": {
                            // audio_layout params
                        }
                    }
                ]]></template_json>
                <sidecar>[SidecarURL_1]</sidecar>
                <sidecar>[SidecarURL_2]</sidecar>
                <!-- ... -->
                <sidecar>[SidecarURL_N]</sidecar>
                <report_destination>[ReportDestinationURL]</report_destination>
                <send_pdf>[yes|no]</send_pdf>
            </qc_qualify_validation>
        </qc>
        <!-- format params -->
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "AddMedia", // required
        "source": "[SourceFile|SourcePlaylist]", // required
        "format": {
            "output": "[mp4|cablelabs_mpegts|mainconcept_mxf|mxf_op1a]", // required
            "qc": {
                "qc_qualify_validation": {
                    "template_id": "[TemplateGUID]", // required if template_json not specified
                    "template": "[TemplateName]", // optional, deprecated
                    "template_json": {
                        "name": "[TemplateName]",
                        "tests": {
                            [TestsList]
                        },
                        "package_layout": {
                            // package_layout params
                        },
                        "audio_layout": {
                            // audio_layout params
                        }
                    },
                    "sidecar": [
                        "SidecarURL_1",
                        "SidecarURL_2",
                        // ...
                        "SidecarURL_N"
                    ],
                    "report_destination": "[ReportDestinationURL]",
                    "send_pdf": "[yes|no]"
                }
            }
            // format params
        }
    }
}
<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>AddMedia</action>
    <source>[SourceFile|SourcePlaylist]</source><!-- required -->
    <format>
        <output>qc_check</output><!-- required -->
        <source_options>
            <qc> 
                <qc_qualify_validation>
                    <template_id>[TemplateGUID]</template_id><!-- required if template_json not specified -->
                    <template>[TemplateName]</template><!-- optional, deprecated -->
                    <template_json><![CDATA[
                        {
                            "name": "[TemplateName]",
                            "tests": {
                                [TestsList]
                            },
                            "package_layout": {
                                // package_layout params
                            },
                            "audio_layout": {
                                // audio_layout params
                            }
                        }
                    ]]></template_json>
                    <sidecar>[SidecarURL_1]</sidecar>
                    <sidecar>[SidecarURL_2]</sidecar>
                    <!-- ... -->
                    <sidecar>[SidecarURL_N]</sidecar>
                    <report_destination>[ReportDestinationURL]</report_destination>
                    <send_pdf>[yes|no]</send_pdf>
                </qc_qualify_validation>
            </qc>
        </source_options>
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "AddMedia", // required
        "source": "[SourceFile|SourcePlaylist]", // required
        "format": {
            "output": "qc_check", // required
            "source_options": {
                "qc": {
                    "qc_qualify_validation": {
                        "template_id": "[TemplateGUID]", // required if template_json not specified
                        "template": "[TemplateName]", // optional, deprecated
                        "template_json": {
                            "name": "[TemplateName]",
                            "tests": {
                                [TestsList]
                            },
                            "package_layout": {
                                // package_layout params
                            },
                            "audio_layout": {
                                // audio_layout params
                            }
                        },
                        "sidecar": [
                            "SidecarURL_1",
                            "SidecarURL_2",
                            // ...
                            "SidecarURL_N"
                        ],
                        "report_destination": "[ReportDestinationURL]",
                        "send_pdf": "[yes|no]"
                    }
                }
            }
        }
    }
}
ParameterDecriptionAllowed ValuesDefault Value
template_idQualify Template GUID.Stringnone
templateQualify Template name.
Deprected
Stringnone
template_jsonQualify Template JSONValid JSONnone
sidecarTemplate sidecar files arrayValid URLnone
report_destinationQualify QC report destination URLValid URL
String can contain placeholder $media_id$ that will be replaced with ID of QC media
none
send_pdfAttach a PDF report to the email notification from "qc_notify"yes, nono

🚧

For template_json parameter

  • If parameter <template_json /> specified then <template_id /> and <template /> parameters will be ignored.
  • It's not possible to refer to saved audio and package layouts by <id /> parameter.
  • Template specified in <template_json /> parameter not saved in database.

Full Template Schema - Engine Version 2024.9.1

{
    "$schema": "http://json-schema.org/schema#",
    "title": "Templates Schema",
    "type": "object",
    "description": "Represents a Qualify job template",
    "definitions": {
        "audio_program": {
            "type": "array",
            "items": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    65,
                    66,
                    68,
                    69,
                    70,
                    33,
                    34,
                    35
                ],
                "titleMap": [
                    {
                        "value": 0,
                        "name": "Unknown (U)"
                    },
                    {
                        "value": 1,
                        "name": "Left (L)"
                    },
                    {
                        "value": 2,
                        "name": "Right (R)"
                    },
                    {
                        "value": 3,
                        "name": "Center (C)"
                    },
                    {
                        "value": 4,
                        "name": "LFE (LFE)"
                    },
                    {
                        "value": 5,
                        "name": "Left Surround (Ls)"
                    },
                    {
                        "value": 6,
                        "name": "Right Surround (Rs)"
                    },
                    {
                        "value": 7,
                        "name": "Left Center (Lc)"
                    },
                    {
                        "value": 8,
                        "name": "Right Center (Rc)"
                    },
                    {
                        "value": 9,
                        "name": "Center Surround (Cs)"
                    },
                    {
                        "value": 10,
                        "name": "Left Side (Lsd)"
                    },
                    {
                        "value": 11,
                        "name": "Right Side (Rsd)"
                    },
                    {
                        "value": 12,
                        "name": "Top Center (Tcs)"
                    },
                    {
                        "value": 13,
                        "name": "Top Front Left (Tfl)"
                    },
                    {
                        "value": 14,
                        "name": "Top Front Center (Tfc)"
                    },
                    {
                        "value": 15,
                        "name": "Top Front Right (Tfr)"
                    },
                    {
                        "value": 16,
                        "name": "Top Back Left (Tbl)"
                    },
                    {
                        "value": 17,
                        "name": "Top Back Center (Tbc)"
                    },
                    {
                        "value": 18,
                        "name": "Top Back Right (Tbr)"
                    },
                    {
                        "value": 19,
                        "name": "Top Side Left (Tsl)"
                    },
                    {
                        "value": 20,
                        "name": "Top Side Right (Tsr)"
                    },
                    {
                        "value": 65,
                        "name": "Left Wide (Lw)"
                    },
                    {
                        "value": 66,
                        "name": "Right Wide (Rw)"
                    },
                    {
                        "value": 68,
                        "name": "LFE2 (LFE2)"
                    },
                    {
                        "value": 69,
                        "name": "Left Rear Surround (Lrs)"
                    },
                    {
                        "value": 70,
                        "name": "Right Rear Surround (Rrs)"
                    },
                    {
                        "value": 33,
                        "name": "Left Total (Lt)"
                    },
                    {
                        "value": 34,
                        "name": "Right Total (Rt)"
                    },
                    {
                        "value": 35,
                        "name": "Mono (M)"
                    }
                ]
            }
        },
        "audio_mapping": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/audio_program"
            }
        },
        "audio_layout": {
            "type": [
                "object",
                "null"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "layout": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audio_mapping"
                    }
                }
            },
            "required": [
                "name",
                "layout"
            ]
        },
        "package_layout": {
            "type": [
                "object",
                "null"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "video_index": {
                    "description": "Index of video track from ABR manifest file that will be used in checks\n",
                    "type": "integer",
                    "minimum": 1
                },
                "audio_indexes": {
                    "description": "Index of audio track from ABR manifest file that will be  used in checks\n",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "subtitle_indexes": {
                    "description": "Index of subtitle track from ABR manifest file that will be used in check\n",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            },
            "required": [
                "name",
                "video_index",
                "audio_indexes",
                "subtitle_indexes"
            ]
        },
        "media_layout": {
            "type": "object",
            "required": [
                "units"
            ],
            "properties": {
                "start": {
                    "title": "Start",
                    "$ref": "#/definitions/range_limit"
                },
                "end": {
                    "title": "End",
                    "$ref": "#/definitions/range_limit"
                },
                "start_timecode": {
                    "title": "Start Timecode",
                    "$ref": "#/definitions/timecode"
                },
                "end_timecode": {
                    "title": "End Timecode",
                    "$ref": "#/definitions/timecode"
                },
                "use_start_timecode_for_media_layout": {
                    "title": "Use Start Timecode For Media Layout",
                    "description": "Whether to use the start timecode of the media for the media layout.",
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "nullable": true,
                    "default": false
                },
                "units": {
                    "title": "Layout boundary units",
                    "$ref": "#/definitions/time_units_extended"
                }
            },
            "if": {
                "properties": {
                    "units": {
                        "const": 2
                    }
                }
            },
            "then": {
                "required": [
                    "start_timecode",
                    "end_timecode"
                ]
            },
            "else": {
                "required": [
                    "start",
                    "end"
                ]
            }
        },
        "upgrade_note": {
            "type": "object",
            "title": "Upgrade Note",
            "description": "Upgrade Note(s).",
            "additonalProperties": false,
            "required": [
                "version",
                "notes"
            ],
            "properties": {
                "version": {
                    "type": "string",
                    "title": "Upgrade Version",
                    "description": "The engine version that the template has been upgraded to.",
                    "minLength": 1
                },
                "notes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "audio_description_test_config": {
            "type": "object",
            "required": [
                "description",
                "control"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "description": {
                            "title": "Audio Description Channel",
                            "description": "The channel where the Audio Description should be present.",
                            "$ref": "#/definitions/uint32",
                            "minimum": 1
                        },
                        "control": {
                            "title": "Control Channel",
                            "description": "The channel where the Audio Description Control should be present.",
                            "$ref": "#/definitions/uint32",
                            "minimum": 1
                        },
                        "advanced": {
                            "title": "Advanced",
                            "description": "Enable advanced options.",
                            "type": "boolean",
                            "default": false
                        },
                        "ctrl_frequency": {
                            "title": "Control channel Frequency",
                            "description": "The expected frequency of the Control channel.",
                            "type": "number",
                            "default": 1280,
                            "suffix": "Hz"
                        },
                        "ctrl_frequency_tolerance": {
                            "title": "Control channel Frequency Tolerance",
                            "description": "The tolerance of the Control channel frequency.",
                            "type": "number",
                            "default": 20,
                            "suffix": "Hz"
                        },
                        "ctrl_amplitude": {
                            "title": "Control channel Amplitude",
                            "description": "The expected amplitude of the Control channel.",
                            "type": "number",
                            "default": -36,
                            "suffix": "dBFS"
                        },
                        "ctrl_amplitude_tolerance": {
                            "title": "Control channel Amplitude Tolerance",
                            "description": "The tolerance of the Control channel amplitude.",
                            "type": "number",
                            "default": 3,
                            "suffix": "dB"
                        }
                    }
                }
            ]
        },
        "audio_hiss_detection_test_config": {
            "type": "object",
            "required": [
                "target"
            ],
            "properties": {
                "target": {
                    "type": "number",
                    "title": "Target frequency",
                    "description": "The target frequency to look for, e.g. 15000 Hz.",
                    "default": 15000,
                    "minimum": 5000,
                    "maximum": 25000
                }
            },
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                }
            ]
        },
        "audio_hum_detection_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                }
            ]
        },
        "audio_identification_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/original_audio_config"
                },
                {
                    "properties": {
                        "language": {
                            "title": "Expected language",
                            "description": "Checks that identified language is the same as this one.",
                            "type": "string",
                            "enum": [
                                "ara",
                                "rus",
                                "hin",
                                "spa",
                                "por",
                                "eng",
                                "zho",
                                "fra",
                                "deu",
                                "ita",
                                "ell",
                                "tur",
                                "ukr",
                                "nld",
                                "jpn",
                                "kor",
                                "swe",
                                "pol",
                                "ben",
                                "urd",
                                "ces"
                            ],
                            "titleMap": [
                                {
                                    "value": "ara",
                                    "name": "Arabic - ara"
                                },
                                {
                                    "value": "rus",
                                    "name": "Russian - rus"
                                },
                                {
                                    "value": "hin",
                                    "name": "Hindi - hin"
                                },
                                {
                                    "value": "spa",
                                    "name": "Castilian, Spanish - spa"
                                },
                                {
                                    "value": "por",
                                    "name": "Portuguese - por"
                                },
                                {
                                    "value": "eng",
                                    "name": "English - eng"
                                },
                                {
                                    "value": "zho",
                                    "name": "Chinese - zho"
                                },
                                {
                                    "value": "fra",
                                    "name": "French - fra"
                                },
                                {
                                    "value": "deu",
                                    "name": "German - deu"
                                },
                                {
                                    "value": "ita",
                                    "name": "Italian - ita"
                                },
                                {
                                    "value": "ell",
                                    "name": "Greek - ell"
                                },
                                {
                                    "value": "tur",
                                    "name": "Turkish - tur"
                                },
                                {
                                    "value": "ukr",
                                    "name": "Ukrainian - ukr"
                                },
                                {
                                    "value": "nld",
                                    "name": "Dutch, Flemish - nld"
                                },
                                {
                                    "value": "jpn",
                                    "name": "Japanese - jpn"
                                },
                                {
                                    "value": "kor",
                                    "name": "Korean - kor"
                                },
                                {
                                    "value": "swe",
                                    "name": "Swedish - swe"
                                },
                                {
                                    "value": "pol",
                                    "name": "Polish - pol"
                                },
                                {
                                    "value": "ben",
                                    "name": "Bengali - ben"
                                },
                                {
                                    "value": "urd",
                                    "name": "Urdu - urd"
                                },
                                {
                                    "value": "ces",
                                    "name": "Czech - ces"
                                }
                            ],
                            "default": "eng"
                        },
                        "same_as_metadata": {
                            "title": "Identified language should be same as metadata",
                            "description": "Checks identified language against metadata, overrides chosen language.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ],
            "anyOf": [
                {
                    "required": [
                        "language"
                    ]
                },
                {
                    "required": [
                        "same_as_metadata"
                    ],
                    "properties": {
                        "same_as_metadata": {
                            "title": "Identified language should be same as metadata",
                            "description": "Checks identified language against metadata, overrides chosen language.",
                            "type": "boolean",
                            "default": true,
                            "const": true
                        }
                    }
                }
            ]
        },
        "blackframe_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "Must Be.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Black"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Black"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "caption_paint_style_test": {
            "type": "object",
            "required": [
                "enable"
            ],
            "properties": {
                "enable": {
                    "title": "Caption Styles",
                    "type": "boolean",
                    "description": "Find captions styles.",
                    "default": false
                },
                "allow_popon": {
                    "title": "Allow pop-on caption",
                    "type": "boolean",
                    "description": "Allow the pop-on caption style in the selected channel/service. i.e. This enabling this allows static/non-animated captions.",
                    "default": false
                },
                "allow_painton": {
                    "title": "Allow paint-on caption",
                    "type": "boolean",
                    "description": "Allow paint-on caption style in selected channels/services. i.e. This enabling this allows character-by-character animated captions.",
                    "default": false
                },
                "allow_rollup": {
                    "title": "Allow roll-up caption",
                    "type": "boolean",
                    "description": "Allow roll-up caption style in selected channels/services. i.e. This enabling this allows line-by-line animated captions. Often used in live broadcasts.",
                    "default": false
                }
            },
            "allOf": [
                {
                    "if": {
                        "not": {
                            "properties": {
                                "enable": {
                                    "const": false
                                }
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "allow_popon",
                            "allow_rollup",
                            "allow_painton"
                        ]
                    }
                }
            ]
        },
        "channelmapping_test_config": {
            "type": "object",
            "required": [
                "mapping"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "mapping": {
                            "title": "Channel Mapping",
                            "type": "string",
                            "pattern": "^$|^\\s*(?:U|L|R|C|LFE|Ls|Rs|Lc|Rc|Cs|Lsd|Rsd|Tcs|Tfl|Tfc|Tfr|Tbl|Tbc|Tbr|Tsl|Tsr|Lw|Rw|LFE2|Lrs|Rrs|Lt|Rt|M|,|\\s)*\\s*$",
                            "description": "Expected channel mapping. Use comma separated channel labels."
                        }
                    }
                }
            ]
        },
        "channel_position_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_center_freq": {
                            "title": "Minimum center channel frequency",
                            "type": "number",
                            "description": "Minimum center frequency.",
                            "default": 80,
                            "minimum": 0
                        },
                        "max_center_freq": {
                            "title": "Maximum center channel frequency",
                            "type": "number",
                            "description": "Maximum center frequency.",
                            "default": 6000,
                            "minimum": 0
                        },
                        "min_lfe_freq": {
                            "title": "Minimum LFE channel frequency",
                            "type": "number",
                            "description": "Minimum LFE frequency.",
                            "default": 3,
                            "minimum": 0
                        },
                        "max_lfe_freq": {
                            "title": "Maximum LFE channel frequency",
                            "type": "number",
                            "description": "Maximum LFE frequency.",
                            "default": 120,
                            "minimum": 0
                        }
                    }
                }
            ]
        },
        "clicksandpops_test_config": {
            "type": "object",
            "required": [
                "sensitivity"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "ignore_silence": {
                            "type": "boolean",
                            "title": "Ignore silence",
                            "description": "When turned on, silent parts will be ignored.",
                            "default": true
                        },
                        "sensitivity": {
                            "$ref": "#/definitions/customizable_sensitivity",
                            "title": "Sensitivity",
                            "description": "Determines how sensitive the test will be in detecting clicks and pops."
                        },
                        "custom_sensitivity": {
                            "type": "number",
                            "title": "Custom Sensitivity",
                            "description": "Custom sensitivity percentage. Higher is more sensitive.",
                            "minimum": 0.0,
                            "maximum": 100.0,
                            "default": 68.75
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "sensitivity": {
                                "const": 3
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "custom_sensitivity"
                        ]
                    }
                }
            ]
        },
        "clipping_test_config": {
            "type": "object",
            "required": [
                "sensitivity",
                "percentage_check"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_threshold": {
                            "type": "number",
                            "title": "Minimum Threshold",
                            "description": "Specify custom value where samples are suppressed and do not count towards the clipping test.",
                            "suffix": "dB",
                            "default": -60.0,
                            "minimum": -100
                        },
                        "sensitivity": {
                            "$ref": "#/definitions/customizable_sensitivity",
                            "title": "Sensitivity",
                            "description": "Determines the number of successive samples which must be equal before the sequence is deemed to contain clipping. Choose between High (least number of samples), Medium, and Low (most number of samples)."
                        },
                        "custom_sensitivity": {
                            "type": "number",
                            "title": "Custom Sensitivity",
                            "description": "Specify custom value for successive samples which must be equal before the sequence is deemed to contain clipping."
                        },
                        "units": {
                            "type": "integer",
                            "title": "Custom Sensitivity Units",
                            "description": "Custom Sensitivity Units.",
                            "enum": [
                                0,
                                1
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Samples"
                                },
                                {
                                    "value": 1,
                                    "name": "Milliseconds"
                                }
                            ]
                        },
                        "percentage_check": {
                            "title": "Percentage Check",
                            "description": "Whether to enable the percentage clipping check. This applies to the entire file/layout.",
                            "type": "boolean",
                            "default": false
                        },
                        "percentage": {
                            "title": "Percentage",
                            "description": "The maximum percentage of clipping allowed. 100% means the entire file/layout can be clipped.",
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100.0,
                            "default": 1,
                            "suffix": "%"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "sensitivity": {
                                        "const": 3
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "custom_sensitivity",
                                    "units"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "percentage_check": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "percentage"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "units": {
                                        "const": 0
                                    }
                                }
                            },
                            "then": {
                                "properties": {
                                    "custom_sensitivity": {
                                        "minimum": 2
                                    }
                                }
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "units": {
                                        "const": 1
                                    }
                                }
                            },
                            "then": {
                                "properties": {
                                    "custom_sensitivity": {
                                        "minimum": 0.1
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        "colorbar_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The color bar must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ColorBars"
                                },
                                {
                                    "value": 1,
                                    "name": "Not ColorBars"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "comparative_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "required": [
                        "second_audio_track",
                        "second_audio_track_type",
                        "mode",
                        "dialog_gating",
                        "tolerance"
                    ],
                    "properties": {
                        "second_audio_track": {
                            "title": "Mix 2",
                            "type": "integer",
                            "description": "Audio mix to compare with other mix.",
                            "minimum": 1,
                            "default": 1
                        },
                        "second_audio_track_type": {
                            "title": "Mix 2 type",
                            "type": "integer",
                            "description": "Audio mix type to test.",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Any"
                                },
                                {
                                    "value": 1,
                                    "name": "PCM"
                                },
                                {
                                    "value": 2,
                                    "name": "DolbyE"
                                },
                                {
                                    "value": 3,
                                    "name": "Encoded"
                                }
                            ],
                            "default": 0
                        },
                        "tolerance": {
                            "title": "Loudness Tolerance",
                            "description": "Specify the loudness (and tolerance range) within which the mixes' loudness must be in.",
                            "type": "number",
                            "default": 2.0,
                            "minimum": 0.0,
                            "suffix": "LU"
                        },
                        "mode": {
                            "title": "Loudness Mode",
                            "description": "Select standard to use for measuring comparative loudness.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ITU 1770-4 / EBU I"
                                },
                                {
                                    "value": 1,
                                    "name": "ITU 1770-1"
                                },
                                {
                                    "value": 3,
                                    "name": "ITU 1770-2"
                                },
                                {
                                    "value": 4,
                                    "name": "ITU 1770-3"
                                },
                                {
                                    "value": 2,
                                    "name": "ARIB TR-B32"
                                }
                            ]
                        },
                        "dialog_gating": {
                            "title": "Dialog Gating",
                            "description": "Measure loudness only when dialog is present.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ]
        },
        "iso639_2_languages": {
            "title": "Languages",
            "description": "Which language to check for.",
            "type": "array",
            "items": {
                "type": "string",
                "enum": [
                    "abk",
                    "ady",
                    "aar",
                    "afr",
                    "aka",
                    "sqi",
                    "amh",
                    "ara",
                    "arg",
                    "arp",
                    "aae",
                    "hye",
                    "rup",
                    "asm",
                    "ina",
                    "ava",
                    "ave",
                    "aym",
                    "aze",
                    "bam",
                    "bak",
                    "eus",
                    "bar",
                    "bel",
                    "ben",
                    "bih",
                    "bis",
                    "bos",
                    "bre",
                    "bul",
                    "mya",
                    "spa",
                    "cat",
                    "cha",
                    "che",
                    "zho",
                    "chv",
                    "cim",
                    "cor",
                    "cos",
                    "cre",
                    "crh",
                    "hrv",
                    "ces",
                    "dan",
                    "div",
                    "nld",
                    "dzo",
                    "eng",
                    "enm",
                    "myv",
                    "epo",
                    "est",
                    "ewe",
                    "fao",
                    "fij",
                    "fin",
                    "fra",
                    "frm",
                    "fur",
                    "frr",
                    "fry",
                    "ful",
                    "gla",
                    "glg",
                    "lug",
                    "kat",
                    "deu",
                    "ell",
                    "grn",
                    "guj",
                    "hat",
                    "hau",
                    "heb",
                    "her",
                    "hin",
                    "hmo",
                    "hun",
                    "isl",
                    "ido",
                    "ibo",
                    "ind",
                    "inh",
                    "ile",
                    "iku",
                    "ipk",
                    "gle",
                    "ita",
                    "jpn",
                    "jav",
                    "lad",
                    "kbd",
                    "kal",
                    "xal",
                    "kan",
                    "kau",
                    "krc",
                    "krl",
                    "kas",
                    "csb",
                    "kaz",
                    "khm",
                    "kik",
                    "kin",
                    "kir",
                    "kom",
                    "kon",
                    "kor",
                    "kua",
                    "kur",
                    "lao",
                    "lat",
                    "lav",
                    "ast",
                    "lim",
                    "lin",
                    "lit",
                    "lub",
                    "ltz",
                    "mkd",
                    "mlg",
                    "msa",
                    "mal",
                    "mlt",
                    "glv",
                    "mri",
                    "mar",
                    "chm",
                    "mah",
                    "mwl",
                    "mdf",
                    "ron",
                    "mon",
                    "nau",
                    "nav",
                    "ndo",
                    "nap",
                    "nep",
                    "nde",
                    "sme",
                    "nor",
                    "nob",
                    "nno",
                    "nya",
                    "oci",
                    "oji",
                    "ori",
                    "orm",
                    "oss",
                    "pli",
                    "pan",
                    "fas",
                    "pol",
                    "por",
                    "pus",
                    "que",
                    "roh",
                    "rom",
                    "run",
                    "rus",
                    "smo",
                    "sag",
                    "san",
                    "srd",
                    "sco",
                    "srp",
                    "sna",
                    "scn",
                    "snd",
                    "sin",
                    "slk",
                    "slv",
                    "som",
                    "wen",
                    "sot",
                    "nbl",
                    "sma",
                    "sun",
                    "swa",
                    "ssw",
                    "swe",
                    "gsw",
                    "tgl",
                    "tah",
                    "tgk",
                    "tam",
                    "tat",
                    "tel",
                    "tha",
                    "bod",
                    "tir",
                    "ton",
                    "tso",
                    "tsn",
                    "tur",
                    "tuk",
                    "twi",
                    "udm",
                    "uig",
                    "ukr",
                    "mis",
                    "urd",
                    "uzb",
                    "ven",
                    "vie",
                    "vol",
                    "wln",
                    "cym",
                    "wol",
                    "xho",
                    "yid",
                    "yor",
                    "zha",
                    "zul",
                    "none"
                ],
                "titleMap": [
                    {
                        "value": "abk",
                        "name": "Abkhazian - abk"
                    },
                    {
                        "value": "ady",
                        "name": "Adygei, Adyghe - ady"
                    },
                    {
                        "value": "aar",
                        "name": "Afar - aar"
                    },
                    {
                        "value": "afr",
                        "name": "Afrikaans - afr"
                    },
                    {
                        "value": "aka",
                        "name": "Akan - aka"
                    },
                    {
                        "value": "sqi",
                        "name": "Albanian - sqi"
                    },
                    {
                        "value": "amh",
                        "name": "Amharic - amh"
                    },
                    {
                        "value": "ara",
                        "name": "Arabic - ara"
                    },
                    {
                        "value": "arg",
                        "name": "Aragonese - arg"
                    },
                    {
                        "value": "arp",
                        "name": "Arapaho - arp"
                    },
                    {
                        "value": "aae",
                        "name": "Arbereshe Albanian - aae"
                    },
                    {
                        "value": "hye",
                        "name": "Armenian - hye"
                    },
                    {
                        "value": "rup",
                        "name": "Aromanian, Arumanian, Macedo-Romanian - rup"
                    },
                    {
                        "value": "asm",
                        "name": "Assamese - asm"
                    },
                    {
                        "value": "ina",
                        "name": "Auxiliary Language Association - ina"
                    },
                    {
                        "value": "ava",
                        "name": "Avaric - ava"
                    },
                    {
                        "value": "ave",
                        "name": "Avestan - ave"
                    },
                    {
                        "value": "aym",
                        "name": "Aymara - aym"
                    },
                    {
                        "value": "aze",
                        "name": "Azerbaijani - aze"
                    },
                    {
                        "value": "bam",
                        "name": "Bambara - bam"
                    },
                    {
                        "value": "bak",
                        "name": "Bashkir - bak"
                    },
                    {
                        "value": "eus",
                        "name": "Basque - eus"
                    },
                    {
                        "value": "bar",
                        "name": "Bavarian - bar"
                    },
                    {
                        "value": "bel",
                        "name": "Belarusian - bel"
                    },
                    {
                        "value": "ben",
                        "name": "Bengali - ben"
                    },
                    {
                        "value": "bih",
                        "name": "Bihari - bih"
                    },
                    {
                        "value": "bis",
                        "name": "Bislama - bis"
                    },
                    {
                        "value": "bos",
                        "name": "Bosnian - bos"
                    },
                    {
                        "value": "bre",
                        "name": "Breton - bre"
                    },
                    {
                        "value": "bul",
                        "name": "Bulgarian - bul"
                    },
                    {
                        "value": "mya",
                        "name": "Burmese - mya"
                    },
                    {
                        "value": "spa",
                        "name": "Castilian, Spanish - spa"
                    },
                    {
                        "value": "cat",
                        "name": "Catalan, Valencian - cat"
                    },
                    {
                        "value": "cha",
                        "name": "Chamorro - cha"
                    },
                    {
                        "value": "che",
                        "name": "Chechen - che"
                    },
                    {
                        "value": "zho",
                        "name": "Chinese - zho"
                    },
                    {
                        "value": "chv",
                        "name": "Chuvash - chv"
                    },
                    {
                        "value": "cim",
                        "name": "Cimbrian - cim"
                    },
                    {
                        "value": "cor",
                        "name": "Cornish - cor"
                    },
                    {
                        "value": "cos",
                        "name": "Corsican - cos"
                    },
                    {
                        "value": "cre",
                        "name": "Cree - cre"
                    },
                    {
                        "value": "crh",
                        "name": "Crimean Tatar, Crimean Turkish - crh"
                    },
                    {
                        "value": "hrv",
                        "name": "Croatian - hrv"
                    },
                    {
                        "value": "ces",
                        "name": "Czech - ces"
                    },
                    {
                        "value": "dan",
                        "name": "Danish - dan"
                    },
                    {
                        "value": "div",
                        "name": "Dhivehi, Divehi, Maldivian - div"
                    },
                    {
                        "value": "nld",
                        "name": "Dutch, Flemish - nld"
                    },
                    {
                        "value": "dzo",
                        "name": "Dzongkha - dzo"
                    },
                    {
                        "value": "eng",
                        "name": "English - eng"
                    },
                    {
                        "value": "enm",
                        "name": "Middle English - enm"
                    },
                    {
                        "value": "myv",
                        "name": "Erzya - myv"
                    },
                    {
                        "value": "epo",
                        "name": "Esperanto - epo"
                    },
                    {
                        "value": "est",
                        "name": "Estonian - est"
                    },
                    {
                        "value": "ewe",
                        "name": "Ewe - ewe"
                    },
                    {
                        "value": "fao",
                        "name": "Faroese - fao"
                    },
                    {
                        "value": "fij",
                        "name": "Fijian - fij"
                    },
                    {
                        "value": "fin",
                        "name": "Finnish - fin"
                    },
                    {
                        "value": "fra",
                        "name": "French - fra"
                    },
                    {
                        "value": "frm",
                        "name": "Middle French - frm"
                    },
                    {
                        "value": "fur",
                        "name": "Friulian - fur"
                    },
                    {
                        "value": "frr",
                        "name": "Northern Frisian - frr"
                    },
                    {
                        "value": "fry",
                        "name": "Western Frisian - fry"
                    },
                    {
                        "value": "ful",
                        "name": "Fulah - ful"
                    },
                    {
                        "value": "gla",
                        "name": "Gaelic, Scottish Gaelic - gla"
                    },
                    {
                        "value": "glg",
                        "name": "Galician - glg"
                    },
                    {
                        "value": "lug",
                        "name": "Ganda - lug"
                    },
                    {
                        "value": "kat",
                        "name": "Georgian - kat"
                    },
                    {
                        "value": "deu",
                        "name": "German - deu"
                    },
                    {
                        "value": "ell",
                        "name": "Greek - ell"
                    },
                    {
                        "value": "grn",
                        "name": "Guarani - grn"
                    },
                    {
                        "value": "guj",
                        "name": "Gujarati - guj"
                    },
                    {
                        "value": "hat",
                        "name": "Haitian, Haitian Creole - hat"
                    },
                    {
                        "value": "hau",
                        "name": "Hausa - hau"
                    },
                    {
                        "value": "heb",
                        "name": "Hebrew - heb"
                    },
                    {
                        "value": "her",
                        "name": "Herero - her"
                    },
                    {
                        "value": "hin",
                        "name": "Hindi - hin"
                    },
                    {
                        "value": "hmo",
                        "name": "Hiri Motu - hmo"
                    },
                    {
                        "value": "hun",
                        "name": "Hungarian - hun"
                    },
                    {
                        "value": "isl",
                        "name": "Icelandic - isl"
                    },
                    {
                        "value": "ido",
                        "name": "Ido - ido"
                    },
                    {
                        "value": "ibo",
                        "name": "Igbo - ibo"
                    },
                    {
                        "value": "ind",
                        "name": "Indonesian - ind"
                    },
                    {
                        "value": "inh",
                        "name": "Ingush - inh"
                    },
                    {
                        "value": "ile",
                        "name": "Interlingue, Occidental - ile"
                    },
                    {
                        "value": "iku",
                        "name": "Inuktitut - iku"
                    },
                    {
                        "value": "ipk",
                        "name": "Inupiaq - ipk"
                    },
                    {
                        "value": "gle",
                        "name": "Irish - gle"
                    },
                    {
                        "value": "ita",
                        "name": "Italian - ita"
                    },
                    {
                        "value": "jpn",
                        "name": "Japanese - jpn"
                    },
                    {
                        "value": "jav",
                        "name": "Javanese - jav"
                    },
                    {
                        "value": "lad",
                        "name": "Ladino - lad"
                    },
                    {
                        "value": "kbd",
                        "name": "Kabardian - kbd"
                    },
                    {
                        "value": "kal",
                        "name": "Greenlandic, Kalaallisut - kal"
                    },
                    {
                        "value": "xal",
                        "name": "Kalmyk, Oirat - xal"
                    },
                    {
                        "value": "kan",
                        "name": "Kannada - kan"
                    },
                    {
                        "value": "kau",
                        "name": "Kanuri - kau"
                    },
                    {
                        "value": "krc",
                        "name": "Karachay-Balkar - krc"
                    },
                    {
                        "value": "krl",
                        "name": "Karelian - krl"
                    },
                    {
                        "value": "kas",
                        "name": "Kashmiri - kas"
                    },
                    {
                        "value": "csb",
                        "name": "Kashubian - csb"
                    },
                    {
                        "value": "kaz",
                        "name": "Kazakh - kaz"
                    },
                    {
                        "value": "khm",
                        "name": "Central Khmer, Khmer - khm"
                    },
                    {
                        "value": "kik",
                        "name": "Gikuyu, Kikuyu - kik"
                    },
                    {
                        "value": "kin",
                        "name": "Kinyarwanda - kin"
                    },
                    {
                        "value": "kir",
                        "name": "Kirghiz, Kyrgyz - kir"
                    },
                    {
                        "value": "kom",
                        "name": "Komi - kom"
                    },
                    {
                        "value": "kon",
                        "name": "Kongo - kon"
                    },
                    {
                        "value": "kor",
                        "name": "Korean - kor"
                    },
                    {
                        "value": "kua",
                        "name": "Kuanyama, Kwanyama - kua"
                    },
                    {
                        "value": "kur",
                        "name": "Kurdish - kur"
                    },
                    {
                        "value": "lao",
                        "name": "Lao - lao"
                    },
                    {
                        "value": "lat",
                        "name": "Latin - lat"
                    },
                    {
                        "value": "lav",
                        "name": "Latvian - lav"
                    },
                    {
                        "value": "ast",
                        "name": "Leonese, Asturian, Asturleonese, Bable - ast"
                    },
                    {
                        "value": "lim",
                        "name": "Limburgan, Limburger, Limburgish - lim"
                    },
                    {
                        "value": "lin",
                        "name": "Lingala - lin"
                    },
                    {
                        "value": "lit",
                        "name": "Lithuanian - lit"
                    },
                    {
                        "value": "lub",
                        "name": "Luba-Katanga - lub"
                    },
                    {
                        "value": "ltz",
                        "name": "Letzeburgesch, Luxembourgish - ltz"
                    },
                    {
                        "value": "mkd",
                        "name": "Macedonian - mkd"
                    },
                    {
                        "value": "mlg",
                        "name": "Malagasy - mlg"
                    },
                    {
                        "value": "msa",
                        "name": "Malay - msa"
                    },
                    {
                        "value": "mal",
                        "name": "Malayalam - mal"
                    },
                    {
                        "value": "mlt",
                        "name": "Maltese - mlt"
                    },
                    {
                        "value": "glv",
                        "name": "Manx - glv"
                    },
                    {
                        "value": "mri",
                        "name": "Maori - mri"
                    },
                    {
                        "value": "mar",
                        "name": "Marathi - mar"
                    },
                    {
                        "value": "chm",
                        "name": "Mari (Russia) - chm"
                    },
                    {
                        "value": "mah",
                        "name": "Marshallese - mah"
                    },
                    {
                        "value": "mwl",
                        "name": "Mirandese - mwl"
                    },
                    {
                        "value": "mdf",
                        "name": "Moksha  - mdf"
                    },
                    {
                        "value": "ron",
                        "name": "Moldavian, Moldovan, Romanian - ron"
                    },
                    {
                        "value": "mon",
                        "name": "Mongolian - mon"
                    },
                    {
                        "value": "nau",
                        "name": "Nauru - nau"
                    },
                    {
                        "value": "nav",
                        "name": "Navaho, Navajo - nav"
                    },
                    {
                        "value": "ndo",
                        "name": "Ndonga - ndo"
                    },
                    {
                        "value": "nap",
                        "name": "Neapolitan - nap"
                    },
                    {
                        "value": "nep",
                        "name": "Nepali - nep"
                    },
                    {
                        "value": "nde",
                        "name": "North Ndebele - nde"
                    },
                    {
                        "value": "sme",
                        "name": "Northern Sami - sme"
                    },
                    {
                        "value": "nor",
                        "name": "Norwegian - nor"
                    },
                    {
                        "value": "nob",
                        "name": "Norwegian Bokmal - nob"
                    },
                    {
                        "value": "nno",
                        "name": "Norwegian Nynorsk - nno"
                    },
                    {
                        "value": "nya",
                        "name": "Nyanja, Chewa, Chichewa - nya"
                    },
                    {
                        "value": "oci",
                        "name": "Occitan - oci"
                    },
                    {
                        "value": "oji",
                        "name": "Ojibwa - oji"
                    },
                    {
                        "value": "ori",
                        "name": "Oriya - ori"
                    },
                    {
                        "value": "orm",
                        "name": "Oromo - orm"
                    },
                    {
                        "value": "oss",
                        "name": "Ossetian, Ossetic - oss"
                    },
                    {
                        "value": "pli",
                        "name": "Pali - pli"
                    },
                    {
                        "value": "pan",
                        "name": "Panjabi, Punjabi - pan"
                    },
                    {
                        "value": "fas",
                        "name": "Persian - fas"
                    },
                    {
                        "value": "pol",
                        "name": "Polish - pol"
                    },
                    {
                        "value": "por",
                        "name": "Portuguese - por"
                    },
                    {
                        "value": "pus",
                        "name": "Pashto, Pushto - pus"
                    },
                    {
                        "value": "que",
                        "name": "Quechua - que"
                    },
                    {
                        "value": "roh",
                        "name": "Romansh - roh"
                    },
                    {
                        "value": "rom",
                        "name": "Romany - rom"
                    },
                    {
                        "value": "run",
                        "name": "Rundi - run"
                    },
                    {
                        "value": "rus",
                        "name": "Russian - rus"
                    },
                    {
                        "value": "smo",
                        "name": "Samoan - smo"
                    },
                    {
                        "value": "sag",
                        "name": "Sango - sag"
                    },
                    {
                        "value": "san",
                        "name": "Sanskrit - san"
                    },
                    {
                        "value": "srd",
                        "name": "Sardinian - srd"
                    },
                    {
                        "value": "sco",
                        "name": "Scots - sco"
                    },
                    {
                        "value": "srp",
                        "name": "Serbian - srp"
                    },
                    {
                        "value": "sna",
                        "name": "Shona - sna"
                    },
                    {
                        "value": "scn",
                        "name": "Sicilian - scn"
                    },
                    {
                        "value": "snd",
                        "name": "Sindhi - snd"
                    },
                    {
                        "value": "sin",
                        "name": "Sinhala, Sinhalese - sin"
                    },
                    {
                        "value": "slk",
                        "name": "Slovak - slk"
                    },
                    {
                        "value": "slv",
                        "name": "Slovenian - slv"
                    },
                    {
                        "value": "som",
                        "name": "Somali - som"
                    },
                    {
                        "value": "wen",
                        "name": "Sorbian languages - wen"
                    },
                    {
                        "value": "sot",
                        "name": "Southern Sotho - sot"
                    },
                    {
                        "value": "nbl",
                        "name": "South Ndebele - nbl"
                    },
                    {
                        "value": "sma",
                        "name": "Southern Sami - sma"
                    },
                    {
                        "value": "sun",
                        "name": "Sundanese - sun"
                    },
                    {
                        "value": "swa",
                        "name": "Swahili - swa"
                    },
                    {
                        "value": "ssw",
                        "name": "Swati - ssw"
                    },
                    {
                        "value": "swe",
                        "name": "Swedish - swe"
                    },
                    {
                        "value": "gsw",
                        "name": "Swiss German, Alemannic, Alsatian - gsw"
                    },
                    {
                        "value": "tgl",
                        "name": "Tagalog - tgl"
                    },
                    {
                        "value": "tah",
                        "name": "Tahitian - tah"
                    },
                    {
                        "value": "tgk",
                        "name": "Tajik - tgk"
                    },
                    {
                        "value": "tam",
                        "name": "Tamil - tam"
                    },
                    {
                        "value": "tat",
                        "name": "Tatar - tat"
                    },
                    {
                        "value": "tel",
                        "name": "Telugu - tel"
                    },
                    {
                        "value": "tha",
                        "name": "Thai - tha"
                    },
                    {
                        "value": "bod",
                        "name": "Tibetan - bod"
                    },
                    {
                        "value": "tir",
                        "name": "Tigrinya - tir"
                    },
                    {
                        "value": "ton",
                        "name": "Tonga - ton"
                    },
                    {
                        "value": "tso",
                        "name": "Tsonga - tso"
                    },
                    {
                        "value": "tsn",
                        "name": "Tswana - tsn"
                    },
                    {
                        "value": "tur",
                        "name": "Turkish - tur"
                    },
                    {
                        "value": "tuk",
                        "name": "Turkmen - tuk"
                    },
                    {
                        "value": "twi",
                        "name": "Twi - twi"
                    },
                    {
                        "value": "udm",
                        "name": "Udmurt - udm"
                    },
                    {
                        "value": "uig",
                        "name": "Uighur, Uyghur - uig"
                    },
                    {
                        "value": "ukr",
                        "name": "Ukrainian - ukr"
                    },
                    {
                        "value": "mis",
                        "name": "Uncoded languages - mis"
                    },
                    {
                        "value": "urd",
                        "name": "Urdu - urd"
                    },
                    {
                        "value": "uzb",
                        "name": "Uzbek - uzb"
                    },
                    {
                        "value": "ven",
                        "name": "Venda - ven"
                    },
                    {
                        "value": "vie",
                        "name": "Vietnamese - vie"
                    },
                    {
                        "value": "vol",
                        "name": "Volapuk - vol"
                    },
                    {
                        "value": "wln",
                        "name": "Walloon - wln"
                    },
                    {
                        "value": "cym",
                        "name": "Welsh - cym"
                    },
                    {
                        "value": "wol",
                        "name": "Wolof - wol"
                    },
                    {
                        "value": "xho",
                        "name": "Xhosa - xho"
                    },
                    {
                        "value": "yid",
                        "name": "Yiddish - yid"
                    },
                    {
                        "value": "yor",
                        "name": "Yoruba - yor"
                    },
                    {
                        "value": "zha",
                        "name": "Zhuang, Chuang - zha"
                    },
                    {
                        "value": "zul",
                        "name": "Zulu - zul"
                    },
                    {
                        "value": "none",
                        "name": "None"
                    }
                ]
            }
        },
        "gop_structure": {
            "type": "object",
            "required": [
                "open_closed"
            ],
            "additionalProperties": false,
            "properties": {
                "i_distance": {
                    "title": "I-Frame distance",
                    "type": "string",
                    "description": "The distance allowed between gop i-frames as a comma seperated list, e.g. '<5,10,>=25'.",
                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                },
                "p_distance": {
                    "title": "P-Frame distance",
                    "type": "string",
                    "description": "The distance allowed between gop p-frames as a comma seperated list, e.g. '<5,10,>=25'.",
                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                },
                "open_closed": {
                    "title": "Open/Closed",
                    "type": "integer",
                    "description": "Whether the gop structure should be open/closed or either.",
                    "enum": [
                        0,
                        1,
                        2
                    ],
                    "default": 0,
                    "titleMap": [
                        {
                            "value": 0,
                            "name": "Either"
                        },
                        {
                            "value": 1,
                            "name": "Open"
                        },
                        {
                            "value": 2,
                            "name": "Closed"
                        }
                    ]
                }
            }
        },
        "timecode": {
            "type": "string",
            "title": "Timecode",
            "description": "Timecode, E.g. HH:MM:SS:FF, HH:MM:SS;FF or HH:MM:SS.mmm.",
            "default": "00:00:00:00",
            "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}[;:.][0-9]{2,3}$"
        },
        "basic_timecode": {
            "type": "string",
            "default": "00:00:00.000",
            "title": "Timecode",
            "description": "Timecode, E.g. HH:MM:SS:FF or HH:MM:SS.mmm.",
            "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}$"
        },
        "bool_false": {
            "type": "boolean",
            "title": "Value",
            "description": "Value.",
            "default": false
        },
        "bool_true": {
            "type": "boolean",
            "title": "Value",
            "description": "Value.",
            "default": true
        },
        "uint32": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "minimum": 0,
            "maximum": 4294967295
        },
        "int32": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "minimum": -2147483648,
            "maximum": 2147483647
        },
        "bool_optional": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0
        },
        "bool_extended": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "default": 2
        },
        "comma_separated_positive_numbers": {
            "type": "string",
            "title": "Comma separated positive numbers",
            "description": "A list of comma separated positive whole numbers or an empty string, e.g. '1', '1,2', '1,2,3'.",
            "pattern": "^$|^\\s*[0-9]+\\s*(,\\s*[0-9]+\\s*)*$"
        },
        "comma_separated_frame_sizes": {
            "type": "string",
            "title": "Comma separated frame sizes",
            "description": "Allowed frame sizes as a comma separated list or an empty string, e.g. '320x240', '1920x544,320x240'.",
            "pattern": "^$|^\\s*[0-9]+\\s*x\\s*[0-9]+\\s*(,\\s*[0-9]+\\s*x\\s*[0-9]+\\s*)*$"
        },
        "comma_separated_positive_numbers_with_operators": {
            "type": "string",
            "title": "Comma separated positive numbers/operators",
            "description": "A list of comma separated positive whole numbers with optional operators or an empty string, e.g. '1', '1-2', '>1,<=2,3'.",
            "pattern": "^$|^(\\s)*([<>]=?\\d+(\\.\\d+)?|\\d+(\\.\\d+)?|\\d+(\\.\\d+)?-\\d+(\\.\\d+)?)((\\s)*(,(\\s)*([<>]=?\\d+(\\.\\d+)?|\\d+(\\.\\d+)?|\\d+(\\.\\d+)?-\\d+(\\.\\d+)?))?)*$"
        },
        "allowed_disallowed_required": {
            "$ref": "#/definitions/bool_optional",
            "titleMap": [
                {
                    "value": 0,
                    "name": "Allowed"
                },
                {
                    "value": 1,
                    "name": "Disallowed"
                },
                {
                    "value": 2,
                    "name": "Required"
                }
            ]
        },
        "rational": {
            "type": "object",
            "required": [
                "num",
                "denom"
            ],
            "properties": {
                "num": {
                    "title": "Numerator",
                    "description": "Numerator.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "denom": {
                    "title": "Denominator",
                    "description": "Denominator.",
                    "type": "integer",
                    "minimum": 1,
                    "default": 1
                }
            }
        },
        "minmax": {
            "type": "object",
            "required": [
                "min",
                "max"
            ],
            "properties": {
                "min": {
                    "title": "Minimum",
                    "description": "Minimum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "max": {
                    "title": "Maximum",
                    "description": "Maximum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                }
            }
        },
        "minmax_bits": {
            "type": "object",
            "required": [
                "min",
                "max"
            ],
            "properties": {
                "min": {
                    "title": "Minimum",
                    "description": "Minimum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0,
                    "suffix": "bits per second"
                },
                "max": {
                    "title": "Maximum",
                    "description": "Maximum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0,
                    "suffix": "bits per second"
                }
            }
        },
        "video_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "treat_warnings_as": {
                    "$ref": "#/definitions/warnings_as"
                }
            }
        },
        "audio_config_silence": {
            "properties": {
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "audio_track_type": {
                    "$ref": "#/definitions/audio_track_type"
                },
                "dolbye_program": {
                    "$ref": "#/definitions/dolbye_program"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "allOf": [
                {
                    "if": {
                        "properties": {
                            "silence": {
                                "const": true
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "audio_track",
                            "audio_track_type"
                        ],
                        "allOf": [
                            {
                                "if": {
                                    "properties": {
                                        "audio_track_type": {
                                            "const": 2
                                        }
                                    }
                                },
                                "then": {
                                    "required": [
                                        "dolbye_program"
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "audio_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "audio_track_type": {
                    "$ref": "#/definitions/audio_track_type"
                },
                "dolbye_program": {
                    "$ref": "#/definitions/dolbye_program"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "required": [
                "audio_track",
                "audio_track_type"
            ],
            "allOf": [
                {
                    "if": {
                        "properties": {
                            "audio_track_type": {
                                "const": 2
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "dolbye_program"
                        ]
                    }
                }
            ]
        },
        "original_audio_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "required": [
                "audio_track"
            ]
        },
        "audio_track": {
            "title": "Mix",
            "$ref": "#/definitions/uint32",
            "description": "Audio mix to test.",
            "minimum": 1,
            "default": 1
        },
        "audio_track_type": {
            "title": "Mix type",
            "type": "integer",
            "description": "Audio mix type to test.",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Any"
                },
                {
                    "value": 1,
                    "name": "PCM"
                },
                {
                    "value": 2,
                    "name": "DolbyE"
                },
                {
                    "value": 3,
                    "name": "Encoded"
                }
            ],
            "default": 0
        },
        "dolbye_program": {
            "title": "Dolby E Program",
            "$ref": "#/definitions/uint32",
            "description": "Dolby E program to test (only for Dolby E mixes).",
            "minimum": 1,
            "default": 1
        },
        "channel_mask": {
            "title": "Channel Selection",
            "type": "string",
            "pattern": "^$|^\\s*\\d+\\s*(,\\s*\\d+\\s*)*$",
            "description": "Select channels using comma separated numbers. Leave empty to select all."
        },
        "subtitle_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "treat_warnings_as": {
                    "$ref": "#/definitions/warnings_as"
                }
            }
        },
        "time_units": {
            "type": "integer",
            "title": "Time Units",
            "description": "Test in seconds or frames.",
            "enum": [
                0,
                1
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Seconds"
                },
                {
                    "value": 1,
                    "name": "Frames"
                }
            ]
        },
        "time_units_extended": {
            "type": "integer",
            "title": "Time Units",
            "description": "Define duration in seconds, frames or timecodes.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Seconds"
                },
                {
                    "value": 1,
                    "name": "Frames"
                },
                {
                    "value": 2,
                    "name": "Timecodes"
                }
            ]
        },
        "base_range_type": {
            "type": "integer",
            "title": "Range Type",
            "description": "Range Type.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0
        },
        "range_limit": {
            "type": "number",
            "title": "Range Limit",
            "description": "Range Limit.",
            "default": 0,
            "minimum": 0
        },
        "base_range": {
            "type": "object",
            "required": [
                "layout"
            ],
            "properties": {
                "layout": {
                    "title": "Layout",
                    "description": "The media layout to test with.",
                    "type": "string",
                    "enum": [
                        "0",
                        "1"
                    ],
                    "default": "0",
                    "titleMap": [
                        {
                            "value": "0",
                            "name": "Test Fixed Duration"
                        },
                        {
                            "value": "1",
                            "name": "Test End Of File"
                        }
                    ]
                },
                "start": {
                    "title": "Starts At",
                    "description": "Starts At.",
                    "$ref": "#/definitions/range_limit"
                },
                "end": {
                    "title": "Ends At",
                    "description": "Ends At.",
                    "$ref": "#/definitions/range_limit"
                },
                "start_from_end": {
                    "title": "Test Last",
                    "description": "Test Last.",
                    "$ref": "#/definitions/range_limit"
                },
                "duration": {
                    "title": "With Duration",
                    "description": "With Duration.",
                    "$ref": "#/definitions/range_limit"
                },
                "units": {
                    "title": "Time Units",
                    "description": "Time Units.",
                    "$ref": "#/definitions/time_units"
                }
            }
        },
        "tolerant_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "tolerance": {
                            "title": "Tolerance +/-",
                            "description": "Tolerance +/-.",
                            "type": "number",
                            "default": 0,
                            "minimum": 0
                        }
                    }
                }
            ]
        },
        "video_bit_depth": {
            "type": "integer",
            "title": "Video Bit Depth",
            "description": "Video Bit Depth.",
            "enum": [
                8,
                10,
                12,
                14
            ],
            "default": 8
        },
        "level_8_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 8.",
            "type": "integer",
            "minimum": 0,
            "maximum": 255,
            "default": 16
        },
        "level_10_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 10.",
            "type": "integer",
            "minimum": 0,
            "maximum": 1023,
            "default": 64
        },
        "level_12_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 12.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4095,
            "default": 256
        },
        "level_14_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 14.",
            "type": "integer",
            "minimum": 0,
            "maximum": 16383,
            "default": 1024
        },
        "max_black_level_8_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 255,
            "default": 235
        },
        "max_black_level_10_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 1023,
            "default": 940
        },
        "max_black_level_12_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4095,
            "default": 3760
        },
        "max_black_level_14_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 16383,
            "default": 15040
        },
        "warnings_as": {
            "title": "Treat Warnings as",
            "description": "Treat Warnings As.",
            "type": "integer",
            "enum": [
                0,
                1,
                2
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Info"
                },
                {
                    "value": 1,
                    "name": "Warning"
                },
                {
                    "value": 2,
                    "name": "Error"
                }
            ],
            "default": 1
        },
        "warnings_as_child": {
            "title": "Treat Warnings as",
            "description": "Treat Warnings As.",
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Info"
                },
                {
                    "value": 1,
                    "name": "Warning"
                },
                {
                    "value": 2,
                    "name": "Error"
                },
                {
                    "value": 3,
                    "name": "Same As Parent"
                }
            ],
            "default": 3
        },
        "container_agrees_with_essence": {
            "type": "boolean",
            "title": "Container agrees with Essence",
            "description": "Check that the container metadata matches the essence.",
            "default": false
        },
        "sensitivity": {
            "title": "Sensitivity",
            "type": "integer",
            "description": "A High sensitivity will find more problems but could also find more false positives. A Low sensitivity will only detect more obvious problems.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 1,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Low"
                },
                {
                    "value": 1,
                    "name": "Medium"
                },
                {
                    "value": 2,
                    "name": "High"
                }
            ]
        },
        "customizable_sensitivity": {
            "title": "Sensitivity",
            "description": "Sensitivity.",
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "default": 1,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Low"
                },
                {
                    "value": 1,
                    "name": "Medium"
                },
                {
                    "value": 2,
                    "name": "High"
                },
                {
                    "value": 3,
                    "name": "Custom"
                }
            ]
        },
        "drop_frame": {
            "type": "integer",
            "title": "Drop Frame",
            "description": "What type of drop frame is required.",
            "enum": [
                0,
                1
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Drop"
                },
                {
                    "value": 1,
                    "name": "Non-drop"
                }
            ]
        },
        "media_layout_type": {
            "type": "integer",
            "title": "Media Layout",
            "description": "The media layout to use for the test, global, whole file or user.",
            "enum": [
                0,
                1,
                2
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Global layout"
                },
                {
                    "value": 1,
                    "name": "Whole File"
                },
                {
                    "value": 2,
                    "name": "User layout"
                }
            ],
            "default": 0
        },
        "dialnorm_test_config": {
            "type": "object",
            "required": [
                "minimum",
                "maximum"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "minimum": {
                            "title": "Minimum Dialnorm Value",
                            "description": "Minimum valid dialnorm value is 1.",
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 31
                        },
                        "maximum": {
                            "title": "Maximum Dialnorm Value",
                            "description": "Maximum valid dialnorm value is 31.",
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 31
                        }
                    }
                }
            ]
        },
        "dualmono_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "max_allowed": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "duration": {
                                    "type": "number",
                                    "title": "Max Allowed Duration",
                                    "description": "The total amount of dual mono allowed in the file.",
                                    "default": 1
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Max Allowed",
                                    "description": "Whether the max dual mono allowed test is enabled.",
                                    "default": false
                                },
                                "units": {
                                    "type": "integer",
                                    "title": "Max Allowed Units",
                                    "description": "The units for the max dual mono allowed duration.",
                                    "default": 2,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Samples",
                                            "value": 0
                                        },
                                        {
                                            "name": "Milliseconds",
                                            "value": 1
                                        },
                                        {
                                            "name": "Seconds",
                                            "value": 2
                                        },
                                        {
                                            "name": "Percentage",
                                            "value": 3
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "duration",
                                    "units"
                                ]
                            }
                        },
                        "tolerance_window": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "duration": {
                                    "type": "number",
                                    "title": "Tolerance Window Duration",
                                    "description": "A dual mono section lasting less than this time window will be ignored.",
                                    "default": 1
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Tolerance Window",
                                    "description": "Whether to enable the dual mono tolerance window test.",
                                    "default": false
                                },
                                "units": {
                                    "type": "integer",
                                    "title": "Tolerance Window Units",
                                    "description": "The units for the tolerance window duration.",
                                    "default": 2,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Samples",
                                            "value": 0
                                        },
                                        {
                                            "name": "Milliseconds",
                                            "value": 1
                                        },
                                        {
                                            "name": "Seconds",
                                            "value": 2
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "duration",
                                    "units"
                                ]
                            }
                        }
                    }
                }
            ]
        },
        "freezeframe_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The freeze frame range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Freeze"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Freeze"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "integrated_loudness_test_config": {
            "type": "object",
            "required": [
                "level",
                "tolerance",
                "mode",
                "dialog_gating"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Specify the loudness (and tolerance range) within which loudness must lie.",
                            "type": "number",
                            "default": -20.0,
                            "suffix": "dB"
                        },
                        "tolerance": {
                            "title": "Loudness Tolerance",
                            "description": "Specify the loudness (and tolerance range) within which loudness must lie.",
                            "type": "number",
                            "default": 2.0,
                            "minimum": 0.0,
                            "suffix": "dB"
                        },
                        "mode": {
                            "title": "Loudness Mode",
                            "description": "Select standard to use for measuring integrated loudness.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ITU 1770-4 / EBU I"
                                },
                                {
                                    "value": 1,
                                    "name": "ITU 1770-1"
                                },
                                {
                                    "value": 3,
                                    "name": "ITU 1770-2"
                                },
                                {
                                    "value": 4,
                                    "name": "ITU 1770-3"
                                },
                                {
                                    "value": 2,
                                    "name": "ARIB TR-B32"
                                }
                            ]
                        },
                        "dialog_gating": {
                            "title": "Dialog Gating",
                            "description": "Measure loudness only when dialog is present.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ]
        },
        "loudness_range_test_config": {
            "type": "object",
            "title": "Loudness Range",
            "description": "Measure the variation in loudness over the duration of a file. The algorithm is specified in EBU-Tech 3342 and produces an output Loudness Range ('LRA') in terms of Loudness Units ('LU').",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "check_min": {
                            "title": "Check Minimum",
                            "type": "boolean",
                            "description": "Whether to enable the minimum loudness test.",
                            "default": false
                        },
                        "min_range": {
                            "title": "Min",
                            "description": "The minimum permitted loudness range.",
                            "type": "number",
                            "suffix": "LU"
                        },
                        "check_max": {
                            "title": "Check Maximum",
                            "description": "Whether to enable the maximum loudness test.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_range": {
                            "title": "Max",
                            "description": "Maximum permitted loudness range.",
                            "type": "number",
                            "suffix": "LU"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_min": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_range"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_max": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_range"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "minlevel_test_config": {
            "type": "object",
            "required": [
                "audio_track",
                "dolbye_program",
                "minlevel_elsewhere",
                "level",
                "duration",
                "units"
            ],
            "title": "Minimum Level",
            "description": "Checks if the RMS level for a given channel drops below the given level for a window longer than the given duration.",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "minlevel_elsewhere": {
                            "title": "Test whole file",
                            "description": "Evaluate minimum level across the whole file.",
                            "type": "boolean",
                            "default": true
                        },
                        "level": {
                            "title": "Min Level Threshold (dBFS)",
                            "type": "number",
                            "default": -70.0,
                            "description": "The minimum acceptable level over the window duration, in dBFS RMS."
                        },
                        "duration": {
                            "title": "Window Duration",
                            "description": "Window Duration in time units.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "units": {
                            "title": "Time Units",
                            "description": "The time units to use.",
                            "$ref": "#/definitions/time_units"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The minimum level ranges to use.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/minlevel_range"
                            }
                        }
                    }
                }
            ]
        },
        "minlevel_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Test for minimum level",
                            "description": "Test for minimum level.",
                            "type": "integer",
                            "enum": [
                                0,
                                2
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Should be below"
                                },
                                {
                                    "value": 2,
                                    "name": "Don't care"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "momentary_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Loudness Level.",
                            "type": "number",
                            "default": -20.0,
                            "suffix": "dB"
                        },
                        "violations": {
                            "title": "Report Violations",
                            "description": "Max Violations will report only the worst violation.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Max Only"
                                },
                                {
                                    "value": 1,
                                    "name": "All Violations"
                                }
                            ],
                            "default": 0
                        }
                    }
                }
            ]
        },
        "location_test": {
            "type": "object",
            "required": [
                "exclude_first",
                "is_repeated",
                "present"
            ],
            "additionalProperties": false,
            "properties": {
                "body": {
                    "title": "Body Partition(s)",
                    "description": "Body Partition(s).",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "exclude_first": {
                    "type": "boolean",
                    "title": "Exclude First Body Partition",
                    "description": "Exclude First Body Partition.",
                    "default": false
                },
                "footer": {
                    "title": "Footer Partition",
                    "description": "Footer Partition.",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "header": {
                    "title": "Header Partition",
                    "description": "Header Partition.",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "is_repeated": {
                    "type": "boolean",
                    "title": "Repeated footer partition",
                    "description": "Repeated footer partition.",
                    "default": false
                },
                "present": {
                    "type": "boolean",
                    "title": "Present In At Least One",
                    "description": "Present In At Least One.",
                    "default": false
                }
            }
        },
        "partition_status_test": {
            "type": "object",
            "required": [
                "closedcomplete",
                "closedincomplete",
                "notpresent",
                "opencomplete",
                "openincomplete"
            ],
            "additionalProperties": false,
            "properties": {
                "closedcomplete": {
                    "type": "boolean",
                    "title": "Closed / Complete",
                    "description": "Closed / Complete.",
                    "default": false
                },
                "closedincomplete": {
                    "type": "boolean",
                    "title": "Closed / Incomplete",
                    "description": "Closed / Incomplete.",
                    "default": false
                },
                "notpresent": {
                    "type": "boolean",
                    "title": "Not Present",
                    "description": "Not Present.",
                    "default": false
                },
                "opencomplete": {
                    "type": "boolean",
                    "title": "Open / Complete",
                    "description": "Open / Complete.",
                    "default": false
                },
                "openincomplete": {
                    "type": "boolean",
                    "title": "Open / Incomplete",
                    "description": "Open / Incomplete.",
                    "default": false
                }
            }
        },
        "timecode_track_test": {
            "type": "object",
            "required": [
                "continuity"
            ],
            "additionalProperties": false,
            "properties": {
                "continuity": {
                    "type": "boolean",
                    "title": "Structural Continuity",
                    "description": "Structural Continuity.",
                    "default": false
                },
                "dropframe": {
                    "title": "Drop Frame",
                    "description": "The drop frame type required.",
                    "default": 0,
                    "$ref": "#/definitions/bool_optional",
                    "titleMap": [
                        {
                            "name": "Don't Test",
                            "value": 0
                        },
                        {
                            "name": "False",
                            "value": 1
                        },
                        {
                            "name": "True",
                            "value": 2
                        }
                    ]
                }
            }
        },
        "sid": {
            "type": "string",
            "pattern": "^$|^\\s*\\d+\\s*(,\\s*\\d+\\s*)*$",
            "title": "Sid",
            "description": "The sid to find. Leave blank for any."
        },
        "nielsen_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "naes2": {
                            "title": "NAES 2",
                            "type": "boolean",
                            "default": false,
                            "description": "Detects and reports N2 watermarks."
                        },
                        "naes2_sids": {
                            "$ref": "#/definitions/sid"
                        },
                        "naes6": {
                            "title": "NAES 6",
                            "type": "boolean",
                            "default": false,
                            "description": "Detects and reports Nielsen Watermark TAM** Codes (NW) and Nielsen Watermark Commercial Codes (NWCC)."
                        },
                        "naes6_sids": {
                            "$ref": "#/definitions/sid"
                        }
                    }
                }
            ]
        },
        "peak_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_peak_enable": {
                            "title": "Min Peak Enable",
                            "description": "Whether the min peak test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_peak_level": {
                            "title": "Min Peak Level",
                            "description": "Minimum acceptable peak level.",
                            "type": "number"
                        },
                        "max_peak_enable": {
                            "title": "Max Peak Enable",
                            "description": "Whether the max peak test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_peak_level": {
                            "title": "Max Peak Level",
                            "description": "Maximum acceptable peak level.",
                            "type": "number"
                        },
                        "peak_type": {
                            "title": "Peak Type",
                            "description": "dbTP (True Peak) as per Annex 2 of ITU-R BS.1770-1 or in dbFS (Full Scale).",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "dBFS"
                                },
                                {
                                    "value": 1,
                                    "name": "dBTP"
                                }
                            ],
                            "default": 0
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_peak_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_peak_level"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_peak_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_peak_level"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "phase_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_instant_phase_enable": {
                            "title": "Min Instant Phase Enable",
                            "description": "Whether the min instant phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_instant_phase": {
                            "title": "Min Instant Phase",
                            "description": "Taken over a window period (defined by the min instant phase duration), the lowest value for the stream is recorded.",
                            "type": "number"
                        },
                        "min_instant_phase_duration": {
                            "title": "Min Instant Phase Duration",
                            "description": "The window period for the min instance phase in seconds. Uses 0.1 seconds if unspecified.",
                            "type": "number",
                            "default": 0.1,
                            "minimum": 0.01
                        },
                        "min_mean_phase_enable": {
                            "title": "Min Mean Phase Enable",
                            "description": "Whether the min mean phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_mean_phase": {
                            "title": "Min Mean Phase",
                            "description": "Measured over the whole audio stream.",
                            "type": "number"
                        },
                        "max_mean_phase_enable": {
                            "title": "Max Mean Phase Enable",
                            "description": "Whether the max mean phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_mean_phase": {
                            "title": "Max Mean Phase",
                            "description": "Measured over the whole audio stream.",
                            "type": "number"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_instant_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_instant_phase"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_mean_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_mean_phase"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_mean_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_mean_phase"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "ppm_level_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "max_ppm_enable": {
                            "type": "boolean",
                            "title": "Max PPM Level Enable",
                            "description": "Whether the max PPM level test is enabled.",
                            "default": false
                        },
                        "max_ppm_level": {
                            "type": "number",
                            "title": "Max PPM Level",
                            "description": "The maximum acceptable PPM level."
                        },
                        "min_ppm_enable": {
                            "type": "boolean",
                            "title": "Min PPM Level Enable",
                            "description": "Whether the minimum PPM level test is enabled.",
                            "default": false
                        },
                        "min_ppm_level": {
                            "type": "number",
                            "title": "Min PPM Level",
                            "description": "The minimum acceptable PPM level."
                        },
                        "ppm_mode": {
                            "type": "integer",
                            "title": "PPM Mode",
                            "description": "The PPM (Peak Programme Meter) Mode to test with.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "titleMap": [
                                {
                                    "name": "M3",
                                    "value": 0
                                },
                                {
                                    "name": "M6",
                                    "value": 1
                                },
                                {
                                    "name": "AB",
                                    "value": 2
                                }
                            ]
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_ppm_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_ppm_level"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_ppm_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_ppm_level"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "shortterm_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Loudness Level.",
                            "type": "number",
                            "default": -20.0,
                            "suffix": "dB"
                        },
                        "window": {
                            "title": "Loudness Window",
                            "description": "Default window length of 3 seconds corresponds to EBU-Tech 3341 Short-term mode.",
                            "type": "number",
                            "suffix": "seconds",
                            "default": 3.0,
                            "minimum": 0
                        },
                        "violations": {
                            "title": "Report Violations",
                            "description": "Max Violations will report only the worst violation.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Max Only"
                                },
                                {
                                    "value": 1,
                                    "name": "All Violations"
                                }
                            ],
                            "default": 0
                        }
                    }
                }
            ]
        },
        "silence_test_config": {
            "type": "object",
            "required": [
                "silent_elsewhere"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "silent_elsewhere": {
                            "title": "Test whole file",
                            "description": "Test whole file for the presence of silence.",
                            "type": "boolean",
                            "default": true
                        },
                        "silent": {
                            "type": "boolean",
                            "title": "Silent",
                            "description": "Whether the audio must be silent or not.",
                            "default": true,
                            "titleMap": [
                                {
                                    "value": true,
                                    "name": "Must Be Silent"
                                },
                                {
                                    "value": false,
                                    "name": "Must Not Be Silent"
                                }
                            ]
                        },
                        "digital": {
                            "title": "Digital Silence",
                            "type": "boolean",
                            "description": "The track is checked for the presence or absence of audio samples.",
                            "default": false
                        },
                        "threshold": {
                            "title": "Silence Threshold",
                            "type": "number",
                            "default": -70.0,
                            "description": "The threshold below which an audio track is considered silent."
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges where silence is expected to be or not.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/silence_range"
                            }
                        },
                        "quiet": {
                            "type": "boolean",
                            "title": "Quiet",
                            "description": "Whether to enable quiet mode.",
                            "default": false
                        }
                    }
                }
            ]
        },
        "silence_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The silence range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Silent"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Silent"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "singlecolor_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The single color range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Single Color"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Single Color"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "tone_type": {
            "title": "Tone Type",
            "type": "string",
            "description": "Check for presence of sine wave tone at level given in dBFS peak-to-peak (to convert from RMS add 3dB).",
            "enum": [
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
            ],
            "default": "0",
            "titleMap": [
                {
                    "value": "0",
                    "name": "Continuous"
                },
                {
                    "value": "1",
                    "name": "Ebu1000Hz"
                },
                {
                    "value": "2",
                    "name": "Ebu440Hz"
                },
                {
                    "value": "3",
                    "name": "Glits1000Hz"
                },
                {
                    "value": "4",
                    "name": "Glits2000Hz"
                },
                {
                    "value": "5",
                    "name": "Blits"
                },
                {
                    "value": "6",
                    "name": "EAS (Emergency Alert System)"
                }
            ]
        },
        "tone_test_config": {
            "type": "object",
            "required": [
                "tone_type"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "tone_type": {
                            "$ref": "#/definitions/tone_type"
                        },
                        "tone_elsewhere": {
                            "title": "Test whole file",
                            "description": "Test whole file for the presence of a test tone.",
                            "type": "boolean",
                            "default": true
                        },
                        "tone": {
                            "type": "boolean",
                            "title": "Tone",
                            "description": "Whether the tone must be present or not.",
                            "default": false,
                            "titleMap": [
                                {
                                    "value": true,
                                    "name": "Must Be Present"
                                },
                                {
                                    "value": false,
                                    "name": "Must Be Absent"
                                }
                            ]
                        },
                        "frequency": {
                            "title": "Tone frequency",
                            "description": "The expected frequency of the test tone.",
                            "type": "number",
                            "default": 1000.0,
                            "suffix": "Hz"
                        },
                        "power": {
                            "title": "Tone level",
                            "description": "The power level required of the tone.",
                            "type": "number",
                            "default": -6.0,
                            "suffix": "dBFS"
                        },
                        "tolerance": {
                            "title": "Level tolerance",
                            "description": "The tolerance of the power allowed when detecting the tone.",
                            "type": "number",
                            "default": 0.5,
                            "suffix": "dB"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The tone ranges allowed.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/tone_range"
                            }
                        },
                        "segment": {
                            "$ref": "#/definitions/tone_segment"
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "0"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "frequency",
                            "power",
                            "tone_elsewhere"
                        ],
                        "allOf": [
                            {
                                "if": {
                                    "properties": {
                                        "tone_elsewhere": {
                                            "const": true
                                        }
                                    }
                                },
                                "then": {
                                    "required": [
                                        "tone"
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "1"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "2"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "3"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "4"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "5"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                }
            ]
        },
        "tone_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The tone range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Present"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Present"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "layout": {
                                "enum": [
                                    "0"
                                ]
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "start",
                            "end",
                            "units",
                            "range_type"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "layout": {
                                "enum": [
                                    "1"
                                ]
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "start_from_end",
                            "duration",
                            "units",
                            "range_type"
                        ]
                    }
                }
            ]
        },
        "tone_segment": {
            "type": "object",
            "required": [
                "start",
                "duration",
                "units"
            ],
            "properties": {
                "start": {
                    "title": "Start At",
                    "description": "Start At.",
                    "$ref": "#/definitions/range_limit"
                },
                "duration": {
                    "title": "Duration",
                    "description": "Duration.",
                    "$ref": "#/definitions/range_limit"
                },
                "units": {
                    "title": "Time Units",
                    "description": "The time units to use.",
                    "$ref": "#/definitions/time_units"
                }
            }
        }
    },
    "properties": {
        "name": {
            "description": "User given name of a template",
            "type": "string",
            "nullable": false
        },
        "id": {
            "description": "Cloud ID",
            "type": [
                "string",
                "null"
            ],
            "nullable": true
        },
        "created_at": {
            "description": "Cloud Created at",
            "type": [
                "string",
                "null"
            ],
            "regex": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
            "nullable": true
        },
        "updated_at": {
            "description": "Cloud Updated at",
            "type": [
                "string",
                "null"
            ],
            "regex": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
            "nullable": true
        },
        "aggregate_alerts_limit": {
            "description": "Option to aggregate alerts of the same ID",
            "type": [
                "integer",
                "null"
            ],
            "nullable": true
        },
        "use_starttimecode": {
            "description": "Option to use the video's timecode for alert start & end times",
            "type": [
                "boolean",
                "null"
            ],
            "default": false,
            "nullable": true
        },
        "audio_layout": {
            "description": "Audio layout to use",
            "$ref": "#/definitions/audio_layout"
        },
        "audio_layout_id": {
            "description": "Id of audio layout to use",
            "type": [
                "string",
                "null"
            ],
            "nullable": true
        },
        "package_layout": {
            "description": "Package layout to use",
            "$ref": "#/definitions/package_layout"
        },
        "package_layout_id": {
            "description": "Id of package layout to use",
            "type": [
                "string",
                "null"
            ],
            "nullable": true
        },
        "engine_version": {
            "description": "Engine version",
            "type": "string",
            "regex": "^[0-9]{4}.[0-9]{1,2}.[1-9]{1,2}$"
        },
        "user_notes": {
            "title": "User Notes",
            "description": "User notes - this can contain any extra information.",
            "type": [
                "string",
                "null"
            ],
            "nullable": true,
            "default": ""
        },
        "upgrade_notes": {
            "title": "Upgrade Notes",
            "description": "Upgrade notes.",
            "type": "array",
            "items": {
                "$ref": "#/definitions/upgrade_note"
            }
        },
        "treat_missing_media_as": {
            "description": "What type of alerts missing media should generate, e.g. Info, Warning, Error",
            "type": "integer",
            "enum": [
                0,
                1,
                2
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Info"
                },
                {
                    "value": 1,
                    "name": "Warning"
                },
                {
                    "value": 2,
                    "name": "Error"
                }
            ],
            "default": 1,
            "nullable": true
        },
        "tests": {
            "properties": {
                "analogue_dropouts": {
                    "type": "object",
                    "title": "Analogue Dropouts",
                    "description": "Check for analogue dropouts.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "sensitivity": {
                            "title": "Analogue Dropouts Sensitivity",
                            "description": "The Analogue Dropouts Sensitivity.",
                            "$ref": "#/definitions/sensitivity"
                        }
                    },
                    "category": "Video Quality"
                },
                "audio_description": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Audio Description Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/audio_description_test_config"
                            }
                        }
                    },
                    "title": "Audio Description",
                    "category": "Audio Quality"
                },
                "audio_hiss_detection": {
                    "type": "object",
                    "title": "Audio Hiss Detection",
                    "description": "The Verification Unit applies a low pass filter to the frequency transform of the audio track and determines if tape hiss noise is present. By default, the verification unit is checking for hiss noise across the entire time domain above 15,000 Hz.",
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "Audio Hiss Detection Test Configuration",
                            "description": "The audio configurations to test.",
                            "items": {
                                "$ref": "#/definitions/audio_hiss_detection_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Audio Quality"
                },
                "audio_hum_detection": {
                    "type": "object",
                    "title": "Audio Hum Detection",
                    "description": "The Verification Unit applies a high pass filter to the frequency domain of the audio waveform to determine if 50 Hz or 60 Hz hum (mono tone frequency) is present (+/- 1 Hz) anywhere within the clip.",
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "Audio Hum Detection Test Configuration",
                            "description": "The audio configurations to test.",
                            "items": {
                                "$ref": "#/definitions/audio_hum_detection_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Audio Quality"
                },
                "audio_metadata": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audio_bitdepth_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Bit Depth",
                                    "description": "Check the number of bits per audio sample per channel.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "type": "string",
                                    "title": "Options",
                                    "description": "Select multiple by using comma separated values.",
                                    "default": "16",
                                    "pattern": "^([0-9]+)(\\s*,\\s*[0-9]+)*\\s*$",
                                    "suffix": "bits per sample"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minLength": 1
                                    }
                                }
                            }
                        },
                        "audio_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Bit Rate",
                                    "description": "Check the bit rate of the audio track as it appears in the input file.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "container_agrees_with_essence": {
                                    "$ref": "#/definitions/container_agrees_with_essence"
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test specific value(s) or that bit rate lies within given range.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "type": "string",
                                    "description": "The allowed bit rates as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "kbps"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum allowed bit rate.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "kbps"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum allowed bit rate.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "kbps"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "options"
                                                    ],
                                                    "properties": {
                                                        "options": {
                                                            "minLength": 1
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_essenceduration_test": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Audio Essence Duration",
                                    "description": "Test if the essence is shorter/longer than specified value/range.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "container_agrees_with_essence": {
                                    "$ref": "#/definitions/container_agrees_with_essence"
                                },
                                "duration_value": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Value",
                                            "description": "Whether the duration value test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "value": {
                                            "title": "Value",
                                            "description": "The duration value allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        },
                                        "spread": {
                                            "title": "Spread (+ or -)",
                                            "description": "The spread (+ or -) allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value",
                                            "spread"
                                        ]
                                    }
                                },
                                "duration_range": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Range",
                                            "description": "Whether the duration range test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum duration allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum duration allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "oneOf": [
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_value": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_range": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_endianness_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check endianness of LPCM",
                                    "type": "boolean",
                                    "default": false,
                                    "description": "Check the endianness of the audio LPCM data against the original audio."
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "title": "Endianness Required",
                                    "description": "The endianness required.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Little Endian"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Big Endian"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_codec_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Codec",
                                    "description": "Check the format of the audio elementary stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "codec": {
                                    "title": "All",
                                    "description": "Which codecs to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "AAC"
                                            },
                                            {
                                                "value": 1,
                                                "name": "Dolby AC-3"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Dolby Digital Plus"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Dolby E"
                                            },
                                            {
                                                "value": 4,
                                                "name": "MPEG-1 / MPEG-2"
                                            },
                                            {
                                                "value": 5,
                                                "name": "PCM"
                                            },
                                            {
                                                "value": 7,
                                                "name": "SMPTE 331M"
                                            },
                                            {
                                                "value": 6,
                                                "name": "WMA"
                                            }
                                        ]
                                    }
                                },
                                "mpeg_layer": {
                                    "title": "MPEG Layer",
                                    "description": "Which MPEG Audio Layer to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            1,
                                            2,
                                            3
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 1,
                                                "name": "Layer 1"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Layer 2"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Layer 3"
                                            }
                                        ]
                                    }
                                },
                                "aac_profile": {
                                    "title": "AAC profiles",
                                    "description": "Which AAC profiles to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "HE-AAC"
                                            },
                                            {
                                                "value": 1,
                                                "name": "HE-AACv2"
                                            },
                                            {
                                                "value": 2,
                                                "name": "LC"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Main"
                                            },
                                            {
                                                "value": 4,
                                                "name": "SSR"
                                            },
                                            {
                                                "value": 5,
                                                "name": "LTP"
                                            }
                                        ]
                                    }
                                },
                                "pcm_type": {
                                    "title": "PCM types",
                                    "description": "Which PCM types to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8,
                                            9,
                                            10,
                                            11,
                                            12
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "Frame (BWF)"
                                            },
                                            {
                                                "value": 1,
                                                "name": "Clip (BWF)"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Frame (AES)"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Clip (AES)"
                                            },
                                            {
                                                "value": 4,
                                                "name": "Custom (BWF)"
                                            },
                                            {
                                                "value": 5,
                                                "name": "Custom (AES)"
                                            },
                                            {
                                                "value": 6,
                                                "name": "Frame"
                                            },
                                            {
                                                "value": 7,
                                                "name": "Clip"
                                            },
                                            {
                                                "value": 8,
                                                "name": "D-10"
                                            },
                                            {
                                                "value": 9,
                                                "name": "Custom"
                                            },
                                            {
                                                "value": 10,
                                                "name": "Custom: Fixed Audio Size"
                                            },
                                            {
                                                "value": 11,
                                                "name": "Frame (D-10)"
                                            },
                                            {
                                                "value": 12,
                                                "name": "Wav (BWF)"
                                            }
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "codec"
                                        ],
                                        "properties": {
                                            "codec": {
                                                "minItems": 1
                                            }
                                        },
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "codec": {
                                                            "contains": {
                                                                "enum": [
                                                                    0
                                                                ]
                                                            }
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "aac_profile"
                                                    ],
                                                    "properties": {
                                                        "aac_profile": {
                                                            "minItems": 1
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "codec": {
                                                            "contains": {
                                                                "enum": [
                                                                    5
                                                                ]
                                                            }
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "pcm_type"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_channelcountchangedetection_test": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Audio Channel Count Detection",
                                    "description": "Enable the audio channel count change detection test.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                }
                            }
                        },
                        "audio_languageid_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Language ID",
                                    "description": "Check the audio language ID in the audio stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "$ref": "#/definitions/iso639_2_languages",
                                    "title": "Languages",
                                    "description": "Which languages to allow."
                                },
                                "audioconfigs": {
                                    "title": "Audio Identification Test Configuration",
                                    "description": "The audio configurations to test.",
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/audio_identification_test_config"
                                    }
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "anyOf": [
                                    {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    },
                                    {
                                        "required": [
                                            "audioconfigs"
                                        ],
                                        "properties": {
                                            "audioconfigs": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "audio_numberofchannels_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Number of Channels",
                                    "description": "Check the number of audio channels in the track.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "type": "string",
                                    "description": "Test specific value(s) or that number of channels lie within given range.",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum allowed number of channels.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum allowed number of channels.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "equals": {
                                    "title": "Equal to",
                                    "description": "Test the channel count is equal to given value.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "source": {
                                    "title": "Source",
                                    "description": "Test the number of channels per audio stream or across all audio streams.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "channels per audio stream"
                                        },
                                        {
                                            "value": 1,
                                            "name": "channels across all streams"
                                        }
                                    ],
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode",
                                            "source"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "equals"
                                                    ]
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_samplerate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Sample rate",
                                    "description": "Check the number of audio samples per channel per second.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "type": "string",
                                    "title": "Options",
                                    "description": "The allowed sample rates as a comma separted list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "kHz"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minLength": 1
                                    }
                                }
                            }
                        },
                        "audio_ac3servicetype_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "AC-3 Service Type",
                                    "description": "Check the AC-3 Service Type in an AC-3 audio stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "service_type": {
                                    "title": "Service Types",
                                    "description": "The service types allowed in an AC-3 audio stream.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "Complete Main"
                                            },
                                            {
                                                "value": 1,
                                                "name": "Music and Effects"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Visually Impaired"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Hearing Impaired"
                                            },
                                            {
                                                "value": 4,
                                                "name": "Dialogue"
                                            },
                                            {
                                                "value": 5,
                                                "name": "Commentary"
                                            },
                                            {
                                                "value": 6,
                                                "name": "Emergency"
                                            },
                                            {
                                                "value": 7,
                                                "name": "Voice Over"
                                            },
                                            {
                                                "value": 8,
                                                "name": "Karaoke"
                                            }
                                        ]
                                    }
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "service_type"
                                ],
                                "properties": {
                                    "service_type": {
                                        "minItems": 1
                                    }
                                }
                            }
                        }
                    },
                    "title": "Audio Metadata",
                    "category": "Audio Metadata"
                },
                "black_frame": {
                    "type": "object",
                    "required": [
                        "silence",
                        "custom_level"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "$ref": "#/definitions/audio_config_silence"
                        },
                        {
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "custom_level": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bit_depth",
                                            "level_8_bit",
                                            "level_10_bit",
                                            "level_12_bit",
                                            "level_14_bit"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "max_allowed_enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max_allowed_duration",
                                            "max_allowed_units"
                                        ]
                                    }
                                }
                            ]
                        }
                    ],
                    "properties": {
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage": {
                            "title": "Percentage Of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "Percentage of frame required to be black."
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of black frames.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max Black Video Allowed",
                            "description": "The maximum black video allowed (frames/seconds).",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "silence": {
                            "title": "Must Also Be Digitally Silent",
                            "description": "Test for digital silence in conjunction with black frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/blackframe_range"
                            }
                        }
                    },
                    "title": "Black Frame",
                    "category": "Video Quality"
                },
                "cadence": {
                    "type": "object",
                    "required": [
                        "cadence_must_be",
                        "broken_cadence",
                        "report_all_cadences",
                        "poor_patterns"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "cadence_must_be": {
                            "title": "Cadence Must Be",
                            "description": "The cadence expected in the stream.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                8,
                                9
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Progressive"
                                },
                                {
                                    "value": 1,
                                    "name": "2:2 (TFF)"
                                },
                                {
                                    "value": 2,
                                    "name": "2:2 (BFF)"
                                },
                                {
                                    "value": 3,
                                    "name": "2:3 (TFF)"
                                },
                                {
                                    "value": 4,
                                    "name": "2:3 (BFF)"
                                },
                                {
                                    "value": 5,
                                    "name": "24->25 fps (TFF)"
                                },
                                {
                                    "value": 6,
                                    "name": "24->25 fps (BFF)"
                                },
                                {
                                    "value": 7,
                                    "name": "2:2:2:4 (frame repeated)"
                                },
                                {
                                    "value": 8,
                                    "name": "2:3:3:2 (TFF)"
                                },
                                {
                                    "value": 9,
                                    "name": "2:3:3:2 (BFF)"
                                }
                            ],
                            "default": 0
                        },
                        "broken_cadence": {
                            "title": "Check for broken 2:3 cadence (compromises Reverse Telecine)",
                            "type": "boolean",
                            "default": false,
                            "description": "Look for breaks in the cadence pattern such as can be caused by editing 2:3 cadence video. An interrupted pattern can cause problems with a Reverse Telecine operation."
                        },
                        "report_all_cadences": {
                            "title": "Report all detected cadences",
                            "type": "boolean",
                            "default": false,
                            "description": "Analyze the video stream and report all cadences found as Info alerts."
                        },
                        "poor_patterns": {
                            "title": "Check for poor patterns",
                            "type": "boolean",
                            "default": false,
                            "description": "Raises an alert if a cadence pattern is found that causes excessive visual 'stutter'. This includes patterns which repeat frames (e.g. 2:2:2:4) and pull-down patterns not best suited for broadcast (e.g. 'Advanced' pull-down 2:3:3:2)."
                        }
                    },
                    "title": "CadenceTest",
                    "category": "Video Quality"
                },
                "caption_paint_style": {
                    "type": "object",
                    "required": [
                        "treat_warnings_as",
                        "cc1",
                        "cc2",
                        "cc3",
                        "cc4",
                        "service1",
                        "service2",
                        "service3",
                        "service4",
                        "service5",
                        "service6"
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "cc1": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "CC1 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in CC1.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "cc2": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "CC2 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in CC2.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "cc3": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "CC3 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in CC3.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "cc4": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "CC4 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in CC4.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service1": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service1 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service1.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service2": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service2 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service2.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service3": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service3 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service3.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service4": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service4 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service4.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service5": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service5 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service5.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        },
                        "service6": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/definitions/caption_paint_style_test"
                                },
                                {
                                    "properties": {
                                        "enable": {
                                            "title": "Service6 Styles",
                                            "type": "boolean",
                                            "description": "Find captions styles in Service6.",
                                            "default": false
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "title": "Caption Paint Style",
                    "category": "Caption Checks"
                },
                "caption_subtitle": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "caption_present_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report the presence of Closed Captions",
                                    "description": "Will test for the absence of captions.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "cc1": {
                                    "title": "CC1 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC1.",
                                    "default": false
                                },
                                "cc2": {
                                    "title": "CC2 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC2.",
                                    "default": false
                                },
                                "cc3": {
                                    "title": "CC3 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC3.",
                                    "default": false
                                },
                                "cc4": {
                                    "title": "CC4 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC4.",
                                    "default": false
                                },
                                "service1": {
                                    "title": "Service 1 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 1.",
                                    "default": false
                                },
                                "service2": {
                                    "title": "Service 2 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 2.",
                                    "default": false
                                },
                                "service3": {
                                    "title": "Service 3 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 3.",
                                    "default": false
                                },
                                "service4": {
                                    "title": "Service 4 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 4.",
                                    "default": false
                                },
                                "service5": {
                                    "title": "Service 5 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 5.",
                                    "default": false
                                },
                                "service6": {
                                    "title": "Service 6 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 6.",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "cc1",
                                    "cc2",
                                    "cc3",
                                    "cc4",
                                    "service1",
                                    "service2",
                                    "service3",
                                    "service4",
                                    "service5",
                                    "service6"
                                ]
                            }
                        },
                        "caption_dropout_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report any Closed Caption Dropouts",
                                    "type": "boolean",
                                    "description": "Will test for the absence of captions in the given interval.",
                                    "default": false
                                },
                                "no_caption_threshold": {
                                    "title": "Max time allowed with no caption data",
                                    "type": "number",
                                    "minimum": 0.0,
                                    "maximum": 3600.0,
                                    "description": "The minimum threshold for which captions must be updated.",
                                    "default": 10.0
                                },
                                "duration_units": {
                                    "$ref": "#/definitions/time_units"
                                },
                                "cc1": {
                                    "title": "CC1 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC1.",
                                    "default": false
                                },
                                "cc2": {
                                    "title": "CC2 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC2.",
                                    "default": false
                                },
                                "cc3": {
                                    "title": "CC3 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC3.",
                                    "default": false
                                },
                                "cc4": {
                                    "title": "CC4 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC4.",
                                    "default": false
                                },
                                "service1": {
                                    "title": "Service 1 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 1.",
                                    "default": false
                                },
                                "service2": {
                                    "title": "Service 2 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 2.",
                                    "default": false
                                },
                                "service3": {
                                    "title": "Service 3 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 3.",
                                    "default": false
                                },
                                "service4": {
                                    "title": "Service 4 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 4.",
                                    "default": false
                                },
                                "service5": {
                                    "title": "Service 5 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 5.",
                                    "default": false
                                },
                                "service6": {
                                    "title": "Service 6 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 6.",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "no_caption_threshold",
                                    "duration_units",
                                    "cc1",
                                    "cc2",
                                    "cc3",
                                    "cc4",
                                    "service1",
                                    "service2",
                                    "service3",
                                    "service4",
                                    "service5",
                                    "service6"
                                ]
                            }
                        },
                        "teletext_presence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report the presence of Teletext subtitles",
                                    "type": "boolean",
                                    "description": "Find Teletext in specified page number.",
                                    "default": false
                                },
                                "pages": {
                                    "title": "Teletext page(s)",
                                    "type": "string",
                                    "description": "The specified page number(s) as a comma separated list, e.g. '888', '888,889'.",
                                    "allOf": [
                                        {
                                            "$ref": "#/definitions/comma_separated_positive_numbers"
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "pages"
                                ]
                            }
                        }
                    },
                    "title": "Caption/Subtitle Test",
                    "category": "Caption Checks"
                },
                "caption_word_detection": {
                    "type": "object",
                    "title": "Caption Word Detection",
                    "description": "Enable checking for words in captions.",
                    "required": [
                        "words"
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "words": {
                            "title": "Words to detect",
                            "description": "The list of words or phrases to detect.",
                            "type": "array",
                            "minItems": 1,
                            "items": {
                                "type": "string",
                                "minLength": 1
                            }
                        }
                    },
                    "category": "Caption Checks"
                },
                "cgmsa_value": {
                    "type": "object",
                    "title": "CGMS-A Value",
                    "description": "Test the CGMS-A value from the CEA-608 caption data packet.",
                    "required": [],
                    "properties": {
                        "copy_permitted": {
                            "title": "Copying permitted without restriction",
                            "description": "Copying permitted without restriction.",
                            "type": "boolean",
                            "default": false
                        },
                        "no_more_copies": {
                            "title": "No more copies",
                            "description": "No more copies.",
                            "type": "boolean",
                            "default": false
                        },
                        "one_generation": {
                            "title": "One generation of copies made",
                            "description": "One generation of copies made.",
                            "type": "boolean",
                            "default": false
                        },
                        "no_copying": {
                            "title": "No copying is permitted",
                            "description": "No copying is permitted.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "category": "Caption Checks"
                },
                "channel_mapping": {
                    "type": "object",
                    "title": "Channel Mapping",
                    "description": "Checks the channel mapping of the given track against an expected channel mapping.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Channel Mapping Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/channelmapping_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "channel_position": {
                    "type": "object",
                    "title": "Channel Position",
                    "description": "Test whether 5.1 channels are in the correct place by analyzing base band and checking against what it should be.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Channel Position Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/channel_position_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "clicks_and_pops": {
                    "type": "object",
                    "title": "Clicks and Pops",
                    "description": "Detect transients or sudden changes in amplitude, such as those caused by noise on an analog or digital audio line.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Clicks and Pops Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/clicksandpops_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "clipping": {
                    "type": "object",
                    "title": "Clipping",
                    "description": "Detect audio clipping by testing for successive samples of equal value. Quiet samples (those below a fixed small value) are suppressed and do not count towards the clipping test.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Clipping Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/clipping_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "color_bars": {
                    "type": "object",
                    "title": "Color Bars",
                    "description": "Detect the presence of color bars in the video to determine that they are of the correct type and/or that they are present when they should be and not present when they should not be.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "standard": {
                            "title": "Color Bar Standard",
                            "description": "The color bar standard to test against.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Any"
                                },
                                {
                                    "value": 1,
                                    "name": "SMPTE SD"
                                },
                                {
                                    "value": 2,
                                    "name": "SMPTE HD"
                                },
                                {
                                    "value": 3,
                                    "name": "EBU 75"
                                },
                                {
                                    "value": 4,
                                    "name": "EBU 100"
                                },
                                {
                                    "value": 5,
                                    "name": "EBU UHD"
                                }
                            ]
                        },
                        "color_tolerance": {
                            "title": "Color Level Tolerance (%)",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 3,
                            "description": "Percentage of allowed deviation from colorbar specification colors."
                        },
                        "details": {
                            "title": "Provide extra details",
                            "description": "Provides information on why a frame is not a colorbar.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of colorbars.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max ColorBars Allowed",
                            "description": "The maximum number of colorbars allowed.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/colorbar_range"
                            }
                        }
                    },
                    "category": "Video Quality"
                },
                "comb_artifacts": {
                    "type": "object",
                    "title": "Combing Artifacts Detection Test",
                    "description": "Detect if the input video stream has any interlacing or combing artifacts.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "consecutive_frame_count": {
                            "title": "Consecutive Error Frames",
                            "type": "integer",
                            "default": 1,
                            "suffix": "frames",
                            "description": "Raise an alert if number of Consecutive Error Frames exceeds this limit."
                        }
                    },
                    "required": [
                        "consecutive_frame_count"
                    ],
                    "category": "Video Quality"
                },
                "comparative_loudness": {
                    "type": "object",
                    "required": [
                        "audioconfigs"
                    ],
                    "title": "Comparative Loudness",
                    "description": "Detect mismatch in program loudness across multiple audio tracks.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Comparative Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "minItems": 1,
                            "items": {
                                "$ref": "#/definitions/comparative_loudness_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "corrupt_frame": {
                    "type": "object",
                    "title": "Corrupt Frame",
                    "description": "Check for corrupt or unexpected frames.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "sensitivity": {
                            "title": "Corrupt Frame Detection Sensitivity",
                            "description": "The Corrupt Frame Detection Sensitivity.",
                            "$ref": "#/definitions/sensitivity"
                        }
                    },
                    "category": "Video Quality"
                },
                "dead_pixel": {
                    "type": "object",
                    "title": "Dead Pixel",
                    "description": "Test for the presence of dead pixels.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "category": "Video Quality"
                },
                "dialnorm": {
                    "type": "object",
                    "title": "Dialnorm",
                    "description": "Test the dialnorm value of Dolby AC-3 and Dolby Digital Plus audio tracks. Valid values are from 1 to 31.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Dialnorm Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dialnorm_test_config"
                            }
                        }
                    },
                    "category": "Audio Metadata"
                },
                "digital_dropouts": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "speckle": {
                            "title": "Speckle Dropouts",
                            "type": "boolean",
                            "description": "Check for speckle dropout artifacts caused by digital tape transfer errors.",
                            "default": false
                        },
                        "speckle_sensitivity": {
                            "title": "Speckle Detection Sensitivity",
                            "description": "A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious dropouts. Note that not all dropouts may be detected - in particular larger problems may be ignored.",
                            "$ref": "#/definitions/sensitivity"
                        },
                        "chroma": {
                            "title": "Chroma Block Dropouts",
                            "description": "Check for chroma dropout artifacts.",
                            "type": "boolean",
                            "default": false
                        },
                        "chroma_sensitivity": {
                            "title": "Chroma Block Detection Sensitivity",
                            "description": "A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious dropouts. Note that not all dropouts may be detected - in particular larger problems may be ignored.",
                            "$ref": "#/definitions/sensitivity"
                        },
                        "luma": {
                            "title": "Luma Block Dropouts",
                            "description": "Check for luma dropout artifacts.",
                            "type": "boolean",
                            "default": false
                        },
                        "luma_sensitivity": {
                            "title": "Luma Block Detection Sensitivity",
                            "description": "A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious dropouts. Note that not all dropouts may be detected - in particular larger problems may be ignored.",
                            "$ref": "#/definitions/sensitivity"
                        },
                        "repeated_tile": {
                            "title": "Repeated Tile Dropouts",
                            "description": "Check for repeated tile dropout artifacts.",
                            "type": "boolean",
                            "default": false
                        },
                        "repeated_tile_sensitivity": {
                            "title": "Repeated Tile Detection Sensitivity",
                            "description": "A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious dropouts. Note that not all dropouts may be detected - in particular larger problems may be ignored.",
                            "$ref": "#/definitions/sensitivity"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "speckle": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "speckle_sensitivity"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "chroma": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "chroma_sensitivity"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "luma": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "luma_sensitivity"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "repeated_tile": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "repeated_tile_sensitivity"
                                ]
                            }
                        }
                    ],
                    "title": "Digital Dropouts",
                    "category": "Video Quality"
                },
                "dolbye_presence": {
                    "type": "object",
                    "title": "Dolby E Presence",
                    "description": "Test for the presence of Dolby E.",
                    "additionalProperties": false,
                    "required": [
                        "treat_warnings_as",
                        "must_be_present"
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "must_be_present": {
                            "title": "Must be Present",
                            "description": "Check that Dolby E is present or not present.",
                            "type": "boolean",
                            "default": true
                        }
                    },
                    "category": "File Checks"
                },
                "dolby_vision_metadata": {
                    "type": "object",
                    "title": "Dolby Vision Metadata",
                    "description": "Dolby Vision metadata validation version 2.0.5, 4.0.2 or 5.1.0.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Video Quality"
                },
                "dual_mono": {
                    "type": "object",
                    "title": "Dual Mono",
                    "description": "Compares 2 audio streams and reports back if dual mono sections are detected between them.",
                    "additionalProperties": false,
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "DualMono Test Configuration",
                            "description": "The audio configurations to test.",
                            "items": {
                                "$ref": "#/definitions/dualmono_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Audio Quality"
                },
                "faulty_test": {
                    "type": "object",
                    "title": "Faulty Test",
                    "description": "This test is designed to fail.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "fail_type": {
                            "type": "integer",
                            "title": "Fail Type",
                            "description": "Fail Type.",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                8,
                                9,
                                10,
                                11,
                                12
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "No Fail"
                                },
                                {
                                    "value": 1,
                                    "name": "KrakenConfigurationError on Begin"
                                },
                                {
                                    "value": 2,
                                    "name": "KrakenRuntimeError on Begin"
                                },
                                {
                                    "value": 3,
                                    "name": "Fatal error on Begin"
                                },
                                {
                                    "value": 4,
                                    "name": "Unknown error on Begin"
                                },
                                {
                                    "value": 5,
                                    "name": "KrakenConfigurationError on AddFrame"
                                },
                                {
                                    "value": 6,
                                    "name": "KrakenRuntimeError on AddFrame"
                                },
                                {
                                    "value": 7,
                                    "name": "Fatal error on AddFrame"
                                },
                                {
                                    "value": 8,
                                    "name": "Unknown error on AddFrame"
                                },
                                {
                                    "value": 9,
                                    "name": "KrakenConfigurationError on End"
                                },
                                {
                                    "value": 10,
                                    "name": "KrakenRuntimeError on End"
                                },
                                {
                                    "value": 11,
                                    "name": "Fatal error on End"
                                },
                                {
                                    "value": 12,
                                    "name": "Unknown error on End"
                                }
                            ]
                        }
                    },
                    "category": "Developer"
                },
                "field_order": {
                    "type": "object",
                    "required": [
                        "encoded_flag"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_baseband": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "if": {
                                    "properties": {
                                        "baseband_mode": {
                                            "const": "Will play correctly with this flag"
                                        }
                                    }
                                },
                                "then": {
                                    "disabled": [
                                        "field_order_must_be"
                                    ]
                                }
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_baseband": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "if": {
                                    "properties": {
                                        "baseband_mode": {
                                            "const": "Field order must be"
                                        }
                                    }
                                },
                                "then": {
                                    "enabled": [
                                        "field_order_must_be"
                                    ],
                                    "required": [
                                        "field_order_must_be"
                                    ]
                                }
                            }
                        }
                    ],
                    "properties": {
                        "encoded_flag": {
                            "title": "Encoded Flag",
                            "type": "integer",
                            "description": "Field order that should be flagged in the stream.",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Top field first"
                                },
                                {
                                    "value": 1,
                                    "name": "Bottom field first"
                                },
                                {
                                    "value": 2,
                                    "name": "Progressive"
                                },
                                {
                                    "value": 3,
                                    "name": "Any"
                                }
                            ],
                            "default": 0
                        },
                        "check_baseband": {
                            "title": "Analyze Baseband",
                            "type": "boolean",
                            "description": "Analyze baseband against given field order.",
                            "default": false
                        },
                        "baseband_mode": {
                            "type": "integer",
                            "title": "Baseband Mode",
                            "description": "Check that the video will play without problems or that the video is a specific field order.",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Will play correctly with this flag"
                                },
                                {
                                    "value": 1,
                                    "name": "Field order must be"
                                }
                            ]
                        },
                        "field_order_must_be": {
                            "title": "Field Order expected",
                            "description": "The expected field order of the video.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Top field first"
                                },
                                {
                                    "value": 1,
                                    "name": "Bottom field first"
                                },
                                {
                                    "value": 2,
                                    "name": "Progressive"
                                },
                                {
                                    "value": 3,
                                    "name": "Same as encoded flag"
                                }
                            ],
                            "default": 0
                        }
                    },
                    "title": "Field Order",
                    "category": "Video Quality"
                },
                "file_checks": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "hash_value_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check Hash Value",
                                    "description": "Check MD5 and/or SHA-1 hash values of the container file against the relevant hash file.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "md5_check": {
                                    "title": "MD5 Check",
                                    "description": "Check MD5 hash value.",
                                    "type": "boolean",
                                    "default": true
                                },
                                "sha1_check": {
                                    "title": "SHA-1 Check",
                                    "description": "Check SHA-1 hash value.",
                                    "type": "boolean",
                                    "default": true
                                },
                                "ignore_missing_hashfile": {
                                    "title": "Ignore Missing hash file",
                                    "description": "Do not alert if a hash file is not present.",
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "md5_check",
                                            "sha1_check",
                                            "ignore_missing_hashfile"
                                        ],
                                        "oneOf": [
                                            {
                                                "not": {
                                                    "properties": {
                                                        "md5_check": {
                                                            "const": false
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "not": {
                                                    "properties": {
                                                        "sha1_check": {
                                                            "const": false
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_duration_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Duration",
                                    "description": "Check the video duration (if a video track is present) falls within the Min/Max parameters.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum duration allowed.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum duration allowed.",
                                    "$ref": "#/definitions/timecode"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_ebpmarker_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "EBP Metadata Checks",
                                    "description": "Whether to enable EBP Metadata checks.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "mode": {
                                    "title": "Mode",
                                    "description": "The mode to test.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Explicit"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Implicit"
                                        }
                                    ],
                                    "default": 0
                                },
                                "distance": {
                                    "type": "object",
                                    "title": "EBP Marker Distance",
                                    "description": "EBP Marker Distance.",
                                    "required": [
                                        "minimum",
                                        "maximum"
                                    ],
                                    "properties": {
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum distance allowed.",
                                            "type": "integer",
                                            "suffix": "seconds",
                                            "minimum": 0,
                                            "default": 1
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum distance allowed.",
                                            "type": "integer",
                                            "suffix": "seconds",
                                            "minimum": 0,
                                            "default": 10
                                        }
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode",
                                            "distance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_filesize_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Size",
                                    "description": "Check that the total file size falls within the Min/Max parameters.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "maximum": {
                                    "title": "Maximum (bytes)",
                                    "description": "The maximum (bytes) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "minimum": {
                                    "title": "Minimum (bytes)",
                                    "description": "The minimum (bytes) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_format_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Format",
                                    "description": "Check the 'wrapper' or container file used to hold the video and/or audio matches the user defined value.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "title": "All formats",
                                    "description": "Which formats to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "3gpp",
                                            "aac ",
                                            "asf ",
                                            "avi ",
                                            "avs",
                                            "dcp ",
                                            "dpx ",
                                            "flv ",
                                            "gxf ",
                                            "imf ",
                                            "lxf ",
                                            "m2ps",
                                            "m2ts",
                                            "mkv ",
                                            "mov ",
                                            "mp4 ",
                                            "mpga",
                                            "mxf ",
                                            "oexr",
                                            "wav ",
                                            "fmp4"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "3gpp",
                                                "name": "3GPP"
                                            },
                                            {
                                                "value": "aac ",
                                                "name": "AAC Audio (ADTS)"
                                            },
                                            {
                                                "value": "asf ",
                                                "name": "ASF"
                                            },
                                            {
                                                "value": "avi ",
                                                "name": "AVI"
                                            },
                                            {
                                                "value": "avs",
                                                "name": "AVS"
                                            },
                                            {
                                                "value": "dcp ",
                                                "name": "DCP"
                                            },
                                            {
                                                "value": "dpx ",
                                                "name": "DPX"
                                            },
                                            {
                                                "value": "flv ",
                                                "name": "Flash/FLV"
                                            },
                                            {
                                                "value": "fmp4",
                                                "name": "Fragmented MP4"
                                            },
                                            {
                                                "value": "gxf ",
                                                "name": "GXF"
                                            },
                                            {
                                                "value": "imf ",
                                                "name": "IMF"
                                            },
                                            {
                                                "value": "lxf ",
                                                "name": "LXF"
                                            },
                                            {
                                                "value": "m2ps",
                                                "name": "Mpeg-2 PS"
                                            },
                                            {
                                                "value": "m2ts",
                                                "name": "Mpeg-2 TS"
                                            },
                                            {
                                                "value": "mkv ",
                                                "name": "MKV"
                                            },
                                            {
                                                "value": "mov ",
                                                "name": "MOV"
                                            },
                                            {
                                                "value": "mp4 ",
                                                "name": "MP4"
                                            },
                                            {
                                                "value": "mpga",
                                                "name": "MPEG Audio"
                                            },
                                            {
                                                "value": "mxf ",
                                                "name": "MXF"
                                            },
                                            {
                                                "value": "oexr",
                                                "name": "OpenEXR"
                                            },
                                            {
                                                "value": "wav ",
                                                "name": "Windows Audio Format"
                                            }
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "container_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "File Bit Rate",
                                    "description": "Check the calculated bit rate of the file.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test specific value(s) or that bit rate lies within given range.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "description": "The allowed bit rates as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "type": "string",
                                    "suffix": "Mbit/s"
                                },
                                "minimum": {
                                    "title": "Minimum (Mbit/s)",
                                    "description": "The minimum allowed bit rate.",
                                    "type": "number",
                                    "suffix": "Mbit/s",
                                    "default": 0
                                },
                                "maximum": {
                                    "title": "Maximum (Mbit/s)",
                                    "description": "The maximum allowed bit rate.",
                                    "type": "number",
                                    "suffix": "Mbit/s",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "options"
                                                    ]
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "comparestreamlengths_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Compare Stream Lengths",
                                    "description": "Check whether the audio track is present throughout the duration of the video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "tolerance": {
                                    "title": "Tolerance",
                                    "description": "The tolerance allowed.",
                                    "type": "number",
                                    "default": 2,
                                    "suffix": "seconds",
                                    "minimum": 0
                                },
                                "mismatch_units": {
                                    "title": "Mismatch Units",
                                    "description": "Whether to show the mismatch between stream durations in milliseconds or frames. With milliseconds the duration would be shown as 'HH:MM:SS.mmm'. With frames the duration would be shown as 'HH:MM:SS:ff' (for non drop-frame) or 'HH:MM:SS;ff' (for drop-frame).",
                                    "type": "number",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 0,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Milliseconds"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Frames"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "moov_atom": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "MOOV Atom",
                                    "type": "boolean",
                                    "default": false,
                                    "description": "Check that there is only 1 MOOV atom in a mov/mp4 file."
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                }
                            }
                        },
                        "container_starttimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Start Timecode",
                                    "description": "Check the Container Start Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_endtimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container End Timecode",
                                    "description": "Check the Container End Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode",
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_dropframe_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Drop Frame",
                                    "description": "Check that the container's start timecode is either drop-frame or non-drop as specified.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "drop_frame": {
                                    "$ref": "#/definitions/drop_frame"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "drop_frame"
                                ]
                            }
                        },
                        "container_essence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container/Header agrees with Essence",
                                    "type": "boolean",
                                    "description": "Checks that the video duration in the container metadata is correct (within a small margin of error). This can indicate truncation. For MOV and MP4 files, checks that the media samples described in the header do not exceed the file's length, and is therefore also useful in detecting truncation in these file types.",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "tolerance": {
                                    "title": "Tolerance (seconds/frames)",
                                    "description": "The tolerance (seconds/frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "units": {
                                    "title": "Tolerance Units",
                                    "description": "Tolerance Units.",
                                    "$ref": "#/definitions/time_units"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "tolerance",
                                            "units"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_numberoftracks_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Number of Tracks",
                                    "type": "boolean",
                                    "description": "Check the number of tracks in the file.",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "video_tracks": {
                                    "title": "Video Tracks",
                                    "description": "Check the number of Video tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "audio_tracks": {
                                    "title": "Audio Tracks",
                                    "description": "Check the number of Audio tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "subtitle_tracks": {
                                    "title": "Subtitle Tracks",
                                    "description": "Check the number of Subtitle tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "timecode_tracks": {
                                    "title": "TimeCode Tracks",
                                    "description": "Check the number of TimeCode tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "video_tracks",
                                    "audio_tracks",
                                    "subtitle_tracks",
                                    "timecode_tracks"
                                ]
                            }
                        },
                        "video_cleanaperture_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Clean Aperture",
                                    "description": "Check Clean Aperture is equal to Production Aperture.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                }
                            }
                        },
                        "video_goplength_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "GOP Length",
                                    "description": "Check the distance between successive I-frames in the encoded video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "length": {
                                    "title": "I-Frame distance",
                                    "description": "Distance between I-frames.",
                                    "type": "number",
                                    "default": 1,
                                    "minimum": 1
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "length"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_starttimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence Start Timecode",
                                    "description": "Check the Essence Start Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "matches_container": {
                                    "title": "Matches container",
                                    "description": "If the file is MXF and video is H.262, compare the video start-timecode against the Material Package start-timecode.",
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_endtimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence End Timecode",
                                    "description": "Check the Essence End Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode",
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_dropframe_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence Drop Frame",
                                    "description": "Check that the essence's start timecode is either drop-frame or non-drop as specified.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "drop_frame": {
                                    "$ref": "#/definitions/drop_frame"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "drop_frame"
                                ]
                            }
                        },
                        "video_advancedgop_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Advanced GOP Length",
                                    "description": "A more thorough GOP test for MPEG-2 and H.264 that can test for a range of GOP lengths, test for open and closed GOPs (MPEG-2 only), and allow special handling of first and last GOPs.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "order": {
                                    "title": "Test order",
                                    "description": "The expected test order.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 1,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Coded"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Display"
                                        }
                                    ]
                                },
                                "report": {
                                    "title": "Report",
                                    "description": "Report each unique GOP structure or all errors as specified.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 0,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Each unique GOP structure"
                                        },
                                        {
                                            "value": 1,
                                            "name": "All errors"
                                        }
                                    ]
                                },
                                "first_gop": {
                                    "title": "First GOP",
                                    "description": "Enable specific values to be given for the first GOP structure.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "first_gop_options": {
                                    "title": "Options",
                                    "description": "The first GOP options allowed.",
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                },
                                "other_gop": {
                                    "title": "Other GOPs",
                                    "description": "Enable specific values to be given for other GOP structures. This will apply to first and last GOPs if their specific sections are not selected.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "other_gop_options": {
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                },
                                "last_2gop": {
                                    "title": "Last 2 GOPs",
                                    "description": "Enable specific values to be given for the last two GOP structures.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "last_2gop_options": {
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "order",
                                            "report",
                                            "first_gop",
                                            "other_gop",
                                            "last_2gop"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "first_gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "first_gop_options"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "other_gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "other_gop_options"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "last_2gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "last_2gop_options"
                                        ]
                                    }
                                }
                            ]
                        },
                        "transportstream_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Transport Stream Bit Rate",
                                    "description": "Check stream bitrate using PCRs which accounts for various stuffing methods.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "check_instantaneous": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Instantaneous Bitrate",
                                            "description": "Enable the Instantaneous Bitrate test.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum instantaneous bit-rate threshold.",
                                            "type": "number",
                                            "default": 1000000,
                                            "minimum": 0,
                                            "suffix": "bits/s"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum instantaneous bit-rate threshold.",
                                            "type": "number",
                                            "default": 1000000,
                                            "minimum": 0,
                                            "suffix": "bits/s"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                },
                                "check_average": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Average Bitrate",
                                            "description": "Enable the Average Bitrate test.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "average": {
                                            "title": "Average",
                                            "description": "The average container bit rate (over the entire stream, from first to last PCR).",
                                            "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                            "default": "1000000",
                                            "suffix": "bits/s"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "average"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "anyOf": [
                                            {
                                                "required": [
                                                    "check_instantaneous"
                                                ]
                                            },
                                            {
                                                "required": [
                                                    "check_average"
                                                ]
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_pidversuslanguage_test": {
                            "type": "object",
                            "required": [],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "PID Versus Language Test",
                                    "description": "Check the PID (Packet Identified in Transport Stream) versus the audio/subtitle language ID coded in the PMT descriptor.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "type": "array",
                                    "title": "PID vs Language Test Configuration",
                                    "description": "The configurations to test.",
                                    "items": {
                                        "type": "object",
                                        "required": [
                                            "pid",
                                            "language"
                                        ],
                                        "properties": {
                                            "pid": {
                                                "title": "PID value",
                                                "description": "Comma separated PID values in hex (0xFFFF notation) to check.",
                                                "type": "string",
                                                "default": "0x1000",
                                                "pattern": "^0x[0-9A-F]{1,4}(?:,0x[0-9A-F]{1,4})*$"
                                            },
                                            "language": {
                                                "$ref": "#/definitions/iso639_2_languages",
                                                "title": "Language ID",
                                                "description": "The Language ID to check."
                                            }
                                        }
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "timecode_discontinuity_test": {
                            "type": "object",
                            "required": [],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Timecode Discontinuity",
                                    "description": "Check Timecodes or Decoding TimeStamps (DTS) are continuous with regular intervals.",
                                    "type": "boolean",
                                    "default": false
                                }
                            }
                        }
                    },
                    "title": "File Checks",
                    "category": "File Checks"
                },
                "freeze_frame": {
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "$ref": "#/definitions/audio_config_silence"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "custom_level": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "bit_depth"
                                ],
                                "anyOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 8
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_8_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 10
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_10_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 12
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_12_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 14
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_14_bit"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_allowed_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_allowed_duration",
                                    "max_allowed_units"
                                ]
                            }
                        }
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "ignore_black_frames": {
                            "title": "Ignore Black Frames",
                            "description": "Whether to ignore black frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage": {
                            "title": "Percentage Of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "Percentage of frame required to be frozen."
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of frozen frames.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max Frozen Video Allowed",
                            "description": "The maximum frozen video (in frames/seconds) allowed.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "silence": {
                            "title": "Must Also Be Digitally Silent",
                            "description": "Test for digital silence in conjunction with frozen frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/freezeframe_range"
                            }
                        }
                    },
                    "required": [
                        "silence",
                        "ignore_black_frames"
                    ],
                    "title": "Freeze Frame",
                    "category": "Video Quality"
                },
                "hdr_area": {
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "luminance": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 203,
                            "description": "Minimum desired Luminance value greater than 0."
                        },
                        "luminance_units": {
                            "title": "Luminance Units",
                            "description": "The luminance units to use.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "NITS"
                                },
                                {
                                    "value": 1,
                                    "name": "Code Values"
                                }
                            ],
                            "default": 0
                        },
                        "area_threshold": {
                            "title": "Area Threshold",
                            "type": "number",
                            "default": 20,
                            "minimum": 0,
                            "maximum": 100,
                            "suffix": "%",
                            "description": "Area threshold in percentage (0 to 100)."
                        },
                        "continues_for": {
                            "title": "Continues For",
                            "type": "number",
                            "default": 5,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Value in number of measurements."
                        }
                    },
                    "required": [
                        "luminance",
                        "area_threshold",
                        "continues_for"
                    ],
                    "title": "HDR Area",
                    "category": "Video Quality"
                },
                "hdr_change_detection": {
                    "type": "object",
                    "title": "HDR Change Detection",
                    "description": "Check each frame for changes in the HDR metadata encoded as SEI messages in the HEVC bit-stream.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "category": "Video Quality"
                },
                "hdr_limit": {
                    "type": "object",
                    "title": "HDR Limit",
                    "description": "Check the luminance level that marks the boundary such that (x) percentile of pixels in a frame lie above this level and the remaining, (100-x) percentile of pixels, lie below this level. Both PQ and HLG-1000 gradings are supported.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "limit_brightest_percentage": {
                            "title": "First Brightest Check",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame above luminance threshold."
                        },
                        "limit_threshold_luminance": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 320,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "limit_brightest_percentage_top": {
                            "title": "Second Brightest Check",
                            "type": "number",
                            "default": 10,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame above luminance threshold."
                        },
                        "limit_threshold_luminance_top": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 150,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "limit_darkest_percentage": {
                            "title": "Darkest",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame below luminance threshold."
                        },
                        "limit_threshold_luminance_dark": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 10,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "luminance_units": {
                            "title": "Luminance Units",
                            "description": "The luminance units to use.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "NITS"
                                },
                                {
                                    "value": 1,
                                    "name": "CODE VALUES"
                                }
                            ],
                            "default": 0
                        },
                        "continues_for": {
                            "title": "Continues for",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "description": "Measurements."
                        }
                    },
                    "required": [
                        "limit_brightest_percentage",
                        "limit_threshold_luminance",
                        "limit_brightest_percentage_top",
                        "limit_threshold_luminance_top",
                        "limit_darkest_percentage",
                        "limit_threshold_luminance_dark",
                        "luminance_units",
                        "continues_for"
                    ],
                    "category": "Video Quality"
                },
                "hdr_measurement": {
                    "type": "object",
                    "title": "HDR Measurement",
                    "description": "Check each decoded frame in its native bit depth to calculate the MaxCLL and MaxFALL.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "category": "Video Quality"
                },
                "imf_conformance": {
                    "type": "object",
                    "required": [
                        "treat_warnings_as",
                        "check_package_integrity"
                    ],
                    "title": "IMF Conformance",
                    "description": "Check for IMF conformance.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "check_package_integrity": {
                            "description": "Perform basic consistency checking of IMF assets.",
                            "title": "Check Package Integrity",
                            "type": "boolean",
                            "default": true
                        },
                        "checksum_calculations": {
                            "description": "Check package list asset hashes.",
                            "title": "Perform Checksum Calculations",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "if": {
                        "not": {
                            "properties": {
                                "check_package_integrity": {
                                    "const": false
                                }
                            }
                        },
                        "then": {
                            "required": [
                                "checksum_calculations"
                            ]
                        }
                    },
                    "category": "Distribution and Broadcast"
                },
                "integrated_loudness": {
                    "type": "object",
                    "title": "Integrated Loudness (inc Dialog Gating)",
                    "description": "Measure Integrated loudness over the duration of the file.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Integrated Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/integrated_loudness_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "itunes_compatibility": {
                    "type": "object",
                    "title": "iTunes Compatibility",
                    "description": "Test several aspects of MOV file atom structure which are relevant for iTunes submission.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Distribution and Broadcast"
                },
                "letterboxing": {
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "letterboxing_pillarboxing": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "aspect_ratio",
                                    "tolerance"
                                ],
                                "allOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 0
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "active_picture_ratio_value"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 1
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "custom_aspect_ratio_numerator",
                                                "custom_aspect_ratio_denominator"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 2
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "lines_required_top_bottom",
                                                "lines_required_left_right"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "custom_level": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "bit_depth"
                                ],
                                "anyOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 8
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_8_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 10
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_10_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 12
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_12_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 14
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_14_bit"
                                            ]
                                        }
                                    }
                                ]
                            }
                        }
                    ],
                    "properties": {
                        "active_picture_ratio_value": {
                            "type": "integer",
                            "title": "Active picture aspect ratio must be :",
                            "description": "Select from a number of common aspect ratios.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5,
                                6
                            ],
                            "titleMap": [
                                {
                                    "name": "4:3",
                                    "value": 0
                                },
                                {
                                    "name": "14:9",
                                    "value": 1
                                },
                                {
                                    "name": "16:9",
                                    "value": 2
                                },
                                {
                                    "name": "1.85:1",
                                    "value": 3
                                },
                                {
                                    "name": "2.35:1",
                                    "value": 4
                                },
                                {
                                    "name": "2.39:1",
                                    "value": 5
                                },
                                {
                                    "name": "2.40:1",
                                    "value": 6
                                }
                            ]
                        },
                        "aspect_ratio": {
                            "type": "integer",
                            "title": "Aspect ratio",
                            "description": "The number of black lines needed at the edges is automatically calculated based on this ratio, the frame size and the pixel aspect ratio.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "titleMap": [
                                {
                                    "name": "Defined aspect ratio",
                                    "value": 0
                                },
                                {
                                    "name": "Custom aspect ratio",
                                    "value": 1
                                },
                                {
                                    "name": "Defined number of lines",
                                    "value": 2
                                }
                            ]
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "custom_aspect_ratio_denominator": {
                            "type": "integer",
                            "title": "Custom aspect ratio denominator",
                            "description": "Specify the required custom aspect ratio.",
                            "default": 1,
                            "minimum": 1
                        },
                        "custom_aspect_ratio_numerator": {
                            "type": "number",
                            "title": "Custom aspect ratio numerator",
                            "description": "Specify the required custom aspect ratio.",
                            "default": 1,
                            "minimum": 0
                        },
                        "custom_level": {
                            "type": "boolean",
                            "title": "Custom Black Level",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "letterboxing_pillarboxing": {
                            "type": "boolean",
                            "title": "Detect and report letterboxing/pillarboxing violations",
                            "description": "This test is used to detect if video content has the correct letterboxing and/or pillarboxing.",
                            "default": false
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "lines_required_left_right": {
                            "type": "integer",
                            "title": "Set the number of required black lines at the left/right",
                            "description": "This allows the number of required black lines at the left/right to be set to any value.",
                            "default": 0,
                            "minimum": 0
                        },
                        "lines_required_top_bottom": {
                            "type": "integer",
                            "title": "Set the number of required black lines at the top/bottom",
                            "description": "This allows the number of required black lines at the top/bottom to be set to any value.",
                            "default": 0,
                            "minimum": 0
                        },
                        "report_blanking": {
                            "type": "boolean",
                            "title": "Detect and report all changes in blanking",
                            "description": "Will raise info alerts detailing the number of black lines bordering the active picture content.",
                            "default": false
                        },
                        "tolerance": {
                            "type": "integer",
                            "title": "Tolerance",
                            "description": "If the number of lines to give the selected active picture varies by +/- Tolerance lines then no error or warning will be given. This can be set to zero if required.",
                            "default": 0,
                            "minimum": 0
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "title": "LetterboxingTest",
                    "category": "Video Quality"
                },
                "luma_chroma_levels": {
                    "type": "object",
                    "title": "Luma/Chroma Levels",
                    "description": "Check the Y, U and V levels of the video are within the given limits.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "luma_range_from": {
                            "title": "Low Luma Limit (%)",
                            "type": "number",
                            "default": -1,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 1%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "luma_range_to": {
                            "title": "High Luma Limit (%)",
                            "type": "number",
                            "default": 103,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 3%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "luma_max_area_outside": {
                            "title": "Luma Max area outside (%)",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "The maximum area of the video picture that can be outside the given range without generating an error. Typically set to 1% (as per EBU R103-2000 recommendation)."
                        },
                        "luma_low_pass_filter": {
                            "title": "Luma Low-pass filter",
                            "type": "integer",
                            "description": "When EBU R103 2000 is selected, a horizontal signal filter (as described in EBU R103-2000) is applied to the luma component before testing to remove transient violations. When EBU R103-2016 is selected, a quarter band signal filter is applied horizontally and a half band signal filter is applied vertically (as described in EBU R103-2016) to the luma component before testing to remove transient violations.",
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "None"
                                },
                                {
                                    "value": 1,
                                    "name": "EBU R103 2000"
                                },
                                {
                                    "value": 2,
                                    "name": "EBU R103 2016"
                                }
                            ]
                        },
                        "chroma_range_from": {
                            "title": "Low Chroma Limit (%)",
                            "type": "number",
                            "default": -1,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 1%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "chroma_range_to": {
                            "title": "High Chroma Limit (%)",
                            "type": "number",
                            "default": 103,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 3%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "chroma_max_area_outside": {
                            "title": "Chroma max area outside (%)",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "The maximum area of the video picture that can be outside the given range without generating an error. Typically set to 1% (as per EBU R103-2000 recommendation)."
                        }
                    },
                    "required": [
                        "luma_range_from",
                        "luma_range_to",
                        "luma_max_area_outside",
                        "luma_low_pass_filter",
                        "chroma_range_from",
                        "chroma_range_to",
                        "chroma_max_area_outside"
                    ],
                    "category": "Video Quality"
                },
                "loss_of_chroma": {
                    "type": "object",
                    "title": "Loss of Chroma",
                    "description": "Check for loss of chroma.",
                    "required": [
                        "tolerance"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "tolerance": {
                            "type": "integer",
                            "title": "Loss of Chroma Tolerance",
                            "description": "The tolerance for loss of chroma detection as a percentage.",
                            "minimum": 0,
                            "maximum": 100
                        }
                    },
                    "category": "Video Quality"
                },
                "loudness_range": {
                    "type": "object",
                    "title": "Loudness Range (LUFS)",
                    "description": "Measure the variation in loudness over the duration of a file.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Loudness Range Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/loudness_range_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "macro_block": {
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "title": "MacroBlockTest",
                    "description": "Check for macroblocking artifacts where the macroblock edge is clearly visible.",
                    "properties": {
                        "quality_score": {
                            "title": "Quality Score",
                            "type": "number",
                            "default": 80,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Minimum desired quality score, varies from 0 (poor/blocky) to 99 (excellent)."
                        },
                        "averaged_over": {
                            "title": "Averaged Over",
                            "type": "number",
                            "default": 5,
                            "description": "Duration over which the quality scores are averaged."
                        },
                        "duration_units": {
                            "title": "Duration Units",
                            "description": "The duration units to use.",
                            "$ref": "#/definitions/time_units"
                        }
                    },
                    "required": [
                        "quality_score",
                        "averaged_over",
                        "duration_units"
                    ],
                    "category": "Video Quality"
                },
                "media_demux_decode": {
                    "type": "object",
                    "title": "Media Demux Decode Frame",
                    "description": "Checks and reports errors when demuxing or decoding the media.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "File Quality"
                },
                "media_offline": {
                    "type": "object",
                    "title": "Media Offline",
                    "description": "Test for the presence of a media offline slate.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "category": "Video Quality"
                },
                "minimum_level": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Minimum Level Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/minlevel_test_config"
                            }
                        }
                    },
                    "title": "Minimum Level",
                    "category": "Audio Quality"
                },
                "momentary_loudness": {
                    "type": "object",
                    "title": "Momentary Loudness",
                    "description": "Measure Momentary Loudness over a 400ms sliding rectangular time window as per EBU-Tech 3341 Momentary mode. The measurement is not gated.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Momentary Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/momentary_loudness_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "deep_mxf": {
                    "type": "object",
                    "properties": {
                        "active_format_descriptor": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "allowed_formats": {
                                    "type": "string",
                                    "title": "AFD Information Byte Values",
                                    "description": "A comma separated list can be provided for multiple values e.g. 4,36,68,76."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Active Format Descriptor",
                                    "description": "Examine the AFD information byte, present in the Generic Picture Essence Descriptor and specified in SMPTE S2016-1. This is not the 4-bit AFD code, but the whole AFD information byte which also includes an Aspect Ratio (AR) bit.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "allowed_formats"
                                        ]
                                    }
                                }
                            ]
                        },
                        "as11_uk_dpp_metadata": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AS-11 UK DPP Metadata",
                                    "description": "Test MXF structural and descriptive metadata against selected shim.",
                                    "default": false
                                },
                                "shim": {
                                    "type": "integer",
                                    "title": "AS-11 UK DPP Shim",
                                    "description": "AS-11 UK DPP Shim.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Auto",
                                            "value": 0
                                        },
                                        {
                                            "name": "SD",
                                            "value": 1
                                        },
                                        {
                                            "name": "HD",
                                            "value": 2
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "shim"
                                        ]
                                    }
                                }
                            ]
                        },
                        "as11_xprofile": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "embedded_xml_documents": {
                                    "type": "integer",
                                    "title": "Embedded XML Documents",
                                    "description": "Embedded XML Documents.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "XML DM for Programmes",
                                            "value": 1
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "AMWA AS-11 Rule Blocks",
                                    "default": false,
                                    "description": "Compliance checking to AMWA AS-11 X profile specifications."
                                },
                                "extra_audio_layout_modes": {
                                    "type": "integer",
                                    "title": "Extra Audio Layout Modes",
                                    "description": "Extra Audio Layout Modes.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "Mode 1",
                                            "value": 1
                                        },
                                        {
                                            "name": "Modes 1 and 2",
                                            "value": 2
                                        }
                                    ]
                                },
                                "file_format_specification_identification_label": {
                                    "type": "integer",
                                    "title": "Specification Identification",
                                    "description": "Specification Identification.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "Blocks_FF_1",
                                            "value": 1
                                        },
                                        {
                                            "name": "Blocks_FF_2",
                                            "value": 2
                                        },
                                        {
                                            "name": "Blocks_FF_5_WIP",
                                            "value": 3
                                        },
                                        {
                                            "name": "Blocks_FF_6_WIP",
                                            "value": 4
                                        },
                                        {
                                            "name": "Blocks_FF_11_WIP",
                                            "value": 5
                                        }
                                    ]
                                },
                                "picture_essence_constraints": {
                                    "type": "integer",
                                    "title": "Picture Essence Constraints",
                                    "description": "Picture Essence Constraints.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        5
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "X1 (AVC)",
                                            "value": 1
                                        },
                                        {
                                            "name": "X9 (AVC)",
                                            "value": 5
                                        }
                                    ]
                                },
                                "rules": {
                                    "type": "array",
                                    "title": "AMWA AS-11 Rules",
                                    "description": "AMWA AS-11 Rules.",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "STRICT_FRAME_WRAPPING",
                                            "ONE_TO_ONE_TRACK_MAPPING",
                                            "SEGMENT_THE_ESSENCE_CONTAINER",
                                            "INDEX_EACH_ESSENCE_CONTAINER_SEGMENT",
                                            "GENERIC_CONTAINER",
                                            "MXF_INDEXING_AND_PARTITIONING",
                                            "MXF_INDEXING_AND_PARTITIONING_FOR_VBE_ESSENCE",
                                            "MXF_INDEXING_AND_PARTITIONING_FOR_CBE_ESSENCE",
                                            "ONE_PICTURE_TRACK",
                                            "AVC_BYTE_STREAM_FORMAT_PICTURE_ESSENCE",
                                            "ST831_3_MAPPING",
                                            "ONE_SOUNDFIELD_GROUP_PER_SOUND_TRACK",
                                            "UNCOMPRESSED_24BIT_PCM_AUDIO_AT_48KHZ",
                                            "CONSTRAINED_ST382_WAVE_PCM_MAPPING",
                                            "AUDIO_LAYOUT",
                                            "AUDIO_LAYOUT_X8",
                                            "AS11_SEGMENTATION_DM",
                                            "SPECIFICATION_IDENTIFICATION",
                                            "SPECIFICATION_IDENTIFICATION_X7",
                                            "SPECIFICATION_IDENTIFICATION_X8",
                                            "SPECIFICATION_IDENTIFICATION_X9",
                                            "TIMECODE_TRACK_PRESENCE",
                                            "CONSTRAINED_TIMECODE_TRACK_IN_MATERIAL_PACKAGE",
                                            "TIMECODE_MODE_SIGNALLING"
                                        ]
                                    },
                                    "titleMap": [
                                        {
                                            "name": "Strict Frame Wrapping",
                                            "value": "STRICT_FRAME_WRAPPING"
                                        },
                                        {
                                            "name": "One-to-one Track Mapping",
                                            "value": "ONE_TO_ONE_TRACK_MAPPING"
                                        },
                                        {
                                            "name": "Segment The Essence Container",
                                            "value": "SEGMENT_THE_ESSENCE_CONTAINER"
                                        },
                                        {
                                            "name": "Index Each Essence Container Segment",
                                            "value": "INDEX_EACH_ESSENCE_CONTAINER_SEGMENT"
                                        },
                                        {
                                            "name": "Generic Container",
                                            "value": "GENERIC_CONTAINER"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning (VBE or CBE)",
                                            "value": "MXF_INDEXING_AND_PARTITIONING"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning for VBE Essence",
                                            "value": "MXF_INDEXING_AND_PARTITIONING_FOR_VBE_ESSENCE"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning for CBE Essence",
                                            "value": "MXF_INDEXING_AND_PARTITIONING_FOR_CBE_ESSENCE"
                                        },
                                        {
                                            "name": "One Picture Track",
                                            "value": "ONE_PICTURE_TRACK"
                                        },
                                        {
                                            "name": "AVC byte Stream Format Picture Essence",
                                            "value": "AVC_BYTE_STREAM_FORMAT_PICTURE_ESSENCE"
                                        },
                                        {
                                            "name": "ST831-3 mapping",
                                            "value": "ST831_3_MAPPING"
                                        },
                                        {
                                            "name": "One Soundfield Group per Sound Track",
                                            "value": "ONE_SOUNDFIELD_GROUP_PER_SOUND_TRACK"
                                        },
                                        {
                                            "name": "Uncompressed 24-bit PCM Audio at 48kHz",
                                            "value": "UNCOMPRESSED_24BIT_PCM_AUDIO_AT_48KHZ"
                                        },
                                        {
                                            "name": "Constrained ST382 Wave PCM Mapping",
                                            "value": "CONSTRAINED_ST382_WAVE_PCM_MAPPING"
                                        },
                                        {
                                            "name": "Audio Layout",
                                            "value": "AUDIO_LAYOUT"
                                        },
                                        {
                                            "name": "Audio Layout [X8]",
                                            "value": "AUDIO_LAYOUT_X8"
                                        },
                                        {
                                            "name": "AS-11 Segmentation DM",
                                            "value": "AS11_SEGMENTATION_DM"
                                        },
                                        {
                                            "name": "Specification Identification",
                                            "value": "SPECIFICATION_IDENTIFICATION"
                                        },
                                        {
                                            "name": "Specification Identification [X7]",
                                            "value": "SPECIFICATION_IDENTIFICATION_X7"
                                        },
                                        {
                                            "name": "Specification Identification [X8]",
                                            "value": "SPECIFICATION_IDENTIFICATION_X8"
                                        },
                                        {
                                            "name": "Specification Identification [X9]",
                                            "value": "SPECIFICATION_IDENTIFICATION_X9"
                                        },
                                        {
                                            "name": "Timecode Track Presence",
                                            "value": "TIMECODE_TRACK_PRESENCE"
                                        },
                                        {
                                            "name": "Constrained Timecode Track in Material Package",
                                            "value": "CONSTRAINED_TIMECODE_TRACK_IN_MATERIAL_PACKAGE"
                                        },
                                        {
                                            "name": "Timecode Mode Signalling",
                                            "value": "TIMECODE_MODE_SIGNALLING"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "rules",
                                            "embedded_xml_documents",
                                            "extra_audio_layout_modes",
                                            "file_format_specification_identification_label",
                                            "picture_essence_constraints"
                                        ]
                                    }
                                }
                            ]
                        },
                        "aspect_ratio": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Aspect Ratio",
                                    "description": "Ensure that the given aspect ratio is present in the picture essence descriptor.",
                                    "default": false
                                },
                                "ratio": {
                                    "title": "Ratio",
                                    "description": "The expected aspect ratio.",
                                    "$ref": "#/definitions/rational"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "ratio"
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_locked": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Audio Locked/Unlocked",
                                    "description": "Check the value of the Locked/Unlocked flag in the Generic Sound Essence Descriptor(s), indicating whether the number of audio samples per frame is constant or not.",
                                    "default": false
                                },
                                "value": {
                                    "type": "boolean",
                                    "title": "Locked / Unlocked",
                                    "description": "Locked / Unlocked.",
                                    "default": true,
                                    "titleMap": [
                                        {
                                            "name": "Locked",
                                            "value": true
                                        },
                                        {
                                            "name": "Unlocked",
                                            "value": false
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value"
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_ref_level": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Audio Ref Level",
                                    "description": "Check the value of the Audio Ref Level item in the Generic Sound Essence Descriptor(s).",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_sampling_rate": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Audio Sampling Rate",
                                    "description": "Check the value of the Audio Sampling Rate item in the Generic Sound Essence Descriptor(s).",
                                    "default": false
                                },
                                "options": {
                                    "type": "number",
                                    "title": "Options",
                                    "description": "The audio sampling rate in Hz, e.g. 48000.",
                                    "suffix": "Hz"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_average_bit_rate": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Average Bit Rate",
                                    "description": "Check the value of the Average Bit Rate item within the AVC Video SubDescriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "suffix": "bits per second",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_bit_rate": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Max Bit Rate",
                                    "description": "Check the value of the Maximum Bit Rate item within the AVC Video SubDescriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "suffix": "bits per second",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_coded_content": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Coded Content Kind",
                                    "description": "Check the value of the Coded Content Kind item within the AVC Video SubDescriptor.",
                                    "default": false
                                },
                                "kind": {
                                    "type": "integer",
                                    "title": "Coded Kind",
                                    "description": "The coded kind expected.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Unknown",
                                            "value": 0
                                        },
                                        {
                                            "name": "Progressive Frame",
                                            "value": 1
                                        },
                                        {
                                            "name": "Interlaced Field",
                                            "value": 2
                                        },
                                        {
                                            "name": "Interlaced Frame",
                                            "value": 3
                                        },
                                        {
                                            "name": "Interlaced Field and Frame",
                                            "value": 4
                                        },
                                        {
                                            "name": "Any",
                                            "value": 5
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "kind"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_decoding_delay": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "delay": {
                                    "type": "integer",
                                    "title": "Decoding Delay",
                                    "description": "The decoding delay expected.",
                                    "default": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Decoding Delay",
                                    "description": "Check the value of the Decoding Delay item within the AVC Video SubDescriptor.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "delay"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_identical_gop": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Identical GOP Indicator",
                                    "description": "Check the value of the AVC Identical GOP Indicator item within the AVC Video SubDescriptor.",
                                    "default": false
                                },
                                "value": {
                                    "type": "boolean",
                                    "title": "Flag Value",
                                    "description": "Flag Value.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_max_bpicture_count": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Max B Picture Count",
                                    "description": "Check the value of the Maximum B Picture Count item within the AVC Video SubDescriptor. This is the maximum number of B-pictures between P- or I-frames.",
                                    "default": false
                                },
                                "max": {
                                    "type": "integer",
                                    "title": "Maximum Count",
                                    "description": "Maximum Count.",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_max_gop": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC Max GOP Size",
                                    "description": "Check the value of the Maximum B Picture Count item within the AVC Video SubDescriptor. This is the maximum spacing of IDR frames in the sequence.",
                                    "default": false
                                },
                                "max": {
                                    "type": "integer",
                                    "title": "Maximum GOP",
                                    "description": "Maximum GOP.",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max"
                                        ]
                                    }
                                }
                            ]
                        },
                        "avc_sps_pps": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC SPS and PPS",
                                    "description": "Check various profile and level flags within the AVC Video SubDescriptor.",
                                    "default": false
                                },
                                "level": {
                                    "type": "integer",
                                    "title": "Level",
                                    "description": "Level.",
                                    "default": 0
                                },
                                "ppsflag": {
                                    "type": "integer",
                                    "title": "PPS Flag",
                                    "description": "PPS Flag.",
                                    "default": 0
                                },
                                "profile": {
                                    "type": "integer",
                                    "title": "Profile",
                                    "description": "Profile.",
                                    "default": 0
                                },
                                "profileconstraint": {
                                    "type": "integer",
                                    "title": "Profile Constraint",
                                    "description": "Profile Constraint.",
                                    "default": 0
                                },
                                "spsflag": {
                                    "type": "integer",
                                    "title": "SPS Flag",
                                    "description": "SPS Flag.",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "level",
                                            "ppsflag",
                                            "profile",
                                            "profileconstraint",
                                            "spsflag"
                                        ]
                                    }
                                }
                            ]
                        },
                        "average_bytes_per_second": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Average Bytes per Second",
                                    "description": "Check the value of the Average Bytes Per Second item in the Wave Audio Essence Descriptor(s).",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "suffix": "bytes per second",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "basic_avc_sps_pps": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AVC SPS/PPS",
                                    "description": "AVC SPS/PPS.",
                                    "default": false
                                }
                            }
                        },
                        "basic_operational_pattern": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MXF Operational Pattern",
                                    "description": "MXF Operational Pattern.",
                                    "default": false
                                },
                                "partition_closed": {
                                    "type": "boolean",
                                    "title": "Partition must be Closed",
                                    "description": "Partition must be Closed.",
                                    "default": false
                                },
                                "partition_complete": {
                                    "type": "boolean",
                                    "title": "Partition must be Complete",
                                    "description": "Partition must be Complete.",
                                    "default": false
                                },
                                "pattern": {
                                    "type": "integer",
                                    "title": "Operational Pattern",
                                    "description": "Operational Pattern.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "OP-1a",
                                            "value": 0
                                        },
                                        {
                                            "name": "OP Atom",
                                            "value": 1
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "pattern",
                                            "partition_closed",
                                            "partition_complete"
                                        ]
                                    }
                                }
                            ]
                        },
                        "body_partition_count": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Body Partition Count",
                                    "description": "Enforce a minimum or maximum number of body partitions in the file.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "body_partition_duration": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Body Partition Duration",
                                    "description": "Scan each body partition to ensure that its duration (measured in edit units) is within a given range.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "body_partition_length": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Body Partition Length",
                                    "description": "Scan each body partition to ensure that its length (measured in bytes) is within a given range.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "body_partition_status": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Body Partition Status",
                                    "description": "Ensure that the body partition is restricted to a given combination of open/closed and complete/incomplete.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Partition Status Test",
                                    "description": "Partition Status Test.",
                                    "$ref": "#/definitions/partition_status_test"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "channel_count": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "channels": {
                                    "type": "integer",
                                    "title": "Number Of Channels",
                                    "description": "The number of channels expected.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Channel Count",
                                    "description": "Check the value of the Channel Count item in the Generic Sound Essence Descriptor(s). Because each track has a separate descriptor, this should be set to '1' for formats which expect multiple mono tracks.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "channels"
                                        ]
                                    }
                                }
                            ]
                        },
                        "color_range": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Color Range",
                                    "description": "Check the Color Range item in the CDCI Picture Essence Descriptor, which is the number of distinct values for color difference (chroma) samples.",
                                    "default": false
                                },
                                "range": {
                                    "type": "integer",
                                    "title": "Color Range",
                                    "description": "The color range expected.",
                                    "default": 0,
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "range"
                                        ]
                                    }
                                }
                            ]
                        },
                        "colorsiting": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "colorsiting": {
                                    "type": "integer",
                                    "title": "Color Siting",
                                    "description": "The color siting expected.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6,
                                        255
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "CoSiting",
                                            "value": 0
                                        },
                                        {
                                            "name": "HorizontalMidpoint",
                                            "value": 1
                                        },
                                        {
                                            "name": "ThreeTap",
                                            "value": 2
                                        },
                                        {
                                            "name": "Quincunx",
                                            "value": 3
                                        },
                                        {
                                            "name": "Rec601",
                                            "value": 4
                                        },
                                        {
                                            "name": "LineAlternating",
                                            "value": 5
                                        },
                                        {
                                            "name": "VerticalMidpoint",
                                            "value": 6
                                        },
                                        {
                                            "name": "Unknown",
                                            "value": 255
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Color Siting",
                                    "description": "Check the Color Siting item of the CDCI Picture Essence Descriptor. This item describes the spatial relationship between the luma and chroma samples.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "colorsiting"
                                        ]
                                    }
                                }
                            ]
                        },
                        "component_depth": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "depth": {
                                    "type": "integer",
                                    "title": "Component Depth",
                                    "description": "The component depth expected.",
                                    "default": 0,
                                    "suffix": "bits per sample",
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Component Depth",
                                    "description": "Check the Component Depth item in the CDCI Picture Essence Descriptor.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "depth"
                                        ]
                                    }
                                }
                            ]
                        },
                        "dialnorm": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "DialNorm",
                                    "description": "Check the value of the Dial Norm item in the Generic Sound Essence Descriptor(s).",
                                    "default": false
                                },
                                "test": {
                                    "type": "object",
                                    "required": [
                                        "min",
                                        "max"
                                    ],
                                    "properties": {
                                        "max": {
                                            "type": "integer",
                                            "title": "Maximum",
                                            "description": "The maximum value expected.",
                                            "default": 31,
                                            "minimum": 1,
                                            "maximum": 31
                                        },
                                        "min": {
                                            "type": "integer",
                                            "title": "Minimum",
                                            "description": "The minimum value expected.",
                                            "default": 1,
                                            "minimum": 1,
                                            "maximum": 31
                                        }
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "display_frame_size": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Display Frame Size",
                                    "description": "Restrict the values of 'Display Width' and 'Display Height' in the picture essence descriptor.",
                                    "default": false
                                },
                                "frame_size": {
                                    "type": "string",
                                    "title": "Frame Size(s)",
                                    "description": "Allowed frame sizes as a comma seperated list, e.g. '320x240', '1920x544,320x240'.",
                                    "suffix": "(WxH)  e.g. '1920x544'"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "frame_size"
                                        ],
                                        "properties": {
                                            "frame_size": {
                                                "minLength": 3,
                                                "allOf": [
                                                    {
                                                        "$ref": "#/definitions/comma_separated_frame_sizes"
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "edit_rate": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Edit Rate",
                                    "description": "Ensure that the given edit rate is present in the picture essence descriptor.",
                                    "default": false
                                },
                                "ratio": {
                                    "title": "Ratio",
                                    "description": "The expected edit rate ratio.",
                                    "$ref": "#/definitions/rational"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "ratio"
                                        ]
                                    }
                                }
                            ]
                        },
                        "element_key": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "custom": {
                                    "type": "string",
                                    "title": "e.g. 06.0e.2b.34.01.02.01.01.0d.01.03.01.15.01.05.00",
                                    "description": "Custom keys may be specified using a dotted 16-hex-byte format (e.g. '06.0e.2b.34.01.02.01.01.0d.01.03.01.15.01.05.00'). Multiple allowable keys may be separated by commas, and any single hex digit may be given as 'x' as a wildcard."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Element Key",
                                    "description": "Ensure that the Picture Element Keys (which wrap the stored essence) match the given value(s). Only the first content package is examined; this is not a continuous test throughout the whole file.",
                                    "default": false
                                },
                                "predefined": {
                                    "type": "string",
                                    "title": "Predefined",
                                    "description": "Predefined.",
                                    "default": "06.0e.2b.34.01.02.01.01.0d.01.03.01.15.01.05.00",
                                    "enum": [
                                        "06.0e.2b.34.01.02.01.01.0d.01.03.01.15.01.05.00"
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "GC SMPTE 381M MPEG Frame-wrapped",
                                            "value": "06.0e.2b.34.01.02.01.01.0d.01.03.01.15.01.05.00"
                                        }
                                    ]
                                },
                                "usecustom": {
                                    "type": "boolean",
                                    "title": "Use Custom",
                                    "description": "Use Custom.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "predefined",
                                            "usecustom"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "usecustom": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "custom"
                                        ]
                                    }
                                }
                            ]
                        },
                        "essence_container_label": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "custom": {
                                    "type": "string",
                                    "title": "e.g. 06.0e.2b.34.04.01.01.0a.0d.01.03.01.02.10.60.01",
                                    "description": "Custom labels may be specified using a dotted 16-hex-byte format (e.g. '06.0e.2b.34.04.01.01.02.0d.01.03.01.02.04.60.01'). Multiple allowable labels may be separated by commas, and any single hex digit may be given as 'x' as a wildcard."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Essence Container Label",
                                    "description": "Ensure that the given Picture Essence Container Label(s) appear in the Partition Pack and Preface Set (if any) of every Partition.",
                                    "default": false
                                },
                                "predefined": {
                                    "type": "string",
                                    "title": "Predefined",
                                    "description": "Predefined.",
                                    "default": "06.0e.2b.34.04.01.01.0a.0d.01.03.01.02.10.60.01",
                                    "enum": [
                                        "06.0e.2b.34.04.01.01.0a.0d.01.03.01.02.10.60.01",
                                        "06.0e.2b.34.04.01.01.02.0d.01.03.01.02.04.60.01"
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "GC AVC Byte Stream VideoStream-0 SID Frame-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.0a.0d.01.03.01.02.10.60.01"
                                        },
                                        {
                                            "name": "GC MPEG-ES VideoStream-0 SID Frame-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.02.0d.01.03.01.02.04.60.01"
                                        }
                                    ]
                                },
                                "usecustom": {
                                    "type": "boolean",
                                    "title": "Use Custom",
                                    "description": "Use Custom.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "predefined",
                                            "usecustom"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "usecustom": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "custom"
                                        ]
                                    }
                                }
                            ]
                        },
                        "essence_location": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Essence Location",
                                    "description": "Restrict the places in the file where essence may appear.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Location Test",
                                    "description": "Location Test.",
                                    "$ref": "#/definitions/location_test"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "essence_wrapping": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "type": {
                                    "type": "integer",
                                    "title": "Wrapping Type",
                                    "description": "Wrapping Type.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Clip Wrapped",
                                            "value": 0
                                        },
                                        {
                                            "name": "Frame Wrapped",
                                            "value": 1
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Essence Wrapping",
                                    "description": "Ensure that any essence is either clip-wrapped or frame-wrapped. It looks at the Essence Container labels in every partition pack.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "type"
                                        ]
                                    }
                                }
                            ]
                        },
                        "field_dominance": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Field Dominance",
                                    "description": "Examine the FieldDominance item in the Generic Picture Essence Descriptor.",
                                    "default": false
                                },
                                "firstfield": {
                                    "type": "integer",
                                    "title": "First Field",
                                    "description": "First Field.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Field 1 First",
                                            "value": 0
                                        },
                                        {
                                            "name": "Field 2 First",
                                            "value": 1
                                        },
                                        {
                                            "name": "No Field Dominance Flag ",
                                            "value": 2
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "firstfield"
                                        ]
                                    }
                                }
                            ]
                        },
                        "footer_partition_status": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Footer Partition Status",
                                    "description": "Ensure that the footer partition is restricted to a given combination of open/closed and complete/incomplete.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Partition Status Test",
                                    "description": "Partition Status Test.",
                                    "$ref": "#/definitions/partition_status_test"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "header_fill": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "bytes": {
                                    "type": "integer",
                                    "default": 0,
                                    "suffix": "bytes Of KLV Fill after Header Metadata",
                                    "title": "Header Fill Bytes",
                                    "description": "Header Fill Bytes.",
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Header Fill Test",
                                    "description": "Check for a KLV fill item of at least the specified length, following the header metadata.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bytes"
                                        ]
                                    }
                                }
                            ]
                        },
                        "header_metadata": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "bytes": {
                                    "type": "integer",
                                    "default": 0,
                                    "title": "Header Metadata Bytes",
                                    "description": "Header Metadata Bytes.",
                                    "suffix": "bytes Of Header Metadata including KLV Fill",
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Header Metadata Size",
                                    "description": "Check the value of HeaderByteCount in the header partition.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bytes"
                                        ]
                                    }
                                }
                            ]
                        },
                        "header_partition_status": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Header Partition Status",
                                    "description": "Ensure that the header partition is present and is restricted to a given combination of open/closed and complete/incomplete.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Partition Status Test",
                                    "description": "Partition Status Test.",
                                    "$ref": "#/definitions/partition_status_test"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "index_table": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "duration": {
                                    "title": "Index Duration",
                                    "description": "Tests the duration of the index table segment, in edit rate units.  0 is a valid duration with a special meaning for constant sized edit units.",
                                    "suffix": "edit rate units",
                                    "$ref": "#/definitions/minmax"
                                },
                                "edit_rate": {
                                    "title": "Edit Rate",
                                    "description": "Tests the numerator and denominator of the edit rate. This is typically a frame rate, e.g. 25 / 1 or 30000 / 1001.",
                                    "suffix": "Hz",
                                    "$ref": "#/definitions/rational"
                                },
                                "editunit_bytecount": {
                                    "title": "Edit Unit Bytecount",
                                    "description": "Tests the value of the Edit Unit Byte count field. 0 is a valid byte count, meaning that each edit unit is individually indexed.",
                                    "$ref": "#/definitions/minmax"
                                },
                                "editunit_bytecount_constant": {
                                    "type": "boolean",
                                    "title": "Edit Unit Bytecount Is Constant",
                                    "description": "Ensure that only a single value is ever used.",
                                    "default": false
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Index Table Test",
                                    "description": "Check each index table segment in isolation.",
                                    "default": false
                                },
                                "forward_index_direction": {
                                    "title": "Forward Index Direction",
                                    "description": "Forward Index Direction.",
                                    "default": 0,
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "False",
                                            "value": 1
                                        },
                                        {
                                            "name": "True",
                                            "value": 2
                                        }
                                    ]
                                },
                                "index_entry_array": {
                                    "title": "Index Entry Array",
                                    "description": "Index Entry Array.",
                                    "default": 0,
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "Absent",
                                            "value": 1
                                        },
                                        {
                                            "name": "Present",
                                            "value": 2
                                        }
                                    ]
                                },
                                "single_essence_location": {
                                    "title": "Single Essence Location",
                                    "description": "Single Essence Location.",
                                    "default": 0,
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "False",
                                            "value": 1
                                        },
                                        {
                                            "name": "True",
                                            "value": 2
                                        }
                                    ]
                                },
                                "single_index_location": {
                                    "title": "Single Index Location",
                                    "description": "Flags are described in Amendment 2:2012 to SMPTE ST 377M.",
                                    "default": 0,
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "False",
                                            "value": 1
                                        },
                                        {
                                            "name": "True",
                                            "value": 2
                                        }
                                    ]
                                },
                                "slicecount": {
                                    "type": "integer",
                                    "title": "Slice Count",
                                    "description": "Number of slices in each index entry, minus one."
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "edit_rate",
                                            "duration",
                                            "editunit_bytecount",
                                            "editunit_bytecount_constant",
                                            "slicecount",
                                            "single_index_location",
                                            "single_essence_location",
                                            "forward_index_direction",
                                            "index_entry_array"
                                        ]
                                    }
                                }
                            ]
                        },
                        "index_table_location": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Index Table Location",
                                    "description": "Restrict the places in the file where index table segments may appear.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Location Test",
                                    "description": "Location Test.",
                                    "$ref": "#/definitions/location_test"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "test"
                                        ]
                                    }
                                }
                            ]
                        },
                        "kagsize": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "KAG Size Test",
                                    "description": "Ensure that the file offset of every partition pack matches the stated alignment.",
                                    "default": false
                                },
                                "size": {
                                    "type": "integer",
                                    "title": "KAG Size",
                                    "description": "KAG Size.",
                                    "default": 0,
                                    "suffix": "bytes",
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "size"
                                        ]
                                    }
                                }
                            ]
                        },
                        "material_package_timecode": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Material Package Timecode Test",
                                    "description": "Ensures that there is only one timecode track in the Material Package.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Timecode Track Test",
                                    "description": "Timecode Track Test.",
                                    "$ref": "#/definitions/timecode_track_test"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "mpeg_bit_rate": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Bit Rate",
                                    "description": "Check the value of the BitRate item within the MPEG-2 Video Descriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "$ref": "#/definitions/minmax_bits"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "mpeg_coded_content": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Coded Content Kind",
                                    "description": "Check the value of the CodedContentType item within the MPEG-2 Video Descriptor, indicating whether the content is interlaced, progressive or mixed.",
                                    "default": false
                                },
                                "kind": {
                                    "type": "integer",
                                    "title": "Coded Kind",
                                    "description": "Coded Kind.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Unknown",
                                            "value": 0
                                        },
                                        {
                                            "name": "Progressive",
                                            "value": 1
                                        },
                                        {
                                            "name": "Interlaced",
                                            "value": 2
                                        },
                                        {
                                            "name": "Mixed",
                                            "value": 3
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "kind"
                                ]
                            }
                        },
                        "mpeg_constant_bpicture_flag": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Constant B Picture Flag",
                                    "description": "Check the value of the ConstantBframes item within the MPEG-2 Video Descriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Extended Bool Test",
                                    "description": "Extended Bool Test.",
                                    "$ref": "#/definitions/bool_extended",
                                    "titleMap": [
                                        {
                                            "name": "1",
                                            "value": 0
                                        },
                                        {
                                            "name": "0",
                                            "value": 1
                                        },
                                        {
                                            "name": "Either",
                                            "value": 2
                                        },
                                        {
                                            "name": "Not Present",
                                            "value": 3
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "mpeg_identical_gop": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Identical GOP Indicator",
                                    "description": "Check the value of the IdenticalGOP item within the MPEG-2 Video Descriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Extended Bool Test",
                                    "description": "Extended Bool Test.",
                                    "$ref": "#/definitions/bool_extended",
                                    "titleMap": [
                                        {
                                            "name": "1",
                                            "value": 0
                                        },
                                        {
                                            "name": "0",
                                            "value": 1
                                        },
                                        {
                                            "name": "Either",
                                            "value": 2
                                        },
                                        {
                                            "name": "Not Present",
                                            "value": 3
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "mpeg_max_bpicture_count": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Max B Picture Count",
                                    "description": "Check the value of the BPictureCount item within the MPEG-2 Video Descriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "suffix": "B pictures",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "mpeg_max_gop": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "MPEG Max GOP Size",
                                    "description": "Check the value of the MaxGOP item within the MPEG-2 Video Descriptor.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Min Max Test",
                                    "description": "Min Max Test.",
                                    "suffix": "frames",
                                    "$ref": "#/definitions/minmax"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "operational_pattern": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Operational Pattern",
                                    "default": false,
                                    "description": "Scan every Operational Pattern (in every partition pack and in the preface of any header metadata) to ensure that it is identical in every location, and that it matches the given constraints."
                                },
                                "essence_containers": {
                                    "default": 0,
                                    "title": "Essence Containers",
                                    "description": "Essence Containers.",
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "Multi-track",
                                            "value": 1
                                        },
                                        {
                                            "name": "Uni-track",
                                            "value": 2
                                        }
                                    ]
                                },
                                "essence_reference": {
                                    "default": 0,
                                    "title": "Essence Reference",
                                    "description": "Essence Reference.",
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "External",
                                            "value": 1
                                        },
                                        {
                                            "name": "Internal",
                                            "value": 2
                                        }
                                    ]
                                },
                                "essence_streaming": {
                                    "default": 0,
                                    "title": "Essence Streaming",
                                    "description": "Essence Streaming.",
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "Non-Streamable",
                                            "value": 1
                                        },
                                        {
                                            "name": "Streamable",
                                            "value": 2
                                        }
                                    ]
                                },
                                "essence_tracks": {
                                    "default": 0,
                                    "title": "Essence Tracks",
                                    "description": "Essence Tracks.",
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "Multi-essence",
                                            "value": 1
                                        },
                                        {
                                            "name": "Single-essence",
                                            "value": 2
                                        }
                                    ]
                                },
                                "generalized": {
                                    "type": "array",
                                    "title": "Generalized",
                                    "description": "Generalized.",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "Op1a",
                                            "Op1b",
                                            "Op1c",
                                            "Op2a",
                                            "Op2b",
                                            "Op2c",
                                            "Op3a",
                                            "Op3b",
                                            "Op3c"
                                        ]
                                    }
                                },
                                "material_package": {
                                    "default": 0,
                                    "$ref": "#/definitions/bool_optional",
                                    "titleMap": [
                                        {
                                            "name": "Don't Test",
                                            "value": 0
                                        },
                                        {
                                            "name": "Multi-source",
                                            "value": 1
                                        },
                                        {
                                            "name": "Single-source",
                                            "value": 2
                                        }
                                    ]
                                },
                                "specialized": {
                                    "type": "boolean",
                                    "title": "OP-Atom",
                                    "description": "OP-Atom.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "essence_reference",
                                            "essence_streaming",
                                            "essence_containers",
                                            "specialized",
                                            "material_package",
                                            "essence_tracks"
                                        ]
                                    }
                                }
                            ]
                        },
                        "padding_bits": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "bits": {
                                    "type": "integer",
                                    "title": "Padding Bits",
                                    "description": "Padding Bits.",
                                    "default": 0,
                                    "suffix": "bits",
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Padding Bits",
                                    "description": "Check the Padding Bits item in the CDCI Picture Essence Descriptor, which is the number of bits added to each component sample to pad it to its stored size.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bits"
                                        ]
                                    }
                                }
                            ]
                        },
                        "picture_essence_coding": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "codings": {
                                    "type": "array",
                                    "title": "Codings",
                                    "description": "Codings.",
                                    "items": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8,
                                            9,
                                            10,
                                            11,
                                            12,
                                            13,
                                            14,
                                            15,
                                            16,
                                            17,
                                            18,
                                            19,
                                            20,
                                            21,
                                            22
                                        ],
                                        "titleMap": [
                                            {
                                                "name": "AVCI-50-1080-60-I",
                                                "value": 0
                                            },
                                            {
                                                "name": "AVCI-50-1080-50-I",
                                                "value": 1
                                            },
                                            {
                                                "name": "AVCI-50-1080-30-P",
                                                "value": 2
                                            },
                                            {
                                                "name": "AVCI-50-1080-25-P",
                                                "value": 3
                                            },
                                            {
                                                "name": "AVCI-50-720-60-P",
                                                "value": 4
                                            },
                                            {
                                                "name": "AVCI-50-720-50-P",
                                                "value": 5
                                            },
                                            {
                                                "name": "AVCI-100-1080-60-I",
                                                "value": 6
                                            },
                                            {
                                                "name": "AVCI-100-1080-50-I",
                                                "value": 7
                                            },
                                            {
                                                "name": "AVCI-100-1080-30-P",
                                                "value": 8
                                            },
                                            {
                                                "name": "AVCI-100-1080-25-P",
                                                "value": 9
                                            },
                                            {
                                                "name": "AVCI-100-720-60-P",
                                                "value": 10
                                            },
                                            {
                                                "name": "AVCI-100-720-50-P",
                                                "value": 11
                                            },
                                            {
                                                "name": "AVC-HIGH-10-INTRA-UNCS",
                                                "value": 12
                                            },
                                            {
                                                "name": "AVC-HIGH-422-INTRA-UNCS",
                                                "value": 13
                                            },
                                            {
                                                "name": "MPEG2-MP-HL-LONGGOP",
                                                "value": 14
                                            },
                                            {
                                                "name": "MPEG2-422P-HL-LONGGOP",
                                                "value": 15
                                            },
                                            {
                                                "name": "MPEG2-MP-H14-LONGGOP",
                                                "value": 16
                                            },
                                            {
                                                "name": "D10-50-625-50",
                                                "value": 17
                                            },
                                            {
                                                "name": "D10-50-525-60",
                                                "value": 18
                                            },
                                            {
                                                "name": "D10-40-625-50",
                                                "value": 19
                                            },
                                            {
                                                "name": "D10-40-525-60",
                                                "value": 20
                                            },
                                            {
                                                "name": "D10-30-625-50",
                                                "value": 21
                                            },
                                            {
                                                "name": "D10-30-525-60",
                                                "value": 22
                                            }
                                        ]
                                    }
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Picture Essence Coding",
                                    "description": "Ensure that the picture essence coding label is one of the given value(s).",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "codings"
                                        ]
                                    }
                                }
                            ]
                        },
                        "picture_offsets": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "displayftwo": {
                                    "type": "integer",
                                    "title": "Display F2",
                                    "description": "Display F2.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "displayx": {
                                    "type": "integer",
                                    "title": "Display X",
                                    "description": "Display X.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "displayy": {
                                    "type": "integer",
                                    "title": "Display Y",
                                    "description": "Display Y.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Picture Offsets",
                                    "description": "Examine several items in the Generic Picture Essence Descriptor which describe the geometrical relationship between the Stored Rectangle, the Sampled Rectangle and the Display Rectangle.",
                                    "default": false
                                },
                                "imageend": {
                                    "type": "integer",
                                    "title": "Image End",
                                    "description": "Image End.",
                                    "default": 0,
                                    "suffix": "byte(s)",
                                    "minimum": 0
                                },
                                "imagestart": {
                                    "type": "integer",
                                    "title": "Image Start",
                                    "description": "Image Start.",
                                    "default": 0,
                                    "suffix": "byte(s)",
                                    "minimum": 0
                                },
                                "sampledx": {
                                    "type": "integer",
                                    "title": "Sampled X",
                                    "description": "Sampled X.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "sampledy": {
                                    "type": "integer",
                                    "title": "Sampled Y",
                                    "description": "Sampled Y.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "storedftwo": {
                                    "type": "integer",
                                    "title": "Stored F2",
                                    "description": "Stored F2.",
                                    "default": 0,
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "storedftwo",
                                            "displayftwo",
                                            "sampledx",
                                            "sampledy",
                                            "displayx",
                                            "displayy",
                                            "imagestart",
                                            "imageend"
                                        ]
                                    }
                                }
                            ]
                        },
                        "quantization_bits": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "bits": {
                                    "type": "integer",
                                    "title": "Number Of Bits",
                                    "description": "Number Of Bits.",
                                    "default": 0,
                                    "suffix": "bits",
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Quantization Bits",
                                    "description": "Check the value of the Quantization Bits item in the Generic Sound Essence Descriptor(s).",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bits"
                                        ]
                                    }
                                }
                            ]
                        },
                        "reference_levels": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "black": {
                                    "type": "integer",
                                    "title": "Black",
                                    "description": "Black.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Reference Levels",
                                    "description": "Check for specific black and white reference levels in the picture essence descriptor (see SMPTE 377M G.2.32 and G.2.33 respectively).",
                                    "default": false
                                },
                                "white": {
                                    "type": "integer",
                                    "title": "White",
                                    "description": "White.",
                                    "default": 0,
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "black",
                                            "white"
                                        ]
                                    }
                                }
                            ]
                        },
                        "rip_presence": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "RIP Presence",
                                    "description": "Ensure a Random Index Pack is present at the end of the file.",
                                    "default": false
                                }
                            }
                        },
                        "runin": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Run-In Test",
                                    "description": "Ensure that any run-in does not exceed a given length. It is most often used with a value of 0 to prohibit any run-in.",
                                    "default": false
                                },
                                "max_bytes": {
                                    "type": "integer",
                                    "default": 0,
                                    "title": "Max Bytes",
                                    "description": "Max Bytes.",
                                    "suffix": "bytes",
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max_bytes"
                                        ]
                                    }
                                }
                            ]
                        },
                        "sampled_frame_size": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Sampled Frame Size",
                                    "description": "Restrict the values of 'Sampled Width' and 'Sampled Height' in the picture essence descriptor.",
                                    "default": false
                                },
                                "frame_size": {
                                    "type": "string",
                                    "title": "Frame Size(s)",
                                    "description": "Allowed frame sizes as a comma seperated list, e.g. '320x240', '1920x544,320x240'.",
                                    "suffix": "(WxH)  e.g. '1920x544'"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "frame_size"
                                        ],
                                        "properties": {
                                            "frame_size": {
                                                "minLength": 3,
                                                "allOf": [
                                                    {
                                                        "$ref": "#/definitions/comma_separated_frame_sizes"
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "sdti_timecode_continuity": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "SDTI Timecode Continuity Test",
                                    "description": "Inspect the SDTI timestamp of every MXF Content Package and ensure that the timestamps are continuous. This test should only be enabled for MXF files conforming to the SDTI Content Package Format (see SMPTE 326M and 331M).",
                                    "default": false
                                }
                            }
                        },
                        "signal_standard": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Signal Standard",
                                    "description": "Examine the Signal Standard item in the Generic Picture Essence Descriptor, indicating the source of the video essence.",
                                    "default": false
                                },
                                "standard": {
                                    "type": "integer",
                                    "title": "Standard",
                                    "description": "Signal Standard.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6,
                                        7
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "0: No Specific Underlying Standard",
                                            "value": 0
                                        },
                                        {
                                            "name": "1: ITU-R BT.601 and BT.656, SMPTE 125M",
                                            "value": 1
                                        },
                                        {
                                            "name": "2: ITU-R BT.1358 and ITU-R BT.799-3, SMPTE 293M",
                                            "value": 2
                                        },
                                        {
                                            "name": "3: SMPTE 347M (540 Mbps Mappings)",
                                            "value": 3
                                        },
                                        {
                                            "name": "4: SMPTE 274M (1125 Line)",
                                            "value": 4
                                        },
                                        {
                                            "name": "5: SMPTE 296M (750 Line Progressive)",
                                            "value": 5
                                        },
                                        {
                                            "name": "6: SMPTE 349M (1485 Mbps Mappings)",
                                            "value": 6
                                        },
                                        {
                                            "name": "7: SMPTE 428-1 DCDM",
                                            "value": 7
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "standard"
                                        ]
                                    }
                                }
                            ]
                        },
                        "sound_element_key": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "custom": {
                                    "type": "string",
                                    "title": "e.g. 06.0e.2b.34.01.02.01.01.0d.01.03.01.16.08.03.0x",
                                    "description": "Custom keys may be specified using a dotted 16-hex-byte format (e.g. '06.0e.2b.34.01.02.01.01.0d.01.03.01.16.08.03.0x'). Multiple allowable keys may be separated by commas, and any single hex digit may be given as 'x' as a wildcard."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Sound Element Key",
                                    "description": "Ensure that the Sound Element Keys (which wrap the stored essence) match the given value(s). Only the first content package is examined; this is not a continuous test throughout the whole file.",
                                    "default": false
                                },
                                "predefined": {
                                    "type": "string",
                                    "title": "Predefined",
                                    "description": "Predefined.",
                                    "default": "06.0e.2b.34.01.02.01.01.0d.01.03.01.16.08.03.0x",
                                    "enum": [
                                        "06.0e.2b.34.01.02.01.01.0d.01.03.01.16.08.03.0x",
                                        "06.0e.2b.34.01.02.01.01.0d.01.03.01.16.10.03.0x"
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "GC SMPTE 382M 8-Ch AES Frame-wrapped",
                                            "value": "06.0e.2b.34.01.02.01.01.0d.01.03.01.16.08.03.0x"
                                        },
                                        {
                                            "name": "GC SMPTE 382M 16-Ch AES Frame-wrapped",
                                            "value": "06.0e.2b.34.01.02.01.01.0d.01.03.01.16.10.03.0x"
                                        }
                                    ]
                                },
                                "usecustom": {
                                    "type": "boolean",
                                    "title": "Use Custom",
                                    "description": "Use Custom.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "predefined",
                                            "usecustom"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "usecustom": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "custom"
                                        ]
                                    }
                                }
                            ]
                        },
                        "sound_essence_coding": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "codings": {
                                    "type": "array",
                                    "title": "Codings",
                                    "description": "The expected codings.",
                                    "items": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1,
                                            2
                                        ],
                                        "titleMap": [
                                            {
                                                "name": "PCM",
                                                "value": 0
                                            },
                                            {
                                                "name": "Default Uncompressed",
                                                "value": 1
                                            },
                                            {
                                                "name": "Dolby E",
                                                "value": 2
                                            }
                                        ]
                                    }
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Sound Essence Coding",
                                    "description": "Ensure that the sound essence coding label is one of the given values.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "codings"
                                        ]
                                    }
                                }
                            ]
                        },
                        "sound_essence_container_label": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "custom": {
                                    "type": "string",
                                    "title": "e.g. 06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.01.00",
                                    "description": "Custom labels may be specified using a dotted 16-hex-byte format (e.g. '06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.03.00'). Multiple allowable labels may be separated by commas, and any single hex digit may be given as 'x' as a wildcard."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Sound Essence Container Label",
                                    "description": "Ensure that the given Sound Essence Container Label(s) appear in the Partition Pack and Preface Set (if any) of every Partition.",
                                    "default": false
                                },
                                "predefined": {
                                    "type": "string",
                                    "title": "Predefined",
                                    "description": "Predefined.",
                                    "default": "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.01.00",
                                    "enum": [
                                        "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.01.00",
                                        "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.02.00",
                                        "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.03.00",
                                        "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.04.00"
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "GC BWF Frame-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.01.00"
                                        },
                                        {
                                            "name": "GC BWF Clip-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.02.00"
                                        },
                                        {
                                            "name": "GC AES-3 Frame-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.03.00"
                                        },
                                        {
                                            "name": "GC AES-3 Clip-wrapped",
                                            "value": "06.0e.2b.34.04.01.01.01.0d.01.03.01.02.06.04.00"
                                        }
                                    ]
                                },
                                "usecustom": {
                                    "type": "boolean",
                                    "title": "Use Custom",
                                    "description": "Use Custom.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "predefined",
                                            "usecustom"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "usecustom": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "custom"
                                        ]
                                    }
                                }
                            ]
                        },
                        "source_package_timecode": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Source Package Timecode Test",
                                    "description": "Ensure that there is only one timecode track in the File Source Package.",
                                    "default": false
                                },
                                "test": {
                                    "title": "Timecode Track Test",
                                    "description": "Timecode Track Test.",
                                    "$ref": "#/definitions/timecode_track_test"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "test"
                                ]
                            }
                        },
                        "stored_frame_size": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Stored Frame Size",
                                    "description": "Restrict the values of 'Stored Width' and 'Stored Height' in the picture essence descriptor.",
                                    "default": false
                                },
                                "frame_size": {
                                    "type": "string",
                                    "title": "Frame Size(s)",
                                    "description": "Allowed frame sizes as a comma seperated list, e.g. '320x240', '1920x544,320x240'.",
                                    "suffix": "(WxH)  e.g. '1920x544'"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "frame_size"
                                        ],
                                        "properties": {
                                            "frame_size": {
                                                "minLength": 3,
                                                "allOf": [
                                                    {
                                                        "$ref": "#/definitions/comma_separated_frame_sizes"
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "subsampling": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Subsampling",
                                    "description": "Check the Horizontal and Vertical Subsampling items in the CDCI Picture Essence Descriptor.",
                                    "default": false
                                },
                                "horizontal": {
                                    "type": "integer",
                                    "title": "Horizontal",
                                    "description": "Horizontal.",
                                    "default": 0,
                                    "minimum": 0
                                },
                                "vertical": {
                                    "type": "integer",
                                    "title": "Vertical",
                                    "description": "Vertical.",
                                    "default": 0,
                                    "minimum": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "horizontal",
                                            "vertical"
                                        ]
                                    }
                                }
                            ]
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "version": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Version Test",
                                    "description": "Check for a specific MXF version. All versions within a file (inside each Preface and Partition Pack) are tested.",
                                    "default": false
                                },
                                "mxf_version": {
                                    "type": "integer",
                                    "title": "MXF Version",
                                    "description": "The MXF Version to use.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "SMPTE 377 2004",
                                            "value": 0
                                        },
                                        {
                                            "name": "SMPTE 377 2011",
                                            "value": 1
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mxf_version"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_descriptor": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "type": {
                                    "type": "integer",
                                    "title": "Descriptor Type",
                                    "description": "Descriptor Type.",
                                    "default": 0,
                                    "enum": [
                                        0
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "MPEG",
                                            "value": 0
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Video Descriptor",
                                    "description": "Ensure that the Picture Essence Descriptor is an MPEG-2 Video Descriptor as specified in SMPTE 381M.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "type"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_line_map": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "Video Line Map",
                                    "description": "Check for a given comma-separated list of Video Line Map entries (e.g. '16,278') in the picture essence descriptor. The order of the entries is important.",
                                    "default": false
                                },
                                "linemaps": {
                                    "type": "string",
                                    "title": "Line Maps",
                                    "description": "A list of comma-separated values, e.g. '21, 584'."
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "linemaps"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_subdescriptor": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "type": {
                                    "type": "integer",
                                    "title": "Subdescriptor Type",
                                    "description": "Subdescriptor Type.",
                                    "default": 0,
                                    "enum": [
                                        0
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "AVC",
                                            "value": 0
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Video Subdescriptor",
                                    "description": "Check for the presence of an AVC SubDescriptor within the Picture Essence Descriptor.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "type"
                                        ]
                                    }
                                }
                            ]
                        }
                    },
                    "title": "Deep MXF Tests",
                    "category": "Deep MXF Tests"
                },
                "netflix_photon": {
                    "type": "object",
                    "title": "Netflix Photon",
                    "description": "Validate IMF assets using Netflix Photon.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Distribution and Broadcast"
                },
                "nielsen_watermark": {
                    "type": "object",
                    "title": "Nielsen Watermark",
                    "description": "Decode an audio stream and reports Nielsen watermarks found in the stream.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Nielsen Watermark Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/nielsen_test_config"
                            }
                        }
                    },
                    "category": "Distribution and Broadcast"
                },
                "peak_level": {
                    "type": "object",
                    "title": "Peak Level",
                    "description": "Measure the instantaneous audio level on the selected audio Channel(s).",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Peak Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/peak_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "phase_coherence": {
                    "type": "object",
                    "title": "Phase Coherence",
                    "description": "Measure how similar the left and right channels are.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Phase Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/phase_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "ppm_level": {
                    "type": "object",
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "PPM Level Test Configuration",
                            "description": "The peak level according to the \"BBC Peak Program Meter\" (IEC 60268-10 Type IIa) standard. The meter can operate in MS (sum/difference) mode (modes M3 and M6), or AB mode (individual channels). Note that in MS mode, only the sum is measured.",
                            "items": {
                                "$ref": "#/definitions/ppm_level_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "title": "PPM Level",
                    "category": "Audio Quality"
                },
                "programstream_syntax_test": {
                    "type": "object",
                    "title": "Program Stream Container Syntax",
                    "description": "Check Program Stream.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "category": "Syntax Checks"
                },
                "pse_harding": {
                    "type": "object",
                    "title": "PSE Harding Test",
                    "description": "PSE (photosensitive epilepsy) test using Harding.",
                    "required": [
                        "standard"
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "standard": {
                            "title": "Standard",
                            "description": "The standard to test against.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Ofcom 2009"
                                },
                                {
                                    "value": 1,
                                    "name": "NAB Japan 2006"
                                },
                                {
                                    "value": 2,
                                    "name": "ITU BT.1702-1"
                                },
                                {
                                    "value": 3,
                                    "name": "ITU BT.1702-2"
                                },
                                {
                                    "value": 4,
                                    "name": "Japan HDR"
                                }
                            ],
                            "default": 2
                        },
                        "dolby_vision_hdr": {
                            "type": "object",
                            "title": "Enable Dolby Vision HDR testing",
                            "description": "Whether to enable dolby vision hdr testing.",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "default": false,
                                    "title": "Enable Dolby Vision HDR testing",
                                    "description": "Whether to enable dolby vision hdr testing."
                                },
                                "dolbyvision_targetdisplay": {
                                    "title": "Dolby Vision target display",
                                    "description": "The target display to use when assessing Dolby Vision HDR videos.",
                                    "type": "integer",
                                    "enum": [
                                        21,
                                        27,
                                        37,
                                        42,
                                        48,
                                        255
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 21,
                                            "name": "48-nit, P3, D65, Gamma2.6, Full (CINEMA)"
                                        },
                                        {
                                            "value": 27,
                                            "name": "600-nit, P3, D65, ST.2084, Full (HOME)"
                                        },
                                        {
                                            "value": 37,
                                            "name": "2000-nit, P3, D65, ST.2084, Full (HOME)"
                                        },
                                        {
                                            "value": 42,
                                            "name": "108-nit, P3, D65, ST.2084, Full (CINEMA)"
                                        },
                                        {
                                            "value": 48,
                                            "name": "1000-nit, P3, D65, ST.2084, Full (HOME)"
                                        },
                                        {
                                            "value": 255,
                                            "name": "Custom"
                                        }
                                    ],
                                    "default": 48
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "dolbyvision_targetdisplay"
                                ]
                            }
                        },
                        "default_color_space": {
                            "title": "Default Color Space",
                            "description": "The default color space to test with if the media file color space is unspecified. For PSE SD (standard definition) is typically BT.601, HD (High Definition) is typically BT.709 and anything higher than that is BT.2020. Use 'None' if the PSE test should fail when there is no color space specified.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "None"
                                },
                                {
                                    "value": 1,
                                    "name": "BT.601"
                                },
                                {
                                    "value": 2,
                                    "name": "BT.709"
                                },
                                {
                                    "value": 3,
                                    "name": "BT.2020"
                                }
                            ],
                            "default": 0
                        }
                    },
                    "category": "Video Quality"
                },
                "pse": {
                    "type": "object",
                    "title": "PSE Test (Proprietary)",
                    "description": "PSE (photosensitive epilepsy) test using Telestream PSE Algorithm v5.1.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "use_legacy": {
                            "title": "Use Legacy Standard",
                            "type": "boolean",
                            "description": "Use BT1702-1 PSE checking standard.",
                            "default": false
                        },
                        "check_type": {
                            "title": "Check Type",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Standard"
                                },
                                {
                                    "value": 1,
                                    "name": "Strict"
                                }
                            ],
                            "default": 0,
                            "description": "Standard: 3.5 flashes at 25% of the picture\nStrict: 3.5 flashes at 20% of the picture."
                        },
                        "check_for_extended": {
                            "title": "Check For Extended",
                            "type": "boolean",
                            "description": "Check For Extended flashing.",
                            "default": true
                        },
                        "check_for_red": {
                            "title": "Check For Red",
                            "type": "boolean",
                            "description": "Check for saturated red flashes.",
                            "default": true
                        },
                        "check_for_patterns": {
                            "title": "Check For Patterns",
                            "type": "boolean",
                            "description": "Check for potentially harmful regular patterns.",
                            "default": true
                        }
                    },
                    "category": "Video Quality"
                },
                "rgb_gamut": {
                    "type": "object",
                    "title": "RGB Gamut",
                    "description": "Detect if the RGB color values are within the given range.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "range_from": {
                            "title": "Low RGB Component Limit (%)",
                            "type": "number",
                            "default": -5,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 5%, as suggested in the EBU R103-2000 section 'Tolerances on color gamut'. Use 0-100 for no tolerance."
                        },
                        "range_to": {
                            "title": "High RGB Component Limit (%)",
                            "type": "number",
                            "default": 105,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 5%, as suggested in the EBU R103-2000 section 'Tolerances on color gamut'. Use 0-100 for no tolerance."
                        },
                        "max_area_outside": {
                            "title": "Max area outside (%)",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Maximum area of the video picture that can be outside the given range without generating an error."
                        },
                        "low_pass_filter": {
                            "title": "Low-pass filter",
                            "type": "integer",
                            "description": "When EBU R103 2000 is selected, a horizontal signal filter (as described in EBU R103-2000) is applied to the RGB components before testing to remove transient violations. When EBU R103-2016 is selected, a quarter band signal filter is applied horizontally and a half band signal filter is applied vertically (as described in EBU R103-2016) to the RGB components before testing to remove transient violations.",
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "None"
                                },
                                {
                                    "value": 1,
                                    "name": "EBU R103 2000"
                                },
                                {
                                    "value": 2,
                                    "name": "EBU R103 2016"
                                }
                            ]
                        }
                    },
                    "required": [
                        "range_from",
                        "range_to",
                        "max_area_outside",
                        "low_pass_filter"
                    ],
                    "category": "Video Quality"
                },
                "video_segment_detection": {
                    "type": "object",
                    "required": [
                        "custom_level",
                        "silence",
                        "duration",
                        "units",
                        "percentage"
                    ],
                    "title": "Video Segment Detection",
                    "description": "Detect video segments within the content.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "$ref": "#/definitions/audio_config_silence"
                        }
                    ],
                    "properties": {
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage": {
                            "title": "Percentage of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "This is the area of the frame which must all be non-active in order to trigger the alert."
                        },
                        "duration": {
                            "title": "Minimum Black Frame Duration",
                            "type": "number",
                            "minimum": 0,
                            "default": 10,
                            "description": "Black frames with duration below the given threshold will be treated as active frames."
                        },
                        "units": {
                            "title": "Time Units",
                            "description": "The time units to use.",
                            "$ref": "#/definitions/time_units"
                        },
                        "silence": {
                            "title": "Digital Silence",
                            "type": "boolean",
                            "description": "Black frames must be accompanied by digital silence across all tracks otherwise they will be treated as active frames.",
                            "default": false
                        }
                    },
                    "category": "Video Quality"
                },
                "service_count": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "check_any": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check number of services of any type",
                                    "description": "Check the number of services of any type in the file. E.g. CC 1 to CC 4 and Service 1 to Service 6.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Number of services expected",
                                    "type": "string",
                                    "description": "The specified service counts(s) as a comma seperated list, e.g. '1,>=3' for 1 or >=3 services.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ]
                            }
                        },
                        "check_c608": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check number of CEA-608 services",
                                    "description": "Check number of CEA-608 services in the file. E.g. CC 1 to CC 4.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Number of CEA-608 services expected",
                                    "type": "string",
                                    "description": "The specified CEA-608 service counts(s) as a comma seperated list, e.g. '1,>=3' for 1 or >=3 services.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ]
                            }
                        },
                        "check_c708": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check number of CEA-708 services",
                                    "description": "Check number of CEA-708 services in the file. E.g. Service 1 to Service 6.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Number of CEA-708 services expected",
                                    "type": "string",
                                    "description": "The specified CEA-708 service counts(s) as a comma seperated list, e.g. '1,>=3' for 1 or >=3 services.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ]
                            }
                        }
                    },
                    "title": "Service Count Test",
                    "category": "Caption Checks"
                },
                "short_term_loudness": {
                    "type": "object",
                    "title": "Short-term Loudness",
                    "description": "Measure short-term loudness over a sliding rectangular time window. The measurement is not gated.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Short-term Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/shortterm_loudness_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "silence": {
                    "type": "object",
                    "title": "Silence",
                    "description": "Check for the presence or absence of silence for the whole or parts of a track.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Silence Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/silence_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "single_color_frame": {
                    "type": "object",
                    "title": "Single Color Frame",
                    "description": "Detect sequences where the entire frame is a single color.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "custom_level": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bit_depth",
                                            "level_8_bit",
                                            "level_10_bit",
                                            "level_12_bit",
                                            "level_14_bit"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "max_allowed_enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max_allowed_duration",
                                            "max_allowed_units"
                                        ]
                                    }
                                }
                            ]
                        }
                    ],
                    "properties": {
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage_of_frame": {
                            "title": "Percentage of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "This is the area of the frame which must all be a single color in order to trigger the alert. When testing video from an analog source (or in the presence of other noise) it may be desirable to select a value less than 100% to ensure that colored frames are still detected."
                        },
                        "ignore_black_frames": {
                            "title": "Ignore black frames",
                            "type": "boolean",
                            "default": false,
                            "description": "Whether to ignore black frames."
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of single color frames.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max Single Color Frames Allowed",
                            "description": "Maximum permitted duration of a single-color sequence. Set to 0 to disallow any single-color frames.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "Max Allowed Time Units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/singlecolor_range"
                            }
                        }
                    },
                    "category": "Video Quality"
                },
                "stripe_errors": {
                    "type": "object",
                    "title": "Stripe Errors",
                    "description": "Check for stripe errors.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "sensitivity": {
                            "title": "Stripe Errors Sensitivity",
                            "description": "The Stripe Errors Sensitivity.",
                            "$ref": "#/definitions/sensitivity"
                        }
                    },
                    "category": "Video Quality"
                },
                "discrete_subtitle": {
                    "type": "object",
                    "title": "Discrete Subtitle Test",
                    "description": "Check for the presence of discreet subtitles.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "subtitle_presence": {
                            "title": "Detect and Report the Presence of Discrete Subtitles",
                            "type": "boolean",
                            "description": "Find subtitles.",
                            "default": false
                        },
                        "subtitle_dropout": {
                            "title": "Detect and report any Subtitle Dropouts",
                            "type": "boolean",
                            "description": "Will test for the absence of subtitles in the given interval.",
                            "default": false
                        },
                        "no_subtitle_threshold": {
                            "title": "Max time allowed with no subtitle data",
                            "type": "number",
                            "minimum": 0.0,
                            "maximum": 3600.0,
                            "description": "The minimum threshold for which subtitles must be updated.",
                            "default": 10.0
                        },
                        "subtitle_dropout_duration_units": {
                            "title": "Time Units",
                            "description": "The time units to use for subtitle dropout.",
                            "$ref": "#/definitions/time_units"
                        },
                        "check_stl": {
                            "title": "STL checks",
                            "description": "Enables STL sidecar checks.",
                            "type": "boolean",
                            "default": false
                        },
                        "sidecar_stl_present": {
                            "title": "Check that Sidecar STL is present",
                            "description": "Checks that the STL sidecar is present.",
                            "type": "boolean",
                            "default": false
                        },
                        "stl_service_group": {
                            "title": "STL Group",
                            "description": "Verify all subtitles are in the same subtitling group.",
                            "type": "integer",
                            "default": 0,
                            "minimum": 0,
                            "maximum": 255
                        },
                        "stl_start_timecode": {
                            "title": "STL start timecode check",
                            "description": "Check that the start timecode of the STL matches the container start timecode of the media.",
                            "type": "boolean",
                            "default": false
                        },
                        "stl_start_timecode_source": {
                            "title": "Start Timecode source priority",
                            "description": "The start timecode source priority.",
                            "type": "string",
                            "enum": [
                                "deft",
                                "movt",
                                "pic ",
                                "MDPM",
                                "avc1",
                                "gopt",
                                "mxft",
                                "mxfs",
                                "mxfm",
                                "mxfa",
                                "anc ",
                                "gxft",
                                "gxtt",
                                "gxst",
                                "vbi ",
                                "gxfa",
                                "lxft",
                                "lxfa",
                                "tfot",
                                "dift"
                            ],
                            "titleMap": [
                                {
                                    "value": "deft",
                                    "name": "Default"
                                },
                                {
                                    "value": "movt",
                                    "name": "QuickTime Time Code track"
                                },
                                {
                                    "value": "pic ",
                                    "name": "SEI Picture Timing"
                                },
                                {
                                    "value": "MDPM",
                                    "name": "SEI AVCHD Metadata"
                                },
                                {
                                    "value": "avc1",
                                    "name": "AVC-Intra SEI Message Type-1"
                                },
                                {
                                    "value": "gopt",
                                    "name": "MPEG-2 GOP Time Code"
                                },
                                {
                                    "value": "mxft",
                                    "name": "SMPTE ST377 MXF Time Code Track"
                                },
                                {
                                    "value": "mxfs",
                                    "name": "SMPTE ST377 MXF System Item Time Code"
                                },
                                {
                                    "value": "mxfm",
                                    "name": "SMPTE ST377 MXF Material Package Time Code"
                                },
                                {
                                    "value": "mxfa",
                                    "name": "SMPTE ST436 MXF Ancillary Data"
                                },
                                {
                                    "value": "anc ",
                                    "name": "SMPTE ST291 Ancillary Data"
                                },
                                {
                                    "value": "gxft",
                                    "name": "SMPTE ST360 GXF Time Code"
                                },
                                {
                                    "value": "gxtt",
                                    "name": "SMPTE ST360 GXF Track Time Code"
                                },
                                {
                                    "value": "gxst",
                                    "name": "SMPTE ST360 GXF Striped Time Code"
                                },
                                {
                                    "value": "vbi ",
                                    "name": "Vertical Blanking Interval"
                                },
                                {
                                    "value": "gxfa",
                                    "name": "SMPTE ST360 GXF Ancillary Data"
                                },
                                {
                                    "value": "lxft",
                                    "name": "LXF Time Code"
                                },
                                {
                                    "value": "lxfa",
                                    "name": "LXF Ancillary Data"
                                },
                                {
                                    "value": "dift",
                                    "name": "DV/DVCPRO LTC Time Code"
                                }
                            ],
                            "default": "deft"
                        },
                        "fallback_framerate": {
                            "title": "If no framerate is detected, default to",
                            "type": "number",
                            "minimum": 1,
                            "description": "A fallback framerate for sources with no framerate properties.",
                            "default": 25,
                            "suffix": "fps"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "subtitle_dropout": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "no_subtitle_threshold",
                                    "subtitle_dropout_duration_units"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "subtitle_dropout_duration_units": {
                                        "const": 1
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "fallback_framerate"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "check_stl": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "sidecar_stl_present",
                                    "stl_service_group",
                                    "stl_start_timecode",
                                    "fallback_framerate"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "stl_start_timecode": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "stl_start_timecode_source"
                                ]
                            }
                        }
                    ],
                    "category": "Caption Checks"
                },
                "syntax_checks": {
                    "type": "object",
                    "title": "Syntax Checks",
                    "description": "Enable syntax checking for some codec types.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "video_codecsyntax_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Codec Syntax",
                                    "description": "Run MPEG-2, AVC/H.264, Dolby E and VC-3 codec syntax checks.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Codecs",
                                    "description": "Which syntax checks to run.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "h264",
                                            "mpeg2",
                                            "dolbye",
                                            "vc3"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "h264",
                                                "name": "H.264/AVC"
                                            },
                                            {
                                                "value": "mpeg2",
                                                "name": "MPEG-2"
                                            },
                                            {
                                                "value": "dolbye",
                                                "name": "Dolby E"
                                            },
                                            {
                                                "value": "vc3",
                                                "name": "VC-3"
                                            }
                                        ]
                                    }
                                }
                            },
                            "if": {
                                "properties": {
                                    "enable": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minItems": 1
                                    }
                                }
                            }
                        }
                    },
                    "category": "Syntax Checks"
                },
                "tek_mos": {
                    "type": "object",
                    "title": "TMOS",
                    "description": "Non-reference based perceptual video quality measurement for natural video content.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "if": {
                                "properties": {
                                    "frame_sampling_type": {
                                        "const": 1
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "frames_to_be_sampled"
                                ]
                            }
                        }
                    ],
                    "properties": {
                        "clip_threshold_score": {
                            "title": "Program Threshold",
                            "type": "number",
                            "default": 3,
                            "minimum": 0,
                            "maximum": 5,
                            "description": "Minimum desired TMOS score, varies from 0 (Poor) to 5 (Excellent)."
                        },
                        "clip_threshold_percentage": {
                            "title": "TMOS Clip Threshold Percentage",
                            "type": "number",
                            "default": 5,
                            "minimum": 0,
                            "maximum": 100,
                            "suffix": "%",
                            "description": "% of all frames have TMOS scores less than the program threshold."
                        },
                        "duration_threshold_score": {
                            "title": "Short-term Threshold",
                            "type": "number",
                            "default": 3,
                            "minimum": 0,
                            "maximum": 5,
                            "description": "Minimum desired TMOS score, varies from 0 (Poor) to 5 (Excellent)."
                        },
                        "duration_threshold_score_percentage": {
                            "title": "Error When More Than",
                            "type": "number",
                            "default": 5,
                            "minimum": 0,
                            "maximum": 100,
                            "suffix": "%",
                            "description": "% of frames in the short-term have a TMOS score less than the short-term threshold."
                        },
                        "duration_averaged_over": {
                            "title": "For A Minimum Duration Of",
                            "description": "For A Minimum Duration Of.",
                            "$ref": "#/definitions/int32",
                            "minimum": 1,
                            "default": 10,
                            "suffix": "Seconds"
                        },
                        "frame_sampling_type": {
                            "title": "Frame Sampling",
                            "description": "How often to measure/score frames.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Measure TMOS score for every frame"
                                },
                                {
                                    "value": 1,
                                    "name": "Measure TMOS score at a target frame rate of"
                                }
                            ],
                            "default": 1
                        },
                        "frames_to_be_sampled": {
                            "title": "Frames per Second",
                            "description": "Frames to be sampled per second.",
                            "$ref": "#/definitions/int32",
                            "minimum": 0,
                            "default": 5
                        },
                        "deinterlace": {
                            "title": "Apply De-interlacing",
                            "description": "Whether the image is expected to be interlaced.",
                            "type": "boolean",
                            "default": false
                        },
                        "region_of_interest": {
                            "title": "Region-of-interest",
                            "description": "The region of interest of the frame.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Automatic"
                                },
                                {
                                    "value": 1,
                                    "name": "Center Of Frame"
                                }
                            ],
                            "default": 0
                        }
                    },
                    "required": [
                        "frame_sampling_type",
                        "clip_threshold_score",
                        "clip_threshold_percentage",
                        "duration_threshold_score",
                        "duration_threshold_score_percentage",
                        "duration_averaged_over",
                        "deinterlace",
                        "region_of_interest"
                    ],
                    "category": "Video Quality"
                },
                "tone": {
                    "type": "object",
                    "title": "ToneTest",
                    "description": "Checks for the presence of a sine wave tone (a test tone).",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Tone Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tone_test_config"
                            }
                        }
                    },
                    "category": "Audio Quality"
                },
                "upconversion_detection": {
                    "type": "object",
                    "title": "Upconversion Detection Test",
                    "description": "Detect if the input video stream has been upconverted from a lower resolution.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "category": "Video Quality"
                },
                "video_metadata": {
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "afd_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Active Format Description",
                                    "description": "Test the value of the Active Format Description (AFD) as sent in the User Data of an MPEG-2 video sequence.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "value": {
                                    "title": "AFD must be",
                                    "description": "What the Active Format Description (AFD) must be.",
                                    "type": "integer",
                                    "enum": [
                                        -1,
                                        2,
                                        3,
                                        4,
                                        8,
                                        9,
                                        10,
                                        11,
                                        13,
                                        14,
                                        15
                                    ],
                                    "titleMap": [
                                        {
                                            "value": -1,
                                            "name": "Not present in stream"
                                        },
                                        {
                                            "value": 2,
                                            "name": "(2) Top-aligned 16:9 image"
                                        },
                                        {
                                            "value": 3,
                                            "name": "(3) Top-aligned 14:9 image"
                                        },
                                        {
                                            "value": 4,
                                            "name": "(4) Letterbox aspect > 16:9"
                                        },
                                        {
                                            "value": 8,
                                            "name": "(8) Full frame"
                                        },
                                        {
                                            "value": 9,
                                            "name": "(9) 4:3 image"
                                        },
                                        {
                                            "value": 10,
                                            "name": "(10) 16:9 image"
                                        },
                                        {
                                            "value": 11,
                                            "name": "(11) 14:9 image"
                                        },
                                        {
                                            "value": 13,
                                            "name": "(13) 4:3 image with alternative 14:9 center"
                                        },
                                        {
                                            "value": 14,
                                            "name": "(14) 16:9 image with alternative 14:9 center"
                                        },
                                        {
                                            "value": 15,
                                            "name": "(15) 16:9 image with alternative 4:3 center"
                                        }
                                    ]
                                },
                                "changes": {
                                    "title": "Report Dynamic AFD Changes",
                                    "description": "Report Dynamic AFD Changes.",
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "value",
                                    "changes"
                                ]
                            }
                        },
                        "video_palorntsc_test": {
                            "type": "object",
                            "properties": {
                                "enable": {
                                    "title": "Is PAL or NTSC",
                                    "type": "boolean",
                                    "description": "This checks if PAL/NTSC video is present.",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "standard": {
                                    "title": "Broadcast format must be",
                                    "description": "Whether the broadcast format is NTSC or PAL.",
                                    "type": "string",
                                    "enum": [
                                        "ntsc",
                                        "pal"
                                    ],
                                    "titleMap": [
                                        {
                                            "value": "ntsc",
                                            "name": "NTSC"
                                        },
                                        {
                                            "value": "pal",
                                            "name": "PAL"
                                        }
                                    ]
                                },
                                "total_lines": {
                                    "title": "Check Total lines",
                                    "type": "boolean",
                                    "description": "Checks if total lines are 525/625 lines.",
                                    "default": false
                                },
                                "display_lines": {
                                    "title": "Check Display lines",
                                    "type": "boolean",
                                    "description": "Checks if display lines are 480/576 lines.",
                                    "default": true
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "standard",
                                            "total_lines",
                                            "display_lines"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_alphachannelpresence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Alpha Channel Presence",
                                    "type": "boolean",
                                    "description": "This checks the presence or absence of Alpha (transparency) Component in the color space of the video for the following stream formats: ProRes, FFV1, TIFF, DPX.",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "value": {
                                    "title": "Alpha channel must be",
                                    "description": "Whether the alpha channel must be present or not.",
                                    "type": "boolean",
                                    "enum": [
                                        false,
                                        true
                                    ],
                                    "default": false,
                                    "titleMap": [
                                        {
                                            "value": false,
                                            "name": "not present"
                                        },
                                        {
                                            "value": true,
                                            "name": "present"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_buffersize_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Buffer Size",
                                    "description": "Video Buffer Size.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test mode.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "type": "string",
                                    "description": "The allowed buffer sizes as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "KiB"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum value allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "KiB"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum value allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "KiB"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "value"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "options"
                                            ]
                                        }
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "range"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "minimum",
                                                "maximum"
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "video_bitratemode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Bit Rate Mode",
                                    "description": "Check whether the bit rate mode is variable (VBR) or constant (CBR).",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "option": {
                                    "title": "Mode",
                                    "description": "The video bitrate mode to allow.",
                                    "type": "string",
                                    "enum": [
                                        "cbr",
                                        "vbr"
                                    ],
                                    "titleMap": [
                                        {
                                            "value": "cbr",
                                            "name": "CBR"
                                        },
                                        {
                                            "value": "vbr",
                                            "name": "VBR"
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "option"
                                ]
                            }
                        },
                        "video_codec_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Codec",
                                    "description": "Test the format of the video elementary stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "options": {
                                    "title": "All codecs",
                                    "description": "Which video codecs are allowed.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "ap  ",
                                            "AVDJ",
                                            "AVdn",
                                            "AVdh",
                                            "dv  ",
                                            "dvp ",
                                            "dv50",
                                            "dv1 ",
                                            "dvh1",
                                            "avc1",
                                            "hvc1",
                                            "mp2v",
                                            "mp4v",
                                            "mjpg",
                                            "mjp2",
                                            "RGB ",
                                            "SRAW",
                                            "YUV ",
                                            "WVC1"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "ap  ",
                                                "name": "Apple ProRes"
                                            },
                                            {
                                                "value": "AVDJ",
                                                "name": "Avid Meridien"
                                            },
                                            {
                                                "value": "AVdn",
                                                "name": "Avid DNxHD"
                                            },
                                            {
                                                "value": "AVdh",
                                                "name": "Avid DNxHR"
                                            },
                                            {
                                                "value": "dvp ",
                                                "name": "DVCPRO25"
                                            },
                                            {
                                                "value": "dv50",
                                                "name": "DVCPRO50"
                                            },
                                            {
                                                "value": "dv1 ",
                                                "name": "DVCPRO100"
                                            },
                                            {
                                                "value": "dvh1",
                                                "name": "DVCPROHD"
                                            },
                                            {
                                                "value": "dv  ",
                                                "name": "DVC25"
                                            },
                                            {
                                                "value": "avc1",
                                                "name": "H.264/AVC"
                                            },
                                            {
                                                "value": "hvc1",
                                                "name": "H.265/HEVC"
                                            },
                                            {
                                                "value": "mjpg",
                                                "name": "M-JPEG"
                                            },
                                            {
                                                "value": "mjp2",
                                                "name": "JPEG 2000"
                                            },
                                            {
                                                "value": "mp2v",
                                                "name": "MPEG-2"
                                            },
                                            {
                                                "value": "mp4v",
                                                "name": "MPEG-4"
                                            },
                                            {
                                                "value": "RGB ",
                                                "name": "Uncompressed RGB"
                                            },
                                            {
                                                "value": "SRAW",
                                                "name": "Sony Raw"
                                            },
                                            {
                                                "value": "YUV ",
                                                "name": "Uncompressed YUV"
                                            },
                                            {
                                                "value": "WVC1",
                                                "name": "VC-1"
                                            }
                                        ]
                                    }
                                },
                                "video_entropymode_test": {
                                    "type": "object",
                                    "properties": {
                                        "enable": {
                                            "title": "Entropy Coding Mode",
                                            "description": "Test whether an H.264 video stream uses 'CABAC'.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "treat_warnings_as": {
                                            "$ref": "#/definitions/warnings_as_child"
                                        },
                                        "options": {
                                            "title": "Mode",
                                            "description": "Which Entropy Coding Mode to allow.",
                                            "type": "integer",
                                            "enum": [
                                                0,
                                                1
                                            ],
                                            "titleMap": [
                                                {
                                                    "value": 0,
                                                    "name": "CABAC"
                                                },
                                                {
                                                    "value": 1,
                                                    "name": "CAVLC"
                                                }
                                            ]
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "video_codedinterlacemode_test": {
                                    "type": "object",
                                    "properties": {
                                        "enable": {
                                            "title": "Coded Interlace Mode",
                                            "description": "Check the coded interlaced mode. E.g. interlaced or progressive.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "treat_warnings_as": {
                                            "$ref": "#/definitions/warnings_as_child"
                                        },
                                        "options": {
                                            "title": "Mode",
                                            "description": "The coded interlace mode to allow.",
                                            "type": "array",
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3
                                                ],
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "FMBS"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "MBAFF"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "PAFF"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "PSF"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                },
                                "mpeg2_profile": {
                                    "title": "MPEG-2 Profile",
                                    "description": "The MPEG-2 Profile to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "High"
                                        },
                                        {
                                            "value": 2,
                                            "name": "Spatially Scalable"
                                        },
                                        {
                                            "value": 3,
                                            "name": "SNR Scalable"
                                        },
                                        {
                                            "value": 4,
                                            "name": "Main"
                                        },
                                        {
                                            "value": 5,
                                            "name": "Simple"
                                        },
                                        {
                                            "value": 6,
                                            "name": "422"
                                        }
                                    ],
                                    "default": 0
                                },
                                "mpeg2_level": {
                                    "title": "MPEG-2 Level",
                                    "description": "The MPEG-2 Level to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        2,
                                        4,
                                        6,
                                        8,
                                        10
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 2,
                                            "name": "HighP"
                                        },
                                        {
                                            "value": 4,
                                            "name": "High"
                                        },
                                        {
                                            "value": 6,
                                            "name": "High-1440"
                                        },
                                        {
                                            "value": 8,
                                            "name": "Main"
                                        },
                                        {
                                            "value": 10,
                                            "name": "Low"
                                        }
                                    ],
                                    "default": 0
                                },
                                "prores_profile": {
                                    "title": "ProRes Profile",
                                    "description": "The ProRes Profile to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "422"
                                        },
                                        {
                                            "value": 2,
                                            "name": "422 (HQ)"
                                        },
                                        {
                                            "value": 3,
                                            "name": "422 (LT)"
                                        },
                                        {
                                            "value": 4,
                                            "name": "422 (Proxy)"
                                        },
                                        {
                                            "value": 5,
                                            "name": "4444"
                                        },
                                        {
                                            "value": 6,
                                            "name": "4444 XQ"
                                        }
                                    ],
                                    "default": 0
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minItems": 1
                                    }
                                },
                                "allOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "options": {
                                                    "contains": {
                                                        "enum": [
                                                            "mp2v"
                                                        ]
                                                    }
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "mpeg2_profile",
                                                "mpeg2_level"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "options": {
                                                    "contains": {
                                                        "enum": [
                                                            "ap  "
                                                        ]
                                                    }
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "prores_profile"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "video_essenceduration_test": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Essence Duration",
                                    "description": "Test if the essence is shorter/longer than specified value/range.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "treat_warnings_as": {
                                    "$ref": "#/definitions/warnings_as_child"
                                },
                                "container_agrees_with_essence": {
                                    "$ref": "#/definitions/container_agrees_with_essence"
                                },
                                "duration_value": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Value",
                                            "description": "Whether the duration value test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "value": {
                                            "title": "Value",
                                            "description": "The duration value to allow.",
                                            "$ref": "#/definitions/timecode"
                                        },
                                        "spread": {
                                            "title": "Spread (+ or -)",
                                            "description": "The spread (+ or -) to allow.",
                                            "$ref": "#/definitions/timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value",
                                            "spread"
                                        ]
                                    }
                                },
                                "duration_range": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Range",
                                            "description": "Test for a duration range between a minimum and maximum value allowed.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum duration allowed.",
                                            "$ref": "#/definitions/timecode"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum duration allowed.",
                                            "$ref": "#/definitions/timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "oneOf": [
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_value": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {