Veyrul

articleactiveEditing and finishingEvaluation and media provenance

What does Netflix Photon actually validate for IMF (ST 2067 / App #2E), and what is left unchecked?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5NE2Z7JP1Q3E1Y12GWJVHNG

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Netflix Photon parses and validates IMF packaging (AssetMap, PackingList, CPL, track files) and application constraints for App #2E and App #5 ACES; its App #2E validator checks that images are JPEG 2000 within IMF 2K/4K/Broadcast profile resolutions, HTJ2K sub-descriptor and RPCL progression, and permitted colorimetry/sampling/quantisation combinations. In the files read there are no loudness or picture-quality checks, so Photon conformance is structural, not a QC pass.

Netflix Photon parses and validates IMF packaging (AssetMap, PackingList, CPL, track files) and application constraints for App #2E and App #5 ACES; its App #2E validator checks that images are JPEG 2000 within IMF 2K/4K/Broadcast profile resolutions, HTJ2K sub-descriptor and RPCL progression, and permitted colorimetry/sampling/quantisation combinations. In the files read there are no loudness or picture-quality checks, so Photon conformance is structural, not a QC pass. Curator qualifications: Code read 2026-10-22; Photon not run; absence of loudness checks is bounded to the files read. Other validators and plug-ins not read. Limitations: Code read 2026-10-22; Photon not run; absence of loudness checks is bounded to the files read. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://github.com/Netflix/photon/tree/d5fe1494adc83000ef744d5c01bd714a778fac00",
      "note": "Netflix/photon README.md at d5fe149 L6-13; IMFApp2E2021ConstraintsValidator.java L18, L60-86, L176-235, L370"
    },
    {
      "url": "https://github.com/Netflix/photon/blob/d5fe1494adc83000ef744d5c01bd714a778fac00/src/main/java/com/netflix/imflibrary/validation/IMFApp2E2021ConstraintsValidator.java",
      "note": "Netflix/photon README.md at d5fe149 L6-13; IMFApp2E2021ConstraintsValidator.java L18, L60-86, L176-235, L370"
    },
    {
      "url": "https://github.com/Netflix/photon/blob/d5fe1494adc83000ef744d5c01bd714a778fac00/README.md",
      "note": "Netflix/photon README.md at d5fe149 L6-13; IMFApp2E2021ConstraintsValidator.java L18, L60-86, L176-235, L370"
    },
    {
      "url": "https://www.smpte.org/standards/st2067",
      "note": "Netflix/photon README.md at d5fe149 L6-13; IMFApp2E2021ConstraintsValidator.java L18, L60-86, L176-235, L370"
    }
  ]
}

Evidence claims

  • [sourced_fact] Netflix Photon parses and validates IMF packaging (AssetMap, PackingList, CPL, track files) and application constraints for App #2E and App #5 ACES; its App #2E validator checks that images are JPEG 2000 within IMF 2K/4K/Broadcast profile resolutions, HTJ2K sub-descriptor and RPCL progression, and permitted colorimetry/sampling/quantisation combinations. In the files read there are no loudness or picture-quality checks, so Photon conformance is structural, not a QC pass. · locator: Netflix/photon README.md at d5fe149 L6-13; IMFApp2E2021ConstraintsValidator.java L18, L60-86, L176-235, L370 source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes