Skip to content

Add SMPTE ST 2067-201:2026 IAB support#417

Draft
fschleich wants to merge 1 commit into
Netflix:masterfrom
fschleich:feature/st2067-201-2026
Draft

Add SMPTE ST 2067-201:2026 IAB support#417
fschleich wants to merge 1 commit into
Netflix:masterfrom
fschleich:feature/st2067-201-2026

Conversation

@fschleich

Copy link
Copy Markdown
Contributor

Update the IAB IMF plug-in implementation for the 2026 revision of SMPTE ST 2067-201, covering the changes observable in IMF/MXF metadata.

Parsing:

  • Add IABMaxObjectCount item to IABEssenceDescriptor (Table 3).
  • Add IABChannelSubDescriptor (Annex E): new class + BO, set-key and item ULs registered in StructuralMetadata, wired into HeaderPartition.

Validation (IABTrackFileConstraints, MXF path):

  • Adopt MCA Content / MCA Use Class: warn when absent (should be present) and, when present, validate values and combination against SMPTE ST 377-41:2023 Tables 2, 3 and 4. Stop flagging the now-deprecated MCA Audio Content/Element Kind as missing.
  • Validate IABChannelSubDescriptor required items and the IABAudioDescriptionText / IABAudioDescription MSB rule (Annex E.2.5).

Validation (IMFIABConstraintsChecker, CPL-only path):

  • Apply the same MCA Content / Use Class value and combination checks so a CPL-only validation catches them when no track files are available.

Tooling:

  • IMFTrackFileCPLBuilder now emits an IABSequence for IAB track files instead of failing with "only Audio/Image supported".

Misc:

  • Report the constraints specification as SMPTE ST 2067-201:2026.

Tests:

  • New CompleteIMP2026 IMP exercising IABMaxObjectCount and IABChannelSubDescriptor end-to-end (IAB2026CompleteIMPTest).
  • CPL fixtures + IABCompositionTest cases for invalid MCA Content value, invalid MCA Use Class value, invalid combination, and a valid case.
  • IMFTrackFileCPLBuilder IAB test.

Update the IAB IMF plug-in implementation for the 2026 revision of
SMPTE ST 2067-201, covering the changes observable in IMF/MXF metadata.

Parsing:
- Add IABMaxObjectCount item to IABEssenceDescriptor (Table 3).
- Add IABChannelSubDescriptor (Annex E): new class + BO, set-key and
  item ULs registered in StructuralMetadata, wired into HeaderPartition.

Validation (IABTrackFileConstraints, MXF path):
- Adopt MCA Content / MCA Use Class: warn when absent (should be present)
  and, when present, validate values and combination against
  SMPTE ST 377-41:2023 Tables 2, 3 and 4. Stop flagging the now-deprecated
  MCA Audio Content/Element Kind as missing.
- Validate IABChannelSubDescriptor required items and the
  IABAudioDescriptionText / IABAudioDescription MSB rule (Annex E.2.5).

Validation (IMFIABConstraintsChecker, CPL-only path):
- Apply the same MCA Content / Use Class value and combination checks so a
  CPL-only validation catches them when no track files are available.

Tooling:
- IMFTrackFileCPLBuilder now emits an IABSequence for IAB track files
  instead of failing with "only Audio/Image supported".

Misc:
- Report the constraints specification as SMPTE ST 2067-201:2026.

Tests:
- New CompleteIMP2026 IMP exercising IABMaxObjectCount and
  IABChannelSubDescriptor end-to-end (IAB2026CompleteIMPTest).
- CPL fixtures + IABCompositionTest cases for invalid MCA Content value,
  invalid MCA Use Class value, invalid combination, and a valid case.
- IMFTrackFileCPLBuilder IAB test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@fschleich fschleich requested a review from davidt-netflix June 25, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant