{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "CompositionPlaylist",
  "description": "Root CPL structure — defines a complete IMF composition.\n\n# Spec-required vs `Option<T>` policy (FIX-7 audit)\n\nThe parser is intentionally lenient: every spec-required element that isn't strictly necessary to **construct** a valid `CompositionPlaylist` is exposed as `Option<T>` (or via a `default = \"…\"` serde attribute). Missing-required-field violations are surfaced as catalogue diagnostics by the validator (`validate_cpl`) rather than as parse errors, so a caller can still inspect the parsed structure of a non-conformant CPL.\n\nField-by-field map against ST 2067-3 §6 / §7 (2013 / 2016 — the 2020 edition reuses the 2016 schema verbatim):\n\n| Field                     | Type             | Spec status                               | |---------------------------|------------------|-------------------------------------------| | `id`                      | `ImfUuid`        | required §6.1 — parse error if missing    | | `annotation`              | `Option<…>`      | optional §6.2                             | | `issue_date`              | `String`         | required §6.3 — parse error if missing    | | `issuer`                  | `Option<…>`      | optional §6.4                             | | `creator`                 | `Option<…>`      | optional §6.5                             | | `content_originator`      | `Option<…>`      | optional §6.6                             | | `content_title`           | `LanguageString` | required §6.7 — parse error if missing    | | `content_kind`            | concrete (default) | required §6.8 — `default_content_kind`  | | `content_version_list`    | `Option<…>`      | optional §6.10                            | | `essence_descriptor_list` | `Option<…>`      | **required** per ST 2067-2 §6.1.5 —       | |                           |                  | parser-lenient; absence is reported by    | |                           |                  | `validate_cpl` as Error                   | | `edit_rate`               | `Option<…>`      | required §6.13 — parser-lenient; absence  | |                           |                  | reported by `validate_cpl`                | | `total_running_time`      | `Option<String>` | optional §6.14                            | | `locale_list`             | `Option<…>`      | optional §6.15                            | | `extension_properties`    | `Option<…>`      | optional §6.16                            | | `composition_timecode`    | `Option<…>`      | optional §6.9                             | | `segment_list`            | `SegmentList`    | required §6.17 — parse error if missing   | | `has_signer`/`has_signature` | `bool`        | reflect presence in raw XML (§8 signatures unparsed) | | `source_xml`              | `Option<String>` | retained when parsed from XML; absent for JSON-deserialised |\n\nFive fields are spec-required but stored as `Option<T>` (with `default` on the serde side) to support the parser-lenient model: `content_kind` (defaults via `default_content_kind`), `content_version_list`, `essence_descriptor_list`, `edit_rate`, `locale_list`. The validator surfaces missing-required findings against the ST 2067-3 prose.",
  "type": "object",
  "required": [
    "ContentTitle",
    "Id",
    "IssueDate",
    "SegmentList"
  ],
  "properties": {
    "Annotation": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/LanguageString"
        },
        {
          "type": "null"
        }
      ]
    },
    "CompositionTimecode": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/CompositionTimecode"
        },
        {
          "type": "null"
        }
      ]
    },
    "ContentKind": {
      "default": "unknown",
      "allOf": [
        {
          "$ref": "#/definitions/ContentKindElement"
        }
      ]
    },
    "ContentOriginator": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/LanguageString"
        },
        {
          "type": "null"
        }
      ]
    },
    "ContentTitle": {
      "$ref": "#/definitions/LanguageString"
    },
    "ContentVersionList": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/ContentVersionList"
        },
        {
          "type": "null"
        }
      ]
    },
    "Creator": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/LanguageString"
        },
        {
          "type": "null"
        }
      ]
    },
    "EditRate": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/EditRate"
        },
        {
          "type": "null"
        }
      ]
    },
    "EssenceDescriptorList": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/EssenceDescriptorList"
        },
        {
          "type": "null"
        }
      ]
    },
    "ExtensionProperties": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/ExtensionProperties"
        },
        {
          "type": "null"
        }
      ]
    },
    "Id": {
      "$ref": "#/definitions/ImfUuid"
    },
    "IssueDate": {
      "type": "string"
    },
    "Issuer": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/LanguageString"
        },
        {
          "type": "null"
        }
      ]
    },
    "LocaleList": {
      "default": null,
      "anyOf": [
        {
          "$ref": "#/definitions/LocaleList"
        },
        {
          "type": "null"
        }
      ]
    },
    "SegmentList": {
      "$ref": "#/definitions/SegmentList"
    },
    "TotalRunningTime": {
      "default": null,
      "type": [
        "string",
        "null"
      ]
    }
  },
  "definitions": {
    "AudienceElement": {
      "description": "The `<Audience>` element carries an optional `scope` attribute.",
      "type": "object",
      "properties": {
        "$text": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "@scope": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "AudioSubDescriptors": {
      "description": "SubDescriptors for audio (WAVEPCMDescriptor)",
      "type": "object",
      "properties": {
        "SoundfieldGroupLabelSubDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/SoundfieldGroupLabelSubDescriptor"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "CDCIDescriptor": {
      "description": "CDCI video descriptor (YCbCr content)",
      "type": "object",
      "properties": {
        "ActiveHeight": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ActiveWidth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "AlphaSampleDepth": {
          "description": "Table 12: AlphaSampleDepth — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "AlphaTransparency": {
          "description": "Table 8: AlphaTransparency — shall not be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "BlackRefLevel": {
          "description": "CDCI Descriptor: Black Ref Level (Table 13)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "CodingEquations": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/CodingEquations"
            },
            {
              "type": "null"
            }
          ]
        },
        "ColorPrimaries": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ColorPrimaries"
            },
            {
              "type": "null"
            }
          ]
        },
        "ColorRange": {
          "description": "CDCI Descriptor: Color Range (Table 13)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ColorSiting": {
          "description": "CDCI Descriptor: Color Siting (Table 12) Shall be 0 (CoSiting) but some encoders write a label string (e.g. \"CoSiting\").",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ComponentDepth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "DisplayF2Offset": {
          "description": "Generic Picture Essence Descriptor: DisplayF2Offset",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "DisplayHeight": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "DisplayWidth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "FieldDominance": {
          "description": "Table 8: FieldDominance — shall be present if interlaced, shall not be present if progressive",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "FrameLayout": {
          "description": "Generic Picture Essence Descriptor: Frame Layout \"FullFrame\" (00h, progressive) or \"SeparateFields\" (01h, interlaced)",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "HorizontalSubsampling": {
          "description": "CDCI Descriptor: Horizontal Subsampling (Table 12) 1 = 4:4:4, 2 = 4:2:2",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ImageAlignmentOffset": {
          "description": "Table 8: ImageAlignmentOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ImageAspectRatio": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "ImageEndOffset": {
          "description": "Table 8: ImageEndOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ImageStartOffset": {
          "description": "Table 8: ImageStartOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "InstanceUID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "PaddingBits": {
          "description": "Table 12: PaddingBits — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "PictureCompression": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/VideoCodec"
            },
            {
              "type": "null"
            }
          ]
        },
        "ReversedByteOrder": {
          "description": "Table 12: ReversedByteOrder — shall not be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "SampledHeight": {
          "description": "Table 8: SampledHeight — shall not be present or shall be equal to StoredHeight",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledWidth": {
          "description": "Table 8: SampledWidth — shall not be present or shall be equal to StoredWidth",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledXOffset": {
          "description": "Table 8: SampledXOffset — shall not be present or shall be 0",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledYOffset": {
          "description": "Table 8: SampledYOffset — shall not be present or shall be 0",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "StoredF2Offset": {
          "description": "Table 8: StoredF2Offset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "StoredHeight": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "StoredWidth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SubDescriptors": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/VideoSubDescriptors"
            },
            {
              "type": "null"
            }
          ]
        },
        "TransferCharacteristic": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/TransferCharacteristic"
            },
            {
              "type": "null"
            }
          ]
        },
        "VerticalSubsampling": {
          "description": "CDCI Descriptor: Vertical Subsampling (Table 12) Shall be 1",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "WhiteRefLevel": {
          "description": "CDCI Descriptor: White Ref Level (Table 13)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "CodingEquations": {
      "description": "Coding equations SMPTE Universal Label, per ST 2067-21:2023 §7.2.3.\n\nDefines the Y'C'BC'R matrix coefficients. Required for CDCI descriptors; R'G'B' descriptors (COLOR.6) do not use CodingEquations. Byte 8 (registry version) is masked per ST 298M (Architecture Decision 1).",
      "oneOf": [
        {
          "description": "ITU-R BT.601 — COLOR.1/COLOR.2 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.02010000`",
          "type": "string",
          "enum": [
            "Bt601"
          ]
        },
        {
          "description": "ITU-R BT.709 — COLOR.3/COLOR.4 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.02020000`",
          "type": "string",
          "enum": [
            "Bt709"
          ]
        },
        {
          "description": "ITU-R BT.2020 Non-Constant Luminance (Annex D) — COLOR.5/7/8 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.02060000`",
          "type": "string",
          "enum": [
            "Bt2020Ncl"
          ]
        },
        {
          "description": "Unrecognised UL; the original string is preserved.",
          "type": "object",
          "required": [
            "Unknown"
          ],
          "properties": {
            "Unknown": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "ColorPrimaries": {
      "description": "Color primaries SMPTE Universal Label, per ST 2067-21:2023 §7.2.4 and SMPTE Registers.\n\nDiscriminating bytes are in positions 13-16 of the UL (last 4 bytes of the 16-byte label), with the common prefix `060e2b34.0401XXXX.04010101.03......`. Byte 8 (the registry version) is masked per ST 298M (Architecture Decision 1).",
      "oneOf": [
        {
          "description": "ITU-R BT.601-7 625-line system — COLOR.1 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.03020000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "Bt601_625"
          ]
        },
        {
          "description": "ITU-R BT.601-7 525-line system — COLOR.2 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.03010000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "Bt601_525"
          ]
        },
        {
          "description": "ITU-R BT.709 / SMPTE 274M — COLOR.3/COLOR.4 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.03030000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "Bt709"
          ]
        },
        {
          "description": "ITU-R BT.2020 / BT.2100 — COLOR.5/COLOR.7/COLOR.8 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.03040000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "Bt2020"
          ]
        },
        {
          "description": "DCI P3 (theatre projection, D60 white point) Canonical UL: `060e2b34.04010100.04010101.03050000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "DciP3"
          ]
        },
        {
          "description": "P3 D65 (display P3, D65 white point) — COLOR.6 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.03060000` (byte 8 masked)",
          "type": "string",
          "enum": [
            "P3D65"
          ]
        },
        {
          "description": "Unrecognised UL; the original string is preserved.",
          "type": "object",
          "required": [
            "Unknown"
          ],
          "properties": {
            "Unknown": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "CompositionTimecode": {
      "type": "object",
      "properties": {
        "TimecodeDropFrame": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "TimecodeRate": {
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "TimecodeStartAddress": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ContainerConstraintsSubDescriptor": {
      "description": "ContainerConstraintsSubDescriptor — presence required by ST 2067-202 §5",
      "type": "object",
      "properties": {
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ContentKindElement": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "required": [
            "$text"
          ],
          "properties": {
            "$text": {
              "type": "string"
            },
            "@scope": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "ContentMaturityRating": {
      "description": "A single content maturity rating entry per ST 2067-3 / ST 2067-21 §5.1.3.",
      "type": "object",
      "required": [
        "Agency"
      ],
      "properties": {
        "Agency": {
          "type": "string"
        },
        "Audience": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/AudienceElement"
            },
            {
              "type": "null"
            }
          ]
        },
        "Rating": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ContentMaturityRatingList": {
      "type": "object",
      "required": [
        "ContentMaturityRating"
      ],
      "properties": {
        "ContentMaturityRating": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentMaturityRating"
          }
        }
      }
    },
    "ContentVersion": {
      "type": "object",
      "required": [
        "Id"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "LabelText": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/LanguageString"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "ContentVersionList": {
      "type": "object",
      "required": [
        "ContentVersion"
      ],
      "properties": {
        "ContentVersion": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentVersion"
          }
        }
      }
    },
    "DCTimedTextDescriptor": {
      "description": "DC Timed Text descriptor (subtitles/captions)",
      "type": "object",
      "properties": {
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "NamespaceURI": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "RFC5646LanguageTagList": {
          "description": "Comma-separated RFC 5646 language tags for this timed text track",
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/LanguageTag"
          }
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "EditRate": {
      "description": "A rational frame/sample rate as specified in SMPTE ST 2067-3 §6.\n\nIn XML the value is a space-separated pair: `\"60000 1001\"`. Common values: `24000/1001` (≈23.976), `24/1`, `25/1`, `30/1`, `30000/1001` (≈29.97), `48000/1`, `96000/1`.",
      "type": "object",
      "required": [
        "denominator",
        "numerator"
      ],
      "properties": {
        "denominator": {
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0
        },
        "numerator": {
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "EssenceDescriptor": {
      "type": "object",
      "required": [
        "Id"
      ],
      "properties": {
        "CDCIDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/CDCIDescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "DCTimedTextDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/DCTimedTextDescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "IABEssenceDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/IABEssenceDescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "ISXDDataEssenceDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ISXDDataEssenceDescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "RGBADescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/RGBADescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "WAVEPCMDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/WAVEPCMDescriptor"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "EssenceDescriptorList": {
      "type": "object",
      "required": [
        "EssenceDescriptor"
      ],
      "properties": {
        "EssenceDescriptor": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EssenceDescriptor"
          }
        }
      }
    },
    "ExtensionProperties": {
      "type": "object",
      "properties": {
        "ApplicationIdentification": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MaxCLL": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "MaxFALL": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "ForcedNarrativeSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "HearingImpairedCaptionsSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "IABChannelSubDescriptor": {
      "description": "Presence-only stub for ST 2067-201:2026 Annex E `IABChannelSubDescriptor`.\n\nThe 2026 spec defines the full item set in Table E.1 (`IABBedMetaID`, `IABChannelID`, `IABAudioDescription`, `IABAudioDescriptionText`); imferno's CPL parser only needs to count occurrences to fire the `IabChannelSubDescriptorRecommended` warning, so the inner shape is intentionally permissive — any nested content deserialises into the catch-all map without affecting presence.",
      "type": "object",
      "properties": {
        "IABBedMetaID": {
          "description": "Annex E §E.2 — IAB Bed MetaID of the associated BedDefinition.",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "IABChannelID": {
          "description": "Annex E §E.2 — Channel ID within the bed.",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "IABEssenceDescriptor": {
      "description": "IAB (Immersive Audio Bitstream) essence descriptor — Dolby Atmos",
      "type": "object",
      "properties": {
        "AudioSampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "ChannelCount": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "Codec": {
          "description": "ST 2067-201 §5.9: Codec item shall NOT be present.",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "ContainerFormat": {
          "description": "ST 2067-201 §5.3: ContainerFormat shall be the IAB essence container UL.",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "ElectrospatialFormulation": {
          "description": "ST 2067-201 §5.9: ElectrospatialFormulation shall NOT be present.",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "QuantizationBits": {
          "description": "ST 2067-201 §5.9: QuantizationBits shall be 24.",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "SoundCompression": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "SubDescriptors": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/IABSubDescriptors"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "IABSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "IABSoundfieldLabelSubDescriptor": {
      "description": "IAB soundfield label sub-descriptor — contains language for Atmos tracks",
      "type": "object",
      "properties": {
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MCALabelDictionaryID": {
          "description": "ST 2067-201 §5.9: MCALabelDictionaryID shall be `urn:smpte:ul:060e2b34.0401010d.03020221.00000000`.",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MCATagName": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MCATagSymbol": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/McaTagSymbol"
            },
            {
              "type": "null"
            }
          ]
        },
        "RFC5646SpokenLanguage": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/LanguageTag"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "IABSubDescriptors": {
      "description": "SubDescriptors for IAB essence",
      "type": "object",
      "properties": {
        "IABChannelSubDescriptor": {
          "description": "ST 2067-201:2026 Annex E — IAB Channel SubDescriptor entries. Optional in 2021 (and earlier — silently dropped), recommended in 2026 (\"should contain one instance for each channel of each BedDefinition\"). Captured as a raw count via a bag struct so downstream code can probe presence without the parser needing to model every field defined in Annex E Table E.1.",
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/IABChannelSubDescriptor"
          }
        },
        "IABSoundfieldLabelSubDescriptor": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/IABSoundfieldLabelSubDescriptor"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "ISXDDataEssenceDescriptor": {
      "description": "ISXD (Immersive Sound XML Data) essence descriptor — Dolby Atmos sidecar format",
      "type": "object",
      "properties": {
        "DataEssenceCoding": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "NamespaceURI": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "SubDescriptors": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/IsxdSubDescriptors"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "ISXDSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "ImfUuid": {
      "description": "A SMPTE IMF UUID, serialised as a bare UUID string (e.g. \"0eb3d1b9-b77b-4d3f-bbe5-7c69b15dca85\")",
      "type": "string",
      "format": "uuid"
    },
    "IsxdSubDescriptors": {
      "description": "SubDescriptors for ISXD essence descriptor",
      "type": "object",
      "properties": {
        "ContainerConstraintsSubDescriptor": {
          "description": "ST 2067-202: ContainerConstraintsSubDescriptor shall be present.",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ContainerConstraintsSubDescriptor"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "J2CLayout": {
      "description": "J2CLayout — pixel component layout for JPEG 2000 (§6.5.2)",
      "type": "object",
      "properties": {
        "RGBAComponent": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/RGBALayoutComponent"
          }
        }
      }
    },
    "J2KComponentSizing": {
      "description": "Individual J2K component sizing",
      "type": "object",
      "properties": {
        "Ssiz": {
          "description": "Component bit depth minus 1",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "XRSiz": {
          "description": "Horizontal separation of sample",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "YRSiz": {
          "description": "Vertical separation of sample",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "J2KExtendedCapabilities": {
      "description": "J2K Extended Capabilities (ISO/IEC 15444-15)",
      "type": "object",
      "properties": {
        "Pcap": {
          "description": "Profile capabilities (Pcap)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint64",
          "minimum": 0.0
        }
      }
    },
    "JPEG2000SubDescriptor": {
      "description": "JPEG 2000 Picture Sub Descriptor (ST 422 / ST 2067-21 Table 14)",
      "type": "object",
      "properties": {
        "CodingStyleDefault": {
          "description": "Table 14: Coding Style — shall be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "Csiz": {
          "description": "Number of components (Csiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "J2CLayout": {
          "description": "Table 14: J2CLayout — shall be present (§6.5.2)",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/J2CLayout"
            },
            {
              "type": "null"
            }
          ]
        },
        "J2KExtendedCapabilities": {
          "description": "Table 14: J2KExtendedCapabilities — shall be present if ISO/IEC 15444-15 coding",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/J2KExtendedCapabilities"
            },
            {
              "type": "null"
            }
          ]
        },
        "PictureComponentSizing": {
          "description": "Picture component sizing information",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/PictureComponentSizing"
            },
            {
              "type": "null"
            }
          ]
        },
        "QuantizationDefault": {
          "description": "Quantization Default",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "Rsiz": {
          "description": "Decoder capabilities (Rsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "XOsiz": {
          "description": "Image X offset (XOsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "XTOsiz": {
          "description": "Tile X offset (XTOsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "XTsiz": {
          "description": "Tile width (XTsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "Xsiz": {
          "description": "Image width (Xsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "YOsiz": {
          "description": "Image Y offset (YOsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "YTOsiz": {
          "description": "Tile Y offset (YTOsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "YTsiz": {
          "description": "Tile height (YTsiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "Ysiz": {
          "description": "Image height (Ysiz)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "LanguageList": {
      "type": "object",
      "required": [
        "Language"
      ],
      "properties": {
        "Language": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LanguageTag"
          }
        }
      }
    },
    "LanguageString": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "required": [
            "$text"
          ],
          "properties": {
            "$text": {
              "type": "string"
            },
            "@language": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "LanguageTag": {
      "description": "An RFC 5646 language tag, e.g. `\"en\"`, `\"fr-CA\"`, `\"zh-Hant\"`.\n\nValidation is minimal (non-empty, trimmed). Full BCP 47 validation is out of scope for the parser layer.",
      "type": "string"
    },
    "Locale": {
      "type": "object",
      "properties": {
        "ContentMaturityRatingList": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ContentMaturityRatingList"
            },
            {
              "type": "null"
            }
          ]
        },
        "LanguageList": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/LanguageList"
            },
            {
              "type": "null"
            }
          ]
        },
        "RegionList": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/RegionList"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "LocaleList": {
      "description": "LocaleList - Content locale information",
      "type": "object",
      "properties": {
        "Locale": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/Locale"
          }
        }
      }
    },
    "MainAudioSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "MainImageSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "MarkerInfo": {
      "type": "object",
      "required": [
        "Label",
        "Offset"
      ],
      "properties": {
        "Annotation": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "Label": {
          "$ref": "#/definitions/MarkerLabelElement"
        },
        "Offset": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0.0
        }
      }
    },
    "MarkerLabelElement": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "required": [
            "$text"
          ],
          "properties": {
            "$text": {
              "type": "string"
            },
            "@scope": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "MarkerSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "McaTagSymbol": {
      "description": "MCA (Multi-Channel Audio) tag symbol per SMPTE ST 377-4.\n\nUsed in `<MCATagSymbol>` in `SoundfieldGroupLabelSubDescriptor` and `AudioChannelLabelSubDescriptor`.",
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "Left",
            "Right",
            "Center",
            "Lfe",
            "LeftSurround",
            "RightSurround",
            "LeftSideSurround",
            "RightSideSurround",
            "LeftRearSurround",
            "RightRearSurround"
          ]
        },
        {
          "description": "5.1 Surround",
          "type": "string",
          "enum": [
            "Sg51"
          ]
        },
        {
          "description": "7.1 Surround",
          "type": "string",
          "enum": [
            "Sg71"
          ]
        },
        {
          "description": "7.1 DS (Dolby Surround)",
          "type": "string",
          "enum": [
            "Sg71Ds"
          ]
        },
        {
          "description": "Stereo / Lt-Rt matrixed",
          "type": "string",
          "enum": [
            "SgSt"
          ]
        },
        {
          "description": "Mono",
          "type": "string",
          "enum": [
            "SgMono"
          ]
        },
        {
          "description": "IAB (Immersive Audio Bitstream / Dolby Atmos)",
          "type": "string",
          "enum": [
            "Iab"
          ]
        },
        {
          "description": "Unrecognised; the original string is preserved.",
          "type": "object",
          "required": [
            "Other"
          ],
          "properties": {
            "Other": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "PHDRMetadataTrackSubDescriptor": {
      "description": "PHDR (Dolby Vision) metadata track sub-descriptor",
      "type": "object",
      "properties": {
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "PHDRMetadataTrackSubDescriptor_DataDefinition": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "PHDRMetadataTrackSubDescriptor_SimplePayloadSID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "PHDRMetadataTrackSubDescriptor_SourceTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "PictureComponentSizing": {
      "description": "Picture component sizing information",
      "type": "object",
      "properties": {
        "J2KComponentSizing": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/J2KComponentSizing"
          }
        }
      }
    },
    "RGBADescriptor": {
      "description": "RGBA video descriptor (JPEG 2000 RGB content)",
      "type": "object",
      "properties": {
        "AlphaMaxRef": {
          "description": "Table 10: AlphaMaxRef — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "AlphaMinRef": {
          "description": "Table 10: AlphaMinRef — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "AlphaTransparency": {
          "description": "Table 8: AlphaTransparency — shall not be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "CodingEquations": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/CodingEquations"
            },
            {
              "type": "null"
            }
          ]
        },
        "ColorPrimaries": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ColorPrimaries"
            },
            {
              "type": "null"
            }
          ]
        },
        "ComponentMaxRef": {
          "description": "RGBA Descriptor: Component Max Ref (Table 10/11)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ComponentMinRef": {
          "description": "RGBA Descriptor: Component Min Ref (Table 10/11)",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "DisplayF2Offset": {
          "description": "Generic Picture Essence Descriptor: DisplayF2Offset",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "DisplayHeight": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "DisplayWidth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "FieldDominance": {
          "description": "Table 8: FieldDominance — shall be present if interlaced, shall not be present if progressive",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "FrameLayout": {
          "description": "Generic Picture Essence Descriptor: Frame Layout \"FullFrame\" (00h, progressive) or \"SeparateFields\" (01h, interlaced)",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "ImageAlignmentOffset": {
          "description": "Table 8: ImageAlignmentOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ImageAspectRatio": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "ImageEndOffset": {
          "description": "Table 8: ImageEndOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ImageStartOffset": {
          "description": "Table 8: ImageStartOffset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "Palette": {
          "description": "Table 10: Palette — shall not be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "PaletteLayout": {
          "description": "Table 10: PaletteLayout — shall not be present",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "PictureCompression": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/VideoCodec"
            },
            {
              "type": "null"
            }
          ]
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "SampledHeight": {
          "description": "Table 8: SampledHeight — shall not be present or shall be equal to StoredHeight",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledWidth": {
          "description": "Table 8: SampledWidth — shall not be present or shall be equal to StoredWidth",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledXOffset": {
          "description": "Table 8: SampledXOffset — shall not be present or shall be 0",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampledYOffset": {
          "description": "Table 8: SampledYOffset — shall not be present or shall be 0",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "ScanningDirection": {
          "description": "RGBA Descriptor: Scanning Direction (Table 10) Shall be \"ScanningDirection_LeftToRightTopToBottom\" (00h)",
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "StoredF2Offset": {
          "description": "Table 8: StoredF2Offset — shall not be present",
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "StoredHeight": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "StoredWidth": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SubDescriptors": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/VideoSubDescriptors"
            },
            {
              "type": "null"
            }
          ]
        },
        "TransferCharacteristic": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/TransferCharacteristic"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "RGBALayoutComponent": {
      "description": "RGBA component entry within J2CLayout or PixelLayout",
      "type": "object",
      "properties": {
        "Code": {
          "description": "Absent in intentionally malformed corpus files (e.g. RGBAError1). Default to empty string so the parser succeeds; the validator flags missing codes.",
          "default": "",
          "type": "string"
        },
        "ComponentSize": {
          "default": 0,
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0
        }
      }
    },
    "RegionList": {
      "type": "object",
      "required": [
        "Region"
      ],
      "properties": {
        "Region": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Resource": {
      "type": "object",
      "required": [
        "Id",
        "IntrinsicDuration"
      ],
      "properties": {
        "Annotation": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/LanguageString"
            },
            {
              "type": "null"
            }
          ]
        },
        "EditRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "EntryPoint": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint64",
          "minimum": 0.0
        },
        "Hash": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "IntrinsicDuration": {
          "type": "integer",
          "format": "uint64",
          "minimum": 0.0
        },
        "KeyId": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ImfUuid"
            },
            {
              "type": "null"
            }
          ]
        },
        "Marker": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/MarkerInfo"
          }
        },
        "RepeatCount": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint64",
          "minimum": 0.0
        },
        "SourceDuration": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint64",
          "minimum": 0.0
        },
        "SourceEncoding": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ImfUuid"
            },
            {
              "type": "null"
            }
          ]
        },
        "TrackFileId": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/ImfUuid"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "ResourceList": {
      "type": "object",
      "properties": {
        "Resource": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/Resource"
          }
        }
      }
    },
    "Segment": {
      "type": "object",
      "required": [
        "Id",
        "SequenceList"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "SequenceList": {
          "$ref": "#/definitions/SequenceList"
        }
      }
    },
    "SegmentList": {
      "type": "object",
      "properties": {
        "Segment": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/Segment"
          }
        }
      }
    },
    "SequenceList": {
      "type": "object",
      "properties": {
        "ForcedNarrativeSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/ForcedNarrativeSequence"
          }
        },
        "HearingImpairedCaptionsSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/HearingImpairedCaptionsSequence"
          }
        },
        "IABSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/IABSequence"
          }
        },
        "ISXDSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/ISXDSequence"
          }
        },
        "MainAudioSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/MainAudioSequence"
          }
        },
        "MainImageSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/MainImageSequence"
          }
        },
        "MarkerSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/MarkerSequence"
          }
        },
        "SubtitlesSequence": {
          "default": [],
          "type": "array",
          "items": {
            "$ref": "#/definitions/SubtitlesSequence"
          }
        }
      }
    },
    "SoundfieldGroupLabelSubDescriptor": {
      "description": "Soundfield group label sub-descriptor — contains language and audio content kind",
      "type": "object",
      "properties": {
        "MCAAudioContentKind": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MCATagName": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "MCATagSymbol": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/McaTagSymbol"
            },
            {
              "type": "null"
            }
          ]
        },
        "RFC5646SpokenLanguage": {
          "description": "RFC 5646 language tag — field name varies between vendors",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/LanguageTag"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "SubtitlesSequence": {
      "type": "object",
      "required": [
        "Id",
        "ResourceList",
        "TrackId"
      ],
      "properties": {
        "Id": {
          "$ref": "#/definitions/ImfUuid"
        },
        "ResourceList": {
          "$ref": "#/definitions/ResourceList"
        },
        "TrackId": {
          "$ref": "#/definitions/ImfUuid"
        }
      }
    },
    "TransferCharacteristic": {
      "description": "Opto-electronic transfer function SMPTE Universal Label, per ST 2067-21:2023 §7.2.2.\n\nUsed in `<TransferCharacteristic>` elements in CPL EssenceDescriptors. Byte 8 (registry version) is masked per ST 298M (Architecture Decision 1).",
      "oneOf": [
        {
          "description": "Linear (scene-referred, e.g. ACES) Canonical UL: `060e2b34.04010100.04010101.01010000`",
          "type": "string",
          "enum": [
            "Linear"
          ]
        },
        {
          "description": "ITU-R BT.709 — COLOR.1/2/3 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.01020000`",
          "type": "string",
          "enum": [
            "Bt709"
          ]
        },
        {
          "description": "SMPTE 240M (legacy 1080i) Canonical UL: `060e2b34.04010100.04010101.01030000`",
          "type": "string",
          "enum": [
            "Smpte240M"
          ]
        },
        {
          "description": "xvYCC 709 — COLOR.4 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.01080000`",
          "type": "string",
          "enum": [
            "XvYcc709"
          ]
        },
        {
          "description": "ITU-R BT.2020 (Annex A) — COLOR.5 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.01090000`",
          "type": "string",
          "enum": [
            "Bt2020"
          ]
        },
        {
          "description": "SMPTE ST 2084 (PQ / Perceptual Quantiser) — COLOR.6/7 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.010a0000`",
          "type": "string",
          "enum": [
            "PqSt2084"
          ]
        },
        {
          "description": "ITU-R BT.2100 Hybrid Log-Gamma — COLOR.8 per ST 2067-21:2023 Table 3 Canonical UL: `060e2b34.04010100.04010101.010b0000`",
          "type": "string",
          "enum": [
            "Hlg"
          ]
        },
        {
          "description": "Unrecognised UL; the original string is preserved.",
          "type": "object",
          "required": [
            "Unknown"
          ],
          "properties": {
            "Unknown": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "VideoCodec": {
      "description": "Video codec identified by SMPTE PictureEssenceCoding Universal Label.\n\nPer ST 2067-21:2023 §7.2.5 and Annex F. The full UL-to-codec mapping lives here. Called once at parse time; no runtime string decoding in downstream crates.\n\nNote: VideoCodec ULs have varying item-specific bytes, so we match on byte patterns rather than exact 16-byte comparisons. Byte 8 is still masked.",
      "oneOf": [
        {
          "description": "JPEG 2000 — generic/unspecified profile (ST 422 §A, byte [14]=0x01 without a recognized broadcast sub-level, or other unspecified node UL). Not a recognized IMF Application Profile #2E profile.",
          "type": "string",
          "enum": [
            "Jpeg2000"
          ]
        },
        {
          "description": "JPEG 2000 — IMF 2K profile (ST 422 §A.2, byte [14]=0x02). Supports stored widths ≤ 2048 per ST 2067-21.",
          "type": "string",
          "enum": [
            "Jpeg2000Imf2k"
          ]
        },
        {
          "description": "JPEG 2000 — IMF 4K profile (ST 422 §A.3, byte [14]=0x03). Supports stored widths 2049–4096 per ST 2067-21.",
          "type": "string",
          "enum": [
            "Jpeg2000Imf4k"
          ]
        },
        {
          "description": "JPEG 2000 — Broadcast Contribution profile (ST 422 §A.1, byte [14]=0x01, sub-levels 0x11–0x17). Supports stored widths ≤ 3840 per ST 2067-21.",
          "type": "string",
          "enum": [
            "Jpeg2000Broadcast"
          ]
        },
        {
          "description": "JPEG 2000 Part 15 — High Throughput (ISO 15444-15, ST 2067-21 §6.2.5). Only allowed in App #2E from spec year 2021 onward.",
          "type": "string",
          "enum": [
            "Jpeg2000Ht"
          ]
        },
        {
          "description": "VC-5 (SMPTE ST 2117)",
          "type": "string",
          "enum": [
            "Vc5"
          ]
        },
        {
          "description": "MPEG-2 (ISO 13818-2)",
          "type": "string",
          "enum": [
            "Mpeg2"
          ]
        },
        {
          "description": "H.264 / AVC (ISO 14496-10)",
          "type": "string",
          "enum": [
            "H264"
          ]
        },
        {
          "description": "H.265 / HEVC (ISO 23008-2)",
          "type": "string",
          "enum": [
            "H265"
          ]
        },
        {
          "description": "Apple ProRes (used in some IMF Application profiles)",
          "type": "string",
          "enum": [
            "ProRes"
          ]
        },
        {
          "description": "AV1 (AOMedia Video 1)",
          "type": "string",
          "enum": [
            "Av1"
          ]
        },
        {
          "description": "Unrecognised UL; the original string is preserved.",
          "type": "object",
          "required": [
            "Unknown"
          ],
          "properties": {
            "Unknown": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "VideoSubDescriptors": {
      "description": "SubDescriptors for video (RGBA/CDCI) descriptors",
      "type": "object",
      "properties": {
        "JPEG2000SubDescriptor": {
          "description": "JPEG 2000 Picture Sub Descriptor — Table 14 constraints",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/JPEG2000SubDescriptor"
            },
            {
              "type": "null"
            }
          ]
        },
        "PHDRMetadataTrackSubDescriptor": {
          "description": "Presence indicates Dolby Vision HDR",
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/PHDRMetadataTrackSubDescriptor"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "WAVEPCMDescriptor": {
      "description": "WAVE PCM audio descriptor",
      "type": "object",
      "properties": {
        "AudioSampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "ChannelCount": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "InstanceID": {
          "default": null,
          "type": [
            "string",
            "null"
          ]
        },
        "LinkedTrackID": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "QuantizationBits": {
          "default": null,
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "SampleRate": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/EditRate"
            },
            {
              "type": "null"
            }
          ]
        },
        "SubDescriptors": {
          "default": null,
          "anyOf": [
            {
              "$ref": "#/definitions/AudioSubDescriptors"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    }
  }
}