in java/TJUnitTest.java [846:897]
static void doTest(int w, int h, int[] formats, int subsamp, String baseName)
throws Exception {
TJCompressor tjc = null;
TJDecompressor tjd = null;
int size;
byte[] dstBuf;
if (lossless && subsamp != TJ.SAMP_GRAY)
subsamp = TJ.SAMP_444;
dstBuf = new byte[TJ.bufSize(w, h, subsamp)];
try {
tjc = new TJCompressor();
tjd = new TJDecompressor();
if (lossless) {
tjc.set(TJ.PARAM_LOSSLESS, 1);
tjc.set(TJ.PARAM_LOSSLESSPSV, ((psv++ - 1) % 7) + 1);
} else {
tjc.set(TJ.PARAM_QUALITY, 100);
if (subsamp == TJ.SAMP_422 || subsamp == TJ.SAMP_420 ||
subsamp == TJ.SAMP_440 || subsamp == TJ.SAMP_411 ||
subsamp == TJ.SAMP_441)
tjd.set(TJ.PARAM_FASTUPSAMPLE, 1);
}
tjc.set(TJ.PARAM_SUBSAMP, subsamp);
for (int pf : formats) {
if (pf < 0) continue;
for (int i = 0; i < 2; i++) {
tjc.set(TJ.PARAM_BOTTOMUP, i == 1 ? 1 : 0);
tjd.set(TJ.PARAM_BOTTOMUP, i == 1 ? 1 : 0);
size = compTest(tjc, dstBuf, w, h, pf, baseName);
decompTest(tjd, dstBuf, size, w, h, pf, baseName, subsamp);
if (pf >= TJ.PF_RGBX && pf <= TJ.PF_XRGB && !bi) {
System.out.print("\n");
decompTest(tjd, dstBuf, size, w, h, pf + (TJ.PF_RGBA - TJ.PF_RGBX),
baseName, subsamp);
}
System.out.print("\n");
}
}
System.out.print("--------------------\n\n");
} catch (Exception e) {
if (tjc != null) tjc.close();
if (tjd != null) tjd.close();
throw e;
}
if (tjc != null) tjc.close();
if (tjd != null) tjd.close();
}