libjpeg-turbo and libjpeg62 benchmark

  • tjbench is used to benchmark the performance of libjpeg-turbo and libjpeg62.
  • libjpeg-turbo-1.1.90-11.09 (rev 702) is currently integrated by default.
  • tjbench is built automatically under external/jpeg and it is dynamically linked with libjpeg-turbo.
  • tjbench-libjpeg62 is a pre-built tool statically linked with libjpeg62.
  • external/jpeg/nightshot_iso_100.ppm is suggested to be used as the test input file.

Test Procedure

  • Download proper images onto the board which should contain tjbench-libjpeg62.
  • Copy external/jpeg/nightshot_iso_100.ppm onto the board. It is not recommended to put nightshot_iso_100.ppm on SD card.
    • One option is to generate a tmpfs:
      • mkdir /mnt/mytmpfs
      • mount -t tmpfs -o mode=777 tmpfs /mnt/mytmpfs
      • then copy nightshot_iso_100.ppm to /mnt/mytmpfs
  • Run the following commands and paste the console output below.
    • tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb -quiet scale 1/2
    • tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb
    • tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb -quiet scale 1/2
    • tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb

Panda

  • Android version: 2.3.5
  • Build version: panda 11.10 candidate tip
  • CPU: OMAP4430 Dual-core Cortex-A9 MPCore @ 1 Gz
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

=== Test Case 1: Quality 95 ===

tjbench

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb -quiet scale 1/2

All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    95      3136  2352      18.37   18.87   30.20

RGB     TD      4:2:0   95      3136  2352      16.43   15.53   19.24

RGB     TD      4:2:2   95      3136  2352      13.80   13.48   16.41

RGB     TD      4:4:4   95      3136  2352      10.80   10.84   16.49


# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb

>>>>>  RGB (Top-down) <--> JPEG GRAY Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.489329 fps
     Output image size:    1172826 bytes
     Compression ratio:    18.866921:1
     Source throughput:    18.360975 Megapixels/sec
     Output bit stream:    23.356402 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q95.jpg
D--> Frame rate:           4.098732 fps
     Dest. throughput:     30.231721 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.232394 fps
     Output image size:    1425172 bytes
     Compression ratio:    15.526278:1
     Source throughput:    16.465850 Megapixels/sec
     Output bit stream:    25.452360 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_420_Q95.jpg
D--> Frame rate:           2.609704 fps
     Dest. throughput:     19.248843 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_420_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.867133 fps
     Output image size:    1641629 bytes
     Compression ratio:    13.479060:1
     Source throughput:    13.771734 Megapixels/sec
     Output bit stream:    24.521117 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_422_Q95.jpg
D--> Frame rate:           2.220380 fps
     Dest. throughput:     16.377240 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_422_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.463388 fps
     Output image size:    2040975 bytes
     Compression ratio:    10.841689:1
     Source throughput:    10.793761 Megapixels/sec
     Output bit stream:    23.893903 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_444_Q95.jpg
D--> Frame rate:           2.230216 fps
     Dest. throughput:     16.449787 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_444_Q95_full-err.ppm.

tjbench-libjpeg62

# tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb -quiet scale 1/2

All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    95      3136  2352      8.403   18.87   27.84

RGB     TD      4:2:0   95      3136  2352      5.312   15.53   9.475

RGB     TD      4:2:2   95      3136  2352      4.415   13.48   8.513

RGB     TD      4:4:4   95      3136  2352      3.339   10.84   8.089

# tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb

>>>>>  RGB (Top-down) <--> JPEG GRAY Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.141377 fps
     Output image size:    1172826 bytes
     Compression ratio:    18.866921:1
     Source throughput:    8.418654 Megapixels/sec
     Output bit stream:    10.709097 Megabits/sec
Reference image written to /data/nightshot_iso_100_GRAY_Q95.jpg
D--> Frame rate:           3.779447 fps
     Dest. throughput:     27.876715 Megapixels/sec
Compression error written to /data/nightshot_iso_100_GRAY_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.717845 fps
     Output image size:    1425172 bytes
     Compression ratio:    15.526278:1
     Source throughput:    5.294731 Megapixels/sec
     Output bit stream:    8.184419 Megabits/sec
Reference image written to /data/nightshot_iso_100_420_Q95.jpg
D--> Frame rate:           1.284163 fps
     Dest. throughput:     9.471824 Megapixels/sec
Compression error written to /data/nightshot_iso_100_420_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.597273 fps
     Output image size:    1641629 bytes
     Compression ratio:    13.479060:1
     Source throughput:    4.405411 Megapixels/sec
     Output bit stream:    7.844008 Megabits/sec
Reference image written to /data/nightshot_iso_100_422_Q95.jpg
D--> Frame rate:           1.154074 fps
     Dest. throughput:     8.512301 Megapixels/sec
