/*
* myLib - https://github.com/taktod/myLib
* Copyright (c) 2014 ttProject. All rights reserved.
*
* Licensed under The MIT license.
*/
package com.ttProject.frame.h265;
import org.apache.log4j.Logger;
import com.ttProject.unit.extra.BitLoader;
import com.ttProject.unit.extra.bit.Bit1;
import com.ttProject.unit.extra.bit.Bit2;
import com.ttProject.unit.extra.bit.Bit44;
import com.ttProject.unit.extra.bit.Bit5;
import com.ttProject.unit.extra.bit.Bit8;
/**
* information on profileTierLevel.
* this is in vps or sps.
* @author taktod
*/
public class ProfileTierLevel {
/** logger */
private Logger logger = Logger.getLogger(ProfileTierLevel.class);
private Bit2 generalProfileSpace = new Bit2();
private Bit1 generalTierFlag = new Bit1();
private Bit5 generalProfileIdc = new Bit5();
private Bit1[] generalProfileCompatibilityFlags = new Bit1[32];
{
for(int i = 0;i < 32;i ++) {
generalProfileCompatibilityFlags[i] = new Bit1();
}
}
private Bit1 generalProgressiveSourceFlag = new Bit1();
private Bit1 generalInterlacedSourceFlag = new Bit1();
private Bit1 generalNonPackedConstraintFlag = new Bit1();
private Bit1 generalFrameOnlyConstraintFlag = new Bit1();
private Bit44 generalReservedZero44Bit = new Bit44();
private Bit8 generalLevelIdc = new Bit8();
private Bit1[] subLayerProfilePresentFlag = null;
private Bit1[] subLayerLevelPresentFlag = null;
public void minimumLoad(BitLoader loader, int maxSubLayersMinus1) throws Exception {
logger.info("profileTierLevel:" + maxSubLayersMinus1);
if(maxSubLayersMinus1 != 0) {
throw new RuntimeException("unexpected information. I need the sample to improve.");
}
loader.load(generalProfileSpace, generalTierFlag, generalProfileIdc);
loader.load(generalProfileCompatibilityFlags);
loader.load(generalProgressiveSourceFlag,
generalInterlacedSourceFlag,
generalNonPackedConstraintFlag,
generalFrameOnlyConstraintFlag,
generalReservedZero44Bit,
generalLevelIdc);
}
}