/** * A method that returns the color primaries for underlying image essence * @return Enum representing the quantization type */ public Colorimetry.Quantization getImageQuantization() { Colorimetry.Quantization quantization = Colorimetry.Quantization.Unknown; Integer pixelBitDepth = getImagePixelBitDepth(); Long signalMin = null; Long signalMax = null; if(hasCDCIPictureEssenceDescriptor()) { CDCIPictureEssenceDescriptor.CDCIPictureEssenceDescriptorBO cdciPictureEssenceDescriptorBO = CDCIPictureEssenceDescriptor.CDCIPictureEssenceDescriptorBO.class.cast(this.getInterchangeObjectBOs (CDCIPictureEssenceDescriptor.CDCIPictureEssenceDescriptorBO.class).get(0)); signalMin = cdciPictureEssenceDescriptorBO.getBlackRefLevel(); signalMax = cdciPictureEssenceDescriptorBO.getWhiteRefLevel(); } else if(hasRGBAPictureEssenceDescriptor()) { RGBAPictureEssenceDescriptor.RGBAPictureEssenceDescriptorBO rgbaPictureEssenceDescriptorBO = RGBAPictureEssenceDescriptor.RGBAPictureEssenceDescriptorBO.class.cast(this .getInterchangeObjectBOs (RGBAPictureEssenceDescriptor.RGBAPictureEssenceDescriptorBO.class).get(0)); signalMin = rgbaPictureEssenceDescriptorBO.getComponentMinRef(); signalMax = rgbaPictureEssenceDescriptorBO.getComponentMaxRef(); } if(pixelBitDepth != 0 && signalMax != null && signalMin != null) { quantization = Colorimetry.Quantization.valueOf(pixelBitDepth, signalMin, signalMax); } return quantization; }