Compression error written to /data/nightshot_iso_100_422_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.452803 fps
     Output image size:    2040975 bytes
     Compression ratio:    10.841689:1
     Source throughput:    3.339817 Megapixels/sec
     Output bit stream:    7.393278 Megabits/sec
Reference image written to /data/nightshot_iso_100_444_Q95.jpg
D--> Frame rate:           1.096133 fps
     Dest. throughput:     8.084940 Megapixels/sec
Compression error written to /data/nightshot_iso_100_444_Q95_full-err.ppm.

=== Test Case 2: Quality 75 ===

tjbench

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb -quiet scale 1/2

All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    75      3136  2352      22.83   58.51   41.56

RGB     TD      4:2:0   75      3136  2352      21.03   48.08   24.41

RGB     TD      4:2:2   75      3136  2352      17.72   41.85   20.80

RGB     TD      4:4:4   75      3136  2352      14.04   34.09   22.79

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb

>>>>>  RGB (Top-down) <--> JPEG GRAY Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           3.102058 fps
     Output image size:    378178 bytes
     Compression ratio:    58.511114:1
     Source throughput:    22.880379 Megapixels/sec
     Output bit stream:    9.385039 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75.jpg
D--> Frame rate:           5.666737 fps
     Dest. throughput:     41.797123 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.858954 fps
     Output image size:    460213 bytes
     Compression ratio:    48.081249:1
     Source throughput:    21.087280 Megapixels/sec
     Output bit stream:    10.525823 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_420_Q75.jpg
D--> Frame rate:           3.318298 fps
     Dest. throughput:     24.475343 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_420_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.409125 fps
     Output image size:    528752 bytes
     Compression ratio:    41.848761:1
     Source throughput:    17.769401 Megapixels/sec
     Output bit stream:    10.190639 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_422_Q75.jpg
D--> Frame rate:           2.818866 fps
     Dest. throughput:     20.791594 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_422_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.901899 fps
     Output image size:    649081 bytes
     Compression ratio:    34.090685:1
     Source throughput:    14.028160 Megapixels/sec
     Output bit stream:    9.875890 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_444_Q75.jpg
D--> Frame rate:           3.083866 fps
     Dest. throughput:     22.746200 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_444_Q75_full-err.ppm.

tjbench-libjpeg62

# tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb -quiet scale 1/2
All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    75      3136  2352      10.44   58.51   42.34

RGB     TD      4:2:0   75      3136  2352      6.246   48.08   11.09

RGB     TD      4:2:2   75      3136  2352      5.169   41.85   10.07

RGB     TD      4:4:4   75      3136  2352      3.893   34.09   9.974

# tjbench-libjpeg62 /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb

>>>>>  RGB (Top-down) <--> JPEG GRAY Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.414067 fps
     Output image size:    378178 bytes
     Compression ratio:    58.511114:1
     Source throughput:    10.429978 Megapixels/sec
     Output bit stream:    4.278153 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75.jpg
D--> Frame rate:           5.734548 fps
     Dest. throughput:     42.297293 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.847884 fps
     Output image size:    460213 bytes
     Compression ratio:    48.081249:1
     Source throughput:    6.253883 Megapixels/sec
     Output bit stream:    3.121657 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_420_Q75.jpg
D--> Frame rate:           1.502654 fps
     Dest. throughput:     11.083383 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_420_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.701269 fps
     Output image size:    528752 bytes
     Compression ratio:    41.848761:1
     Source throughput:    5.172467 Megapixels/sec
     Output bit stream:    2.966377 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_422_Q75.jpg
D--> Frame rate:           1.363329 fps
     Dest. throughput:     10.055739 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_422_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           0.527306 fps
     Output image size:    649081 bytes
     Compression ratio:    34.090685:1
     Source throughput:    3.889339 Megapixels/sec
     Output bit stream:    2.738113 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_444_Q75.jpg
D--> Frame rate:           1.352708 fps
     Dest. throughput:     9.977401 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_444_Q75_full-err.ppm.

=== Test Case 3: Smaller Image ===

tjbench

tjbench-libjpeg62

Beagle

  • Android version: 2.3.5
  • Build version: beagle 11.10 candidate tip
  • CPU:
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

tjbench

tjbench-libjpeg62

IMX53

  • Android version: 2.3.5
  • Build version: staging-imx53 11.10 candidate tip
  • CPU:
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

tjbench

tjbench-libjpeg62

  • Ubuntu image version: Linaro 11.07 (development branch)
  • Build version: Linux version 2.6.35-1001-linaro-lt-mx53 (buildd@crabapple) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-5ubuntu1) ) #1-Ubuntu PREEMPT Tue Mar 8 03:16:18 UTC 2011
  • CPU: IMX53 solo-core Cortex-A8 @ 1 Gz
  • GCC version: gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-5ubuntu1)
  • -O3 enabled: not sure

=== Test Case 1: Quality 95 ===

tjbench

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb -quiet scale 1/2

