TJBench: Allow 'X' in crop spec

(for consistency with djpeg and jpegtran)
This commit is contained in:
DRC
2024-08-26 10:31:19 -04:00
parent fd9b21b69b
commit 4ceaf8b700
3 changed files with 8 additions and 6 deletions

View File

@@ -950,7 +950,7 @@ final class TJBench {
xformOpt |= TJTransform.OPT_COPYNONE;
else if (matchArg(argv[i], "-crop", 3) && i < argv.length - 1) {
int temp1 = -1, temp2 = -1, temp3 = -1, temp4 = -1;
Scanner scanner = new Scanner(argv[++i]).useDelimiter("x|\\+");
Scanner scanner = new Scanner(argv[++i]).useDelimiter("x|X|\\+");
try {
temp1 = scanner.nextInt();

View File

@@ -1063,10 +1063,12 @@ int main(int argc, char *argv[])
xformOpt |= TJXOPT_COPYNONE;
else if (MATCH_ARG(argv[i], "-crop", 3) && i < argc - 1) {
int temp1 = -1, temp2 = -1, temp3 = -1, temp4 = -1;
char tempc;
if (sscanf(argv[++i], "%dx%d+%d+%d", &temp1, &temp2, &temp3,
&temp4) == 4 &&
temp1 >= 0 && temp2 >= 0 && temp3 >= 0 && temp4 >= 0) {
if (sscanf(argv[++i], "%d%c%d+%d+%d", &temp1, &tempc, &temp2, &temp3,
&temp4) == 5 &&
temp1 >= 0 && (tempc == 'x' || tempc == 'X') && temp2 >= 0 &&
temp3 >= 0 && temp4 >= 0) {
cr.w = temp1; cr.h = temp2; cr.x = temp3; cr.y = temp4;
} else usage(argv[0]);
} else if (MATCH_ARG(argv[i], "-custom", 3))

View File

@@ -319,11 +319,11 @@ for image in $IMAGES; do
CROPL7_8=28
fi
runme $EXEDIR/djpeg -rg -cr ${CROPW8_8}x90+${CROPL8_8}+5 $NSARG -outf $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm $OUTDIR/${basename}_${samp}_accurate_cjpeg.jpg
runme $TJBENCH $OUTDIR/${basename}_${samp}_Q${TJQUAL}.jpg -cr ${CROPW8_8}x90+${CROPL8_8}+5 -q -be 0.01 -w 0 ${dctarg} $YUVARG $ALLOCARG $ENTROPYARG $LOSSLSARG
runme $TJBENCH $OUTDIR/${basename}_${samp}_Q${TJQUAL}.jpg -cr ${CROPW8_8}X90+${CROPL8_8}+5 -q -be 0.01 -w 0 ${dctarg} $YUVARG $ALLOCARG $ENTROPYARG $LOSSLSARG
runme cmp $OUTDIR/${basename}_${samp}_Q${TJQUAL}_full.ppm $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm
rm $OUTDIR/${basename}_${samp}_Q${TJQUAL}_full.ppm $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm
runme $EXEDIR/djpeg -rg -s 14/16 -cr ${CROPW7_8}x81+${CROPL7_8}+3 $NSARG -outf $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm $OUTDIR/${basename}_${samp}_accurate_cjpeg.jpg
runme $EXEDIR/djpeg -rg -s 14/16 -cr ${CROPW7_8}X81+${CROPL7_8}+3 $NSARG -outf $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm $OUTDIR/${basename}_${samp}_accurate_cjpeg.jpg
runme $TJBENCH $OUTDIR/${basename}_${samp}_Q${TJQUAL}.jpg -s 7/8 -cr ${CROPW7_8}x81+${CROPL7_8}+3 -q -be 0.01 -w 0 ${dctarg} $YUVARG $ALLOCARG $ENTROPYARG $LOSSLSARG
runme cmp $OUTDIR/${basename}_${samp}_Q${TJQUAL}_7_8.ppm $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm
rm $OUTDIR/${basename}_${samp}_Q${TJQUAL}_7_8.ppm $OUTDIR/${basename}_${samp}_scale_crop_djpeg.ppm