BOOL LLImageJ2CKDU::initEncode(LLImageJ2C &base, LLImageRaw &raw_image, int blocks_size, int precincts_size, int levels) { mPrecinctsSize = precincts_size; if (mPrecinctsSize != -1) { mPrecinctsSize = get_lower_power_two(mPrecinctsSize,MAX_PRECINCT_SIZE); mPrecinctsSize = llmax(mPrecinctsSize,MIN_PRECINCT_SIZE); } mBlocksSize = blocks_size; if (mBlocksSize != -1) { mBlocksSize = get_lower_power_two(mBlocksSize,MAX_BLOCK_SIZE); mBlocksSize = llmax(mBlocksSize,MIN_BLOCK_SIZE); if (mPrecinctsSize != -1) { mBlocksSize = llmin(mBlocksSize,mPrecinctsSize); // blocks *must* be smaller than precincts } } mLevels = levels; if (mLevels != 0) { mLevels = llclamp(mLevels,MIN_DECOMPOSITION_LEVELS,MAX_DECOMPOSITION_LEVELS); base.setLevels(mLevels); } return TRUE; }
BOOL InWorldzJ2C::initEncode(ImageBaseForKDU& base, S32 blocks_size, S32 precincts_size, S32 levels) { mPrecinctsSize = precincts_size; if (mPrecinctsSize != -1) { mPrecinctsSize = get_lower_power_two(mPrecinctsSize,MAX_PRECINCT_SIZE); mPrecinctsSize = llmax(mPrecinctsSize,MIN_PRECINCT_SIZE); } mBlocksSize = blocks_size; if (mBlocksSize != -1) { mBlocksSize = get_lower_power_two(mBlocksSize,MAX_BLOCK_SIZE); mBlocksSize = llmax(mBlocksSize,MIN_BLOCK_SIZE); if (mPrecinctsSize != -1) { mBlocksSize = llmin(mBlocksSize,mPrecinctsSize); // blocks *must* be smaller than precincts } } mLevels = levels; if (mLevels != 0) { mLevels = llclamp(mLevels,MIN_DECOMPOSITION_LEVELS,MIN_DECOMPOSITION_LEVELS); } return TRUE; }