Scroll to navigation

TJBENCH(1) User Commands TJBENCH(1)

NAME

tjbench - benchmark the performance of libjpeg-turbo

DESCRIPTION

tjbench is a JPEG decompression/compression benchmark part of libjpeg-turbo.

USAGE

tjbench <Inputimage (BMP|PPM|PGM)> <Quality or PSV> [options]
tjbench <Inputimage (JPG)> [options]

GENERAL OPTIONS (CAN BE ABBREVIATED) ------------------------------------ -alloc

Dynamically allocate JPEG buffers

-benchtime T

Run each benchmark for at least T seconds [default = 5.0]

-bmp

Use Windows Bitmap format for output images [default = PPM or PGM] ** 8-bit data precision only **

-bottomup

Use bottom-up row order for packed-pixel source/destination buffers

-componly

Do not test decompression.

-lossless

Generate lossless JPEG images when compressing (implies -subsamp 444). PSV is the predictor selection value (1-7).

-maxmemory N

Memory limit (in megabytes) for intermediate buffers used with progressive JPEG compression and decompression, Huffman table optimization, lossless JPEG compression, and lossless transformation [default = no limit]

-maxpixels N

Input image size limit (in pixels) [default = no limit]

-nowrite

Do not write reference or output images (improves consistency of benchmark results)

-pixelformat {rgb|bgr|rgbx|bgrx|xbgr|xrgb|gray}

Use the specified pixel format for packed-pixel source/destination buffers [default = BGR]

-pixelformat cmyk

Indirectly test YCCK JPEG compression/decompression (use the CMYK pixel format for packed-pixel source/destination buffers)

-precision N

Use N-bit data precision when compressing [N = 2..16; default = 8; if N is not 8 or 12, then -lossless must also be specified] (-precision 12 implies -optimize unless -arithmetic is also specified)

-quiet

Output results in tabular rather than verbose format

-restart N

When compressing or transforming, add a restart marker every N MCU rows [default = 0 (no restart markers)]. Append 'B' to specify the restart marker interval in MCUs (lossy only.)

-strict

Immediately discontinue the current compression/decompression/transform operation if a warning (non-fatal error) occurs

-tile

Compress/transform the input image into separate JPEG tiles of varying sizes (useful for measuring JPEG overhead)

-warmup T

Run each benchmark for T seconds [default = 1.0] prior to starting the timer, in order to prime the caches and thus improve the consistency of the benchmark results

LOSSY JPEG OPTIONS (CAN BE ABBREVIATED) --------------------------------------- -arithmetic

Use arithmetic entropy coding in JPEG images generated by compression and transform operations (can be combined with -progressive)

-copy all

Copy all extra markers (including comments, JFIF thumbnails, Exif data, and ICC profile data) when transforming the input image [default]

-copy none

Do not copy any extra markers when transforming the input image

-crop WxH+X+Y

Decompress only the specified region of the JPEG image, where W and H are the width and height of the region (0 = maximum possible width or height) and X and Y are the left and upper boundary of the region, all specified relative to the scaled image dimensions. X must be divible by the scaled iMCU width.

-dct fast

Use less accurate DCT/IDCT algorithm [legacy feature]

-dct int

Use more accurate DCT/IDCT algorithm [default]

-flip {horizontal|vertical}, -rotate {90|180|270}, -transpose, -transverse

Perform the specified lossless transform operation on the input image prior to decompression (these operations are mutually exclusive)

-grayscale

Transform the input image into a grayscale JPEG image prior to decompression (can be combined with the other transform operations above)

-maxscans N

Refuse to decompress or transform progressive JPEG images that have more than N scans

-nosmooth

Use the fastest chrominance upsampling algorithm available

-optimize

Compute optimal Huffman tables for JPEG images generated by compession and transform operations

-progressive

Generate progressive JPEG images when compressing or transforming (can be combined with -arithmetic; implies -optimize unless -arithmetic is also specified)

-scale M/N

When decompressing, scale the width/height of the JPEG image by a factor of M/N (M/N = 2/1, 15/8, 7/4, 13/8, 3/2, 11/8, 5/4, 9/8, 1/1, 7/8, 3/4, 5/8, 1/2, 3/8, 1/4, or 1/8)

-subsamp S

When compressing, use the specified level of chrominance subsampling (S = 444, 422, 440, 420, 411, 441, or GRAY) [default = test Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]

-yuv

Compress from/decompress to intermediate planar YUV images ** 8-bit data precision only **

-yuvpad N

The number of bytes by which each row in each plane of an intermediate YUV image is evenly divisible (N must be a power of 2) [default = 1]

NOTE: If the quality/PSV is specified as a range (e.g. 90-100 or 1-4), a separate test will be performed for all values in the range.

COMMENT

This manual page was written by Mathieu Malaterre <malat@debian.org> for the Debian GNU/Linux system, but may be used by others.

COPYRIGHT

Copyright (C)2009-2019, 2021 D. R. Commander. All Rights Reserved.

October 2025 tjbench 3.1.3