com.drew.metadata.heif.boxes.ColourInformationBox Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of metadata-extractor Show documentation
Show all versions of metadata-extractor Show documentation
Java library for extracting EXIF, IPTC, XMP, ICC and other metadata from image and video files.
package com.drew.metadata.heif.boxes;
import com.drew.lang.ByteArrayReader;
import com.drew.lang.SequentialReader;
import com.drew.metadata.Metadata;
import com.drew.metadata.heif.HeifDirectory;
import com.drew.metadata.icc.IccReader;
import java.io.IOException;
/**
* ISO/IEC 14496-12:2015 pg.159
*/
public class ColourInformationBox extends Box
{
String colourType;
int colourPrimaries;
int transferCharacteristics;
int matrixCoefficients;
int fullRangeFlag;
public ColourInformationBox(SequentialReader reader, Box box, Metadata metadata) throws IOException
{
super(box);
colourType = reader.getString(4);
if (colourType.equals("nclx")) {
colourPrimaries = reader.getUInt16();
transferCharacteristics = reader.getUInt16();
matrixCoefficients = reader.getUInt16();
// Last 7 bits are reserved
fullRangeFlag = (reader.getUInt8() & 0x80) >> 7;
} else if (colourType.equals("rICC")) {
byte[] buffer = reader.getBytes((int)(size - 12));
new IccReader().extract(new ByteArrayReader(buffer), metadata);
} else if (colourType.equals("prof")) {
byte[] buffer = reader.getBytes((int)(size - 12));
new IccReader().extract(new ByteArrayReader(buffer), metadata);
}
}
public void addMetadata(HeifDirectory directory)
{
}
}