OS Manuals

/usr/bin/tjbench

Utilities for manipulating JPEG images

From libjpeg-turbo-utils 3.2.1-r0 (os), captured 2026-11-05 by running tjbench --help (exit 1). permalink

USAGE: /usr/bin/tjbench
       <Inputimage (PNG|PPM|PGM|BMP)> <Quality or PSV> [options]

       /usr/bin/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
    Stop after running compression tests.  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]
-noicc
    Do not transfer the embedded ICC profile (if any) from PNG input images or
    to PNG output images.
-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)
-png
    Use PNG format for output images [default = PPM or PGM]
-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, 410, 24, 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.
Options (31)
OptionDescriptionSource
-allocDynamically allocate JPEG buffershelp
-benchtime TRun each benchmark for at least T seconds [default = 5.0]help
-bmpUse Windows Bitmap format for output images [default = PPM or PGM] ** 8-bit data precision only **help
-bottomupUse bottom-up row order for packed-pixel source/destination buffershelp
-componlyStop after running compression tests.help
-losslessGenerate lossless JPEG images when compressing (implies -subsamp 444).help
-maxmemory NMemory limit (in megabytes) for intermediate buffers used with progressive JPEG compression and decompression, Huffman table optimization, lossless JPEG compression, and lossless transformation…help
-maxpixels NInput image size limit (in pixels) [default = no limit]help
-noiccDo not transfer the embedded ICC profile (if any) from PNG input images or to PNG output images.help
-nowriteDo not write reference or output images (improves consistency of benchmark results)help
-pixelformat rgb|bgr|rgbx|bgrx|xbgr|xrgb|grayUse the specified pixel format for packed-pixel source/destination buffers [default = BGR]help
-pngUse PNG format for output images [default = PPM or PGM]help
-precision NUse N-bit data precision when compressing [N = 2..16;help
-quietOutput results in tabular rather than verbose formathelp
-restart NWhen compressing or transforming, add a restart marker every N MCU rows [default = 0 (no restart markers)].help
-strictImmediately discontinue the current compression/decompression/transform operation if a warning (non-fatal error) occurshelp
-tileCompress/transform the input image into separate JPEG tiles of varying sizes (useful for measuring JPEG overhead)help
-warmup TRun 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 resultshelp
-arithmeticUse arithmetic entropy coding in JPEG images generated by compression and transform operations (can be combined with -progressive)help
-copy allCopy all extra markers (including comments, JFIF thumbnails, Exif data, and ICC profile data) when transforming the input image [default]help
-crop WxH+X+YDecompress 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…help
-dct fastUse less accurate DCT/IDCT algorithm [legacy feature]help
-grayscaleTransform the input image into a grayscale JPEG image prior to decompression (can be combined with the other transform operations above)help
-maxscans NRefuse to decompress or transform progressive JPEG images that have more than N scanshelp
-nosmoothUse the fastest chrominance upsampling algorithm availablehelp
-optimizeCompute optimal Huffman tables for JPEG images generated by compession and transform operationshelp
-progressiveGenerate progressive JPEG images when compressing or transforming (can be combined with -arithmetic;help
-scale M/NWhen 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)help
-subsamp SWhen compressing, use the specified level of chrominance subsampling (S = 444, 422, 440, 420, 411, 441, 410, 24, or GRAY) [default = test Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]help
-yuvCompress from/decompress to intermediate planar YUV images ** 8-bit data precision only **help
-yuvpad NThe 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]help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.