package org.jcodec.containers.mp4.boxes; import java.nio.ByteBuffer; /** * This class is part of JCodec ( www.jcodec.org ) This software is distributed * under FreeBSD License * * @author The JCodec project */ public class CleanApertureExtension extends Box { private int vertOffsetDenominator; private int vertOffsetNumerator; private int horizOffsetDenominator; private int horizOffsetNumerator; private int apertureHeightDenominator; private int apertureHeightNumerator; private int apertureWidthDenominator; private int apertureWidthNumerator; public CleanApertureExtension(Header header) { super(header); } public static CleanApertureExtension createCleanApertureExtension(int apertureWidthN, int apertureWidthD, int apertureHeightN, int apertureHeightD, int horizOffN, int horizOffD, int vertOffN, int vertOffD) { CleanApertureExtension clap = new CleanApertureExtension(new Header(fourcc())); clap.apertureWidthNumerator = apertureWidthN; clap.apertureWidthDenominator = apertureWidthD; clap.apertureHeightNumerator = apertureHeightN; clap.apertureHeightDenominator = apertureHeightD; clap.horizOffsetNumerator = horizOffN; clap.horizOffsetDenominator = horizOffD; clap.vertOffsetNumerator = vertOffN; clap.vertOffsetDenominator = vertOffD; return clap; } @Override public void parse(ByteBuffer is) { this.apertureWidthNumerator = is.getInt(); this.apertureWidthDenominator = is.getInt(); this.apertureHeightNumerator = is.getInt(); this.apertureHeightDenominator = is.getInt(); this.horizOffsetNumerator = is.getInt(); this.horizOffsetDenominator = is.getInt(); this.vertOffsetNumerator = is.getInt(); this.vertOffsetDenominator = is.getInt(); } public static String fourcc() { return "clap"; } @Override public void doWrite(ByteBuffer out) { out.putInt((int) this.apertureWidthNumerator); out.putInt((int) this.apertureWidthDenominator); out.putInt((int) this.apertureHeightNumerator); out.putInt((int) this.apertureHeightDenominator); out.putInt((int) this.horizOffsetNumerator); out.putInt((int) this.horizOffsetDenominator); out.putInt((int) this.vertOffsetNumerator); out.putInt((int) this.vertOffsetDenominator); } }