All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    95      3136  2352      20.31   18.87   37.94

RGB     TD      4:2:0   95      3136  2352      19.63   15.53   24.90

RGB     TD      4:2:2   95      3136  2352      16.27   13.48   20.03

RGB     TD      4:4:4   95      3136  2352      12.25   10.84   21.46

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 95 -rgb 

>>>>>  RGB (Top-down) <--> JPEG GRAY Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.755328 fps
     Output image size:    1172826 bytes
     Compression ratio:    18.866921:1
     Source throughput:    20.322950 Megapixels/sec
     Output bit stream:    25.852166 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q95.jpg
D--> Frame rate:           5.188751 fps
     Dest. throughput:     38.271562 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.670429 fps
     Output image size:    1425172 bytes
     Compression ratio:    15.526278:1
     Source throughput:    19.696740 Megapixels/sec
     Output bit stream:    30.446561 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_420_Q95.jpg
D--> Frame rate:           3.373772 fps
     Dest. throughput:     24.884513 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_420_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.210900 fps
     Output image size:    1641629 bytes
     Compression ratio:    13.479060:1
     Source throughput:    16.307312 Megapixels/sec
     Output bit stream:    29.035815 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_422_Q95.jpg
D--> Frame rate:           2.714926 fps
     Dest. throughput:     20.024944 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_422_Q95_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q95  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           1.669217 fps
     Output image size:    2040975 bytes
     Compression ratio:    10.841689:1
     Source throughput:    12.311930 Megapixels/sec
     Output bit stream:    27.254639 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_444_Q95.jpg
D--> Frame rate:           2.912328 fps
     Dest. throughput:     21.480962 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_444_Q95_full-err.ppm.

tjbench-libjpeg62

=== Test Case 2: Quality 75 ===

tjbench

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb -quiet scale 1/2

All performance values in Mpixels/sec

Bitmap  Bitmap  JPEG    JPEG    Image Image     Comp    Comp    Decomp
Format  Order   Subsamp Qual    Width Height    Perf    Ratio   Perf

RGB     TD      GRAY    75      3136  2352      23.45   58.51   54.58

RGB     TD      4:2:0   75      3136  2352      24.21   48.08   32.74

RGB     TD      4:2:2   75      3136  2352      19.17   41.85   26.00

RGB     TD      4:4:4   75      3136  2352      15.73   34.09   30.69

# tjbench /mnt/mytmpfs/nightshot_iso_100.ppm 75 -rgb

>>>>>  RGB (Top-down) <--> JPEG GRAY Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           3.183945 fps
     Output image size:    378178 bytes
     Compression ratio:    58.511114:1
     Source throughput:    23.484368 Megapixels/sec
     Output bit stream:    9.632783 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75.jpg
D--> Frame rate:           7.397398 fps
     Dest. throughput:     54.562258 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_GRAY_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:0 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           3.254548 fps
     Output image size:    460213 bytes
     Compression ratio:    48.081249:1
     Source throughput:    24.005128 Megapixels/sec
     Output bit stream:    11.982281 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_420_Q75.jpg
D--> Frame rate:           4.458965 fps
     Dest. throughput:     32.888753 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_420_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:2:2 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.610003 fps
     Output image size:    528752 bytes
     Compression ratio:    41.848761:1
     Source throughput:    19.251050 Megapixels/sec
     Output bit stream:    11.040355 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_422_Q75.jpg
D--> Frame rate:           3.527105 fps
     Dest. throughput:     26.015477 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_422_Q75_full-err.ppm.

>>>>>  RGB (Top-down) <--> JPEG 4:4:4 Q75  <<<<<

Image size: 3136 x 2352
C--> Frame rate:           2.140032 fps
     Output image size:    649081 bytes
     Compression ratio:    34.090685:1
     Source throughput:    15.784599 Megapixels/sec
     Output bit stream:    11.112431 Megabits/sec
Reference image written to /mnt/mytmpfs/nightshot_iso_100_444_Q75.jpg
D--> Frame rate:           4.157744 fps
     Dest. throughput:     30.666988 Megapixels/sec
Compression error written to /mnt/mytmpfs/nightshot_iso_100_444_Q75_full-err.ppm.

tjbench-libjpeg62

Origen

  • Android version: 2.3.5
  • Build version: staging-origen 11.10 candidate tip
  • CPU:
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

tjbench

tjbench-libjpeg62

Snowball

  • Android version: 2.3.5
  • Build version: staging-snowball 11.10 candidate tip
  • CPU:
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

tjbench

tjbench-libjpeg62

OMAP4460

  • Android version: 2.3.5
  • Build version: staging-omap4460 tip
  • CPU:
  • GCC version: linaro-android 4.6 11.10 candidate tip
  • -O3 enabled: Yes

tjbench

tjbench-libjpeg62

ChaoYang/Sandbox/tjbench (last modified 2011-11-21 06:48:51)