Photon is a Java implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard whose core constraints are defined in the specification st2067-2:2013
This Pull Request implement support for IMF Application 4, as specified in SMPTE ST 2067-40:2016.
IMF Application # 4 is a specialization of the IMF Framework, and is intended to exchange content of cinematographic work after digital postproduction either sourced from film or from digital media and can be used in a preservation framework. It specifies:
images encoded using 16-bit XYZ color primaries and a linear transfer function;
maximum image frame width and height of 8192 and 6224 pixels, respectively; and
a constrained Composition structure that mimics the segmentation of movie into individual reels.
As of today, the checks done are not exhaustive, here is some of the parts that could be added :
If Mastering Display metadata is present, shall conform to the list defined in 6.1.2.1.5
If Mastering Display White Point Chromaticity metadata is present, shall conform to the list defined in 6.1.2.1.6
RGBA Picture Essence Descriptor's Pixel Layout item shall conform to 6.1.2.2.3. I'm not really sure about this, the code seems a bit messy in checking PixelLayout right now, there is code for Application 2 and 5 mixed in the CompositionImageEssenceDescriptorModel.java file. If anyone as a recommandation on this, I would be interested to hear it.
CompositionPlayList timeline related constraints (Section 7.8 through 7.10)
A few test cases (CPLs) will probably be added as soon as possible.
This Pull Request implement support for IMF Application 4, as specified in SMPTE ST 2067-40:2016.
As of today, the checks done are not exhaustive, here is some of the parts that could be added :
A few test cases (CPLs) will probably be added as soon as possible.