]> granicus.if.org Git - libjpeg-turbo/log
libjpeg-turbo
10 years agoReformat code per Siarhei's original patch (to clearly indicate that the offset instr...
DRC [Mon, 25 Aug 2014 15:26:09 +0000 (15:26 +0000)]
Reformat code per Siarhei's original patch (to clearly indicate that the offset instructions are completely independent) and add Siarhei as an individual author (he no longer works for Nokia.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1388 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClarify forward compatibility of iOS/ARM builds
DRC [Sat, 23 Aug 2014 17:48:17 +0000 (17:48 +0000)]
Clarify forward compatibility of iOS/ARM builds

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1387 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoARM64 NEON SIMD support for YCC-to-RGB565 conversion
DRC [Sat, 23 Aug 2014 15:57:38 +0000 (15:57 +0000)]
ARM64 NEON SIMD support for YCC-to-RGB565 conversion

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1386 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoARM NEON SIMD support for YCC-to-RGB565 conversion, and optimizations to the existing...
DRC [Sat, 23 Aug 2014 15:47:51 +0000 (15:47 +0000)]
ARM NEON SIMD support for YCC-to-RGB565 conversion, and optimizations to the existing YCC-to-RGB conversion code:

-----

https://github.com/ssvb/libjpeg-turbo/commit/aee36252be20054afce371a92406fc66ba6627b5.patch

From aee36252be20054afce371a92406fc66ba6627b5 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Wed, 13 Aug 2014 03:50:22 +0300
Subject: [PATCH] ARM: Faster NEON yuv->rgb conversion for Krait and Cortex-A15

The older code was developed and tested only on ARM Cortex-A8 and ARM Cortex-A9.
Tuning it for newer ARM processors can introduce some speed-up (up to 20%).

The performance of the inner loop (conversion of 8 pixels) improves from
~27 cycles down to ~22 cycles on Qualcomm Krait 300, and from ~20 cycles
down to ~18 cycles on ARM Cortex-A15.

The performance remains exactly the same on ARM Cortex-A7 (~58 cycles),
ARM Cortex-A8 (~25 cycles) and ARM Cortex-A9 (~30 cycles) processors.

Also use larger indentation in the source code for separating two independent
instruction streams.

-----

https://github.com/ssvb/libjpeg-turbo/commit/a5efdbf22ce9c1acd4b14a353cec863c2c57557e.patch

From a5efdbf22ce9c1acd4b14a353cec863c2c57557e Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Wed, 13 Aug 2014 07:23:09 +0300
Subject: [PATCH] ARM: NEON optimized yuv->rgb565 conversion

The performance of the inner loop (conversion of 8 pixels):
* ARM Cortex-A7:  ~55 cycles
* ARM Cortex-A8:  ~28 cycles
* ARM Cortex-A9:  ~32 cycles
* ARM Cortex-A15: ~20 cycles
* Qualcomm Krait: ~24 cycles

Based on the Linaro rgb565 patch from
    https://sourceforge.net/p/libjpeg-turbo/patches/24/
but implements better instructions scheduling.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1385 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoEnsure that tjFree() is used for any JPEG buffers that might have been dynamically...
DRC [Fri, 22 Aug 2014 19:27:28 +0000 (19:27 +0000)]
Ensure that tjFree() is used for any JPEG buffers that might have been dynamically allocated by the compress/transform functions.  To keep things simple, we use tjAlloc() for the statically-allocated buffer as well, so that tjFree() can always be used to free the buffer, regardless of whether it was allocated by tjbench or by the TurboJPEG library.  This fixes crashes that occurred on Windows when running tjunittest or tjbench with the -alloc flag.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1383 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoEnsure that tjFree() is used for any JPEG buffers that might have been dynamically...
DRC [Fri, 22 Aug 2014 19:59:51 +0000 (19:59 +0000)]
Ensure that tjFree() is used for any JPEG buffers that might have been dynamically allocated by the compress/transform functions.  To keep things simple, we use tjAlloc() for the statically-allocated buffer as well, so that tjFree() can always be used to free the buffer, regardless of whether it was allocated by tjbench or by the TurboJPEG library.  This fixes crashes that occurred on Windows when running tjunittest or tjbench with the -alloc flag.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1384 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRevert r1335 and r1336. It was a valiant effort, but on Windows, xmm8-xmm15 are...
DRC [Fri, 22 Aug 2014 18:30:44 +0000 (18:30 +0000)]
Revert r1335 and r1336.  It was a valiant effort, but on Windows, xmm8-xmm15 are non-volatile, and the overhead of pushing them onto the stack at the beginning of each function and popping them at the end was causing worse performance (in the neighborhood of 3-5%) than just using the work areas and limiting the register usage to xmm0-xmm7.  Best to leave the SSE2 code alone.  We can optimize the register usage for AVX2, once that port takes place.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1382 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoDon't use sudo when building a Debian package unless the user is non-root
DRC [Fri, 22 Aug 2014 17:21:09 +0000 (17:21 +0000)]
Don't use sudo when building a Debian package unless the user is non-root

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1381 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoWindows doesn't have setenv(). Go, go Gadget Macros.
DRC [Fri, 22 Aug 2014 15:39:32 +0000 (15:39 +0000)]
Windows doesn't have setenv().  Go, go Gadget Macros.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1380 632fc199-4ca6-4c93-a231-07263d6284db

10 years ago1.4 beta1
DRC [Fri, 22 Aug 2014 14:22:00 +0000 (14:22 +0000)]
1.4 beta1

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1379 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix 'make dist'
DRC [Fri, 22 Aug 2014 14:19:12 +0000 (14:19 +0000)]
Fix 'make dist'

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1378 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoDon't use sudo when building a Debian package unless the user is non-root
DRC [Fri, 22 Aug 2014 14:15:08 +0000 (14:15 +0000)]
Don't use sudo when building a Debian package unless the user is non-root

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1377 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAdd a set of undocumented environment variables and Java system properties that allow...
DRC [Fri, 22 Aug 2014 13:43:33 +0000 (13:43 +0000)]
Add a set of undocumented environment variables and Java system properties that allow compression features of libjpeg that are not normally exposed in the TurboJPEG API to be enabled.  These features are not normally exposed because, for the most part, they aren't "turbo" features, but it is still useful to be able to benchmark them without modifying the code.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1376 632fc199-4ca6-4c93-a231-07263d6284db

10 years ago.func/.endfunc are only necessary when generating STABS debug info, which basically...
DRC [Fri, 22 Aug 2014 11:31:46 +0000 (11:31 +0000)]
.func/.endfunc are only necessary when generating STABS debug info, which basically went out of style with parachute pants and Rick Astley.  At any rate, none of the platforms for which we're building the ARM code use it (DWARF is the common format these days), and the .func/.endfunc directives cause the clang integrated assembler to fail (http://llvm.org/bugs/show_bug.cgi?id=20424).

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1375 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoExtend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in...
DRC [Fri, 22 Aug 2014 03:04:06 +0000 (03:04 +0000)]
Extend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in TurboJPEG.  Disable the tiling feature in TJBench whenever dynamic buffer allocation is enabled (because the tiling feature requires a separate buffer for each tile, using it successfully with dynamic buffer allocation would require a separate TurboJPEG compressor instance for each tile, and it's not worth going to that trouble right now.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1374 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRun the TurboJPEG conformance tests out of a directory in /tmp (for improved performa...
DRC [Fri, 22 Aug 2014 03:00:37 +0000 (03:00 +0000)]
Run the TurboJPEG conformance tests out of a directory in /tmp (for improved performance, if the source directory is on a remote file share.)  Fix an issue in TJBench.java that prevented it from working properly if the source image resided in a directory with a dot in the name.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1373 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoExtend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in...
DRC [Fri, 22 Aug 2014 02:57:34 +0000 (02:57 +0000)]
Extend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in TurboJPEG.  Disable the tiling feature in TJBench whenever dynamic buffer allocation is enabled (because the tiling feature requires a separate buffer for each tile, using it successfully with dynamic buffer allocation would require a separate TurboJPEG compressor instance for each tile, and it's not worth going to that trouble right now.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1372 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRun the TurboJPEG conformance tests out of a directory in /tmp (for improved performa...
DRC [Fri, 22 Aug 2014 02:51:16 +0000 (02:51 +0000)]
Run the TurboJPEG conformance tests out of a directory in /tmp (for improved performance, if the source directory is on a remote file share.)  Fix an issue in TJBench.java that prevented it from working properly if the source image resided in a directory with a dot in the name.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1371 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoOops
DRC [Thu, 21 Aug 2014 22:16:25 +0000 (22:16 +0000)]
Oops

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1370 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoSubtle point, but dest->outbuffer is a pointer to the address of the JPEG buffer...
DRC [Thu, 21 Aug 2014 22:15:19 +0000 (22:15 +0000)]
Subtle point, but dest->outbuffer is a pointer to the address of the JPEG buffer, which is stored in the calling program.  Thus, *(dest->outbuffer) will always equal *outbuffer.  We need to compare *outbuffer with dest->buffer instead to determine if the pointer is being reused.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1369 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoIf the output buffer in the TurboJPEG destination manager was allocated by the destin...
DRC [Thu, 21 Aug 2014 15:51:47 +0000 (15:51 +0000)]
If the output buffer in the TurboJPEG destination manager was allocated by the destination manager and is being reused from a previous compression operation, then we need to get the buffer size from the previous operation, since the calling program doesn't know the actual buffer size.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1368 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoActually, we need to increase the size of BUFSIZE, not just the size of _buffer....
DRC [Thu, 21 Aug 2014 03:40:37 +0000 (03:40 +0000)]
Actually, we need to increase the size of BUFSIZE, not just the size of _buffer.  The previous patch might have cause problems if, for instance, state->free_in_buffer was 127 but 129 bytes were compressed.  In that case, only 127 of the 129 bytes would have been written to the file.  Also document the fix.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1367 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoActually, we need to increase the size of BUFSIZE, not just the size of _buffer....
DRC [Thu, 21 Aug 2014 03:38:14 +0000 (03:38 +0000)]
Actually, we need to increase the size of BUFSIZE, not just the size of _buffer.  The previous patch might have cause problems if, for instance, state->free_in_buffer was 127 but 129 bytes were compressed.  In that case, only 127 of the 129 bytes would have been written to the file.  Also document the fix.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1366 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix an extremely rare crash that can occur when compressing a very high-frequency...
DRC [Thu, 21 Aug 2014 01:55:22 +0000 (01:55 +0000)]
Fix an extremely rare crash that can occur when compressing a very high-frequency MCU using quality 100 and no subsampling, and when dynamically allocating the JPEG buffer in the destination manager.  Even with a test program designed specifically to reproduce the crash, it only occurred once in about 25 million iterations.  More details here:  https://sourceforge.net/p/libjpeg-turbo/bugs/64

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1365 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix an extremely rare crash that can occur when compressing a very high-frequency...
DRC [Thu, 21 Aug 2014 01:53:47 +0000 (01:53 +0000)]
Fix an extremely rare crash that can occur when compressing a very high-frequency MCU using quality 100 and no subsampling, and when dynamically allocating the JPEG buffer in the destination manager.  Even with a test program designed specifically to reproduce the crash, it only occurred once in about 25 million iterations.  More details here:  https://sourceforge.net/p/libjpeg-turbo/bugs/64

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1364 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoWordsmithing & clarifications
DRC [Wed, 20 Aug 2014 16:02:49 +0000 (16:02 +0000)]
Wordsmithing & clarifications

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1363 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoDocument the existence of the new ARM64 SIMD code
DRC [Wed, 20 Aug 2014 15:40:43 +0000 (15:40 +0000)]
Document the existence of the new ARM64 SIMD code

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1362 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoProperly detect the need for gas-preprocessor.pl when building for ARM64
DRC [Wed, 20 Aug 2014 13:14:46 +0000 (13:14 +0000)]
Properly detect the need for gas-preprocessor.pl when building for ARM64

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1361 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRefactored YUVImage Java class so that it supports both unified YUV image buffers...
DRC [Sun, 17 Aug 2014 12:23:49 +0000 (12:23 +0000)]
Refactored YUVImage Java class so that it supports both unified YUV image buffers as well as separate YUV image planes;  modified the JNI functions accordingly and added new helper functions to the TurboJPEG C API (tjPlaneWidth(), tjPlaneHeight(), tjPlaneSizeYUV()) to facilitate those modifications;  changed potentially confusing "component width" and "component height" terms to "plane width" and "plane height" and modified variable names in turbojpeg.c to reflect this;  numerous other documentation tweaks

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1360 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMake the wrapped functions static
DRC [Fri, 15 Aug 2014 16:40:56 +0000 (16:40 +0000)]
Make the wrapped functions static

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1359 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMake the wrapped functions static
DRC [Fri, 15 Aug 2014 16:40:34 +0000 (16:40 +0000)]
Make the wrapped functions static

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1358 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoWhitespace formatting tweaks
DRC [Fri, 15 Aug 2014 16:20:59 +0000 (16:20 +0000)]
Whitespace formatting tweaks

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1357 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAllow the int pixel versions of the various TurboJPEG JNI functions to share the...
DRC [Fri, 15 Aug 2014 16:20:06 +0000 (16:20 +0000)]
Allow the int pixel versions of the various TurboJPEG JNI functions to share the same code as the byte pixel versions.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1356 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoWhitespace formatting tweaks
DRC [Fri, 15 Aug 2014 16:08:12 +0000 (16:08 +0000)]
Whitespace formatting tweaks

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1355 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAdd descriptions to help sort out which function goes with which version of the API.
DRC [Fri, 15 Aug 2014 16:07:15 +0000 (16:07 +0000)]
Add descriptions to help sort out which function goes with which version of the API.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1354 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAdd descriptions to help sort out which function goes with which version of the API.
DRC [Fri, 15 Aug 2014 15:40:02 +0000 (15:40 +0000)]
Add descriptions to help sort out which function goes with which version of the API.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1353 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoCompiler warnings
DRC [Fri, 15 Aug 2014 14:44:09 +0000 (14:44 +0000)]
Compiler warnings

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1352 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix build broken by r1349
DRC [Fri, 15 Aug 2014 14:40:36 +0000 (14:40 +0000)]
Fix build broken by r1349

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1351 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoCompiler warnings
DRC [Fri, 15 Aug 2014 14:40:05 +0000 (14:40 +0000)]
Compiler warnings

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1350 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRestore backward compatibility between libjpeg-turbo 1.3.x JAR and the new JNI library
DRC [Fri, 15 Aug 2014 14:01:21 +0000 (14:01 +0000)]
Restore backward compatibility between libjpeg-turbo 1.3.x JAR and the new JNI library

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1349 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAllow the int pixel versions of the various TurboJPEG JNI functions to share the...
DRC [Fri, 15 Aug 2014 13:18:58 +0000 (13:18 +0000)]
Allow the int pixel versions of the various TurboJPEG JNI functions to share the same code as the byte pixel versions.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1348 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up exception handling in the JNI code. The exception is actually not thrown...
DRC [Thu, 14 Aug 2014 17:24:01 +0000 (17:24 +0000)]
Clean up exception handling in the JNI code.  The exception is actually not thrown until the function exits, so we can let the code fall through to bailout: if the TurboJPEG C function fails.  Also, per the JNI spec, no other JNI functions can be called between GetPrimitiveArrayCritical() and ReleasePrimitiveArrayCritical().  This hasn't caused any problems thus far, but better safe than sorry.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1347 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up exception handling in the JNI code. The exception is actually not thrown...
DRC [Thu, 14 Aug 2014 16:54:04 +0000 (16:54 +0000)]
Clean up exception handling in the JNI code.  The exception is actually not thrown until the function exits, so we can let the code fall through to bailout: if the TurboJPEG C function fails.  Also, per the JNI spec, no other JNI functions can be called between GetPrimitiveArrayCritical() and ReleasePrimitiveArrayCritical().  This hasn't caused any problems thus far, but better safe than sorry.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1346 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoOops. Parameter name is "strides", not "stride"
DRC [Tue, 12 Aug 2014 15:52:51 +0000 (15:52 +0000)]
Oops.  Parameter name is "strides", not "stride"

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1345 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoReformat TurboJPEG C API documentation to improve ease of maintenance and to make...
DRC [Tue, 12 Aug 2014 15:06:30 +0000 (15:06 +0000)]
Reformat TurboJPEG C API documentation to improve ease of maintenance and to make it more consistent with the javadoc formatting;  fix minor error in tjCompressFromYUV() prototype.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1344 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoExtend the TurboJPEG C API to support handling YUV images stored in separate image...
DRC [Mon, 11 Aug 2014 18:05:41 +0000 (18:05 +0000)]
Extend the TurboJPEG C API to support handling YUV images stored in separate image planes instead of a unified buffer

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1343 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up and consolidate notes regarding the YUV image format. This also corrects...
DRC [Sun, 10 Aug 2014 20:12:17 +0000 (20:12 +0000)]
Clean up and consolidate notes regarding the YUV image format.  This also corrects a factual error regarding the padding of the luminance plane-- because we now support 4:1:1, the component width is not necessarily padded to the nearest multiple of 2 if horizontal subsampling is used.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1342 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up notes using the doxygen @note command
DRC [Sun, 10 Aug 2014 18:30:52 +0000 (18:30 +0000)]
Clean up notes using the doxygen @note command

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1341 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up notes using the doxygen @note command
DRC [Sun, 10 Aug 2014 17:25:51 +0000 (17:25 +0000)]
Clean up notes using the doxygen @note command

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1340 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMake the documentation more readable by displaying fixed-width text (which is used...
DRC [Sun, 10 Aug 2014 16:43:31 +0000 (16:43 +0000)]
Make the documentation more readable by displaying fixed-width text (which is used to refer to variables and functions) in a different color.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1339 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix a display issue in the documentation for tjDecompress2() (doxygen treats a star...
DRC [Sun, 10 Aug 2014 16:39:32 +0000 (16:39 +0000)]
Fix a display issue in the documentation for tjDecompress2() (doxygen treats a star at the beginning of the line as a list bullet);  make the documentation more readable by displaying fixed-width text (which is used to refer to variables and functions) in a different color.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1338 632fc199-4ca6-4c93-a231-07263d6284db

10 years ago12-bit JPEG support
DRC [Sat, 9 Aug 2014 23:06:07 +0000 (23:06 +0000)]
12-bit JPEG support

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1337 632fc199-4ca6-4c93-a231-07263d6284db

9 years agoThe Independent JPEG Group's JPEG software v6b jpeg-6b
Thomas G. Lane [Fri, 27 Mar 1998 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6b

9 years agoThe Independent JPEG Group's JPEG software v6a jpeg-6a
Thomas G. Lane [Wed, 7 Feb 1996 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6a

9 years agoThe Independent JPEG Group's JPEG software v6 jpeg-6
Thomas G. Lane [Wed, 2 Aug 1995 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v6

9 years agoThe Independent JPEG Group's JPEG software v5b jpeg-5b
Thomas G. Lane [Wed, 15 Mar 1995 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5b

9 years agoThe Independent JPEG Group's JPEG software v5a jpeg-5a
Thomas G. Lane [Wed, 7 Dec 1994 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5a

9 years agoThe Independent JPEG Group's JPEG software v5 jpeg-5
Thomas G. Lane [Sat, 24 Sep 1994 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v5

9 years agoThe Independent JPEG Group's JPEG software v4a jpeg-4a
Thomas G. Lane [Thu, 18 Feb 1993 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v4a

9 years agoThe Independent JPEG Group's JPEG software v4 jpeg-4
Thomas G. Lane [Thu, 10 Dec 1992 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v4

9 years agoThe Independent JPEG Group's JPEG software v3 jpeg-3
Thomas G. Lane [Tue, 17 Mar 1992 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v3

9 years agoThe Independent JPEG Group's JPEG software v2 jpeg-2
Thomas G. Lane [Fri, 13 Dec 1991 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v2

9 years agoThe Independent JPEG Group's JPEG software v1 jpeg-1
Thomas G. Lane [Mon, 7 Oct 1991 00:00:00 +0000 (00:00 +0000)]
The Independent JPEG Group's JPEG software v1

10 years agoOops. The Windows version of collect_args/uncollect_args uses rsp, so we still need...
DRC [Sat, 9 Aug 2014 22:58:18 +0000 (22:58 +0000)]
Oops.  The Windows version of collect_args/uncollect_args uses rsp, so we still need the rsp prologue/epilogue, despite the fact that we aren't using the stack as a work area.  This fixes a segfault on Windows caused by r1335.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1336 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAttempt to improve performance by refactoring the compression-side color conversion...
DRC [Sat, 9 Aug 2014 14:30:28 +0000 (14:30 +0000)]
Attempt to improve performance by refactoring the compression-side color conversion and DCT algorithms so that they take full advantage of the additional registers available with 64-bit SSE2.  This produces a somewhat yawn-worthy speedup of 2-3%, but at least the code is a lot more readable now.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1335 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix performance and other issues uncovered in testing with actual ARM64 hardware...
DRC [Wed, 23 Jul 2014 14:14:14 +0000 (14:14 +0000)]
Fix performance and other issues uncovered in testing with actual ARM64 hardware; formatting tweaks; remove NEON platform check (NEON is always available with ARMv8)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1333 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoInclude "Installed-Size" field in the deb-control file to prevent Ubuntu from complaining
DRC [Thu, 17 Jul 2014 08:25:32 +0000 (08:25 +0000)]
Include "Installed-Size" field in the deb-control file to prevent Ubuntu from complaining

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1330 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoInclude "Installed-Size" field in the deb-control file to prevent Ubuntu from complaining
DRC [Thu, 17 Jul 2014 08:24:58 +0000 (08:24 +0000)]
Include "Installed-Size" field in the deb-control file to prevent Ubuntu from complaining

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1329 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAdd proper support for Borland compilers (Borland needs section names to be prefixed...
DRC [Sun, 22 Jun 2014 21:14:39 +0000 (21:14 +0000)]
Add proper support for Borland compilers (Borland needs section names to be prefixed with an underscore, and it needs OMF object files.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1328 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoBig oops. wrjpgcom on Windows was being built using the rdjpgcom source.
DRC [Sun, 22 Jun 2014 20:48:38 +0000 (20:48 +0000)]
Big oops.  wrjpgcom on Windows was being built using the rdjpgcom source.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1326 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoBig oops. wrjpgcom on Windows was being built using the rdjpgcom source.
DRC [Sun, 22 Jun 2014 20:50:14 +0000 (20:50 +0000)]
Big oops.  wrjpgcom on Windows was being built using the rdjpgcom source.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@1327 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoBig oops. wrjpgcom on Windows was being built using the rdjpgcom source.
DRC [Sun, 22 Jun 2014 20:46:48 +0000 (20:46 +0000)]
Big oops.  wrjpgcom on Windows was being built using the rdjpgcom source.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1325 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoPrevent a buffer overrun if the comment begins with a literal quote character and...
DRC [Sun, 22 Jun 2014 20:38:54 +0000 (20:38 +0000)]
Prevent a buffer overrun if the comment begins with a literal quote character and the string exceeds 65k characters.  Also prevent comments longer than 65k characters from being written, since this will produce an incorrect JPEG file.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1324 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoPrevent a buffer overrun if the comment begins with a literal quote character and...
DRC [Sun, 22 Jun 2014 20:36:50 +0000 (20:36 +0000)]
Prevent a buffer overrun if the comment begins with a literal quote character and the string exceeds 65k characters.  Also prevent comments longer than 65k characters from being written, since this will produce an incorrect JPEG file.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1323 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRemove VMS-specific code
DRC [Thu, 29 May 2014 19:31:45 +0000 (19:31 +0000)]
Remove VMS-specific code

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1322 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoOur copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer...
DRC [Wed, 28 May 2014 20:28:30 +0000 (20:28 +0000)]
Our copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer overrun if output_message() was called with msg_code set to JMSG_COPYRIGHT, or if format_message() was called with msg_code set to JMSG_COPYRIGHT and with a buffer of length JMSG_LENGTH_MAX.

We can't simply increase JMSG_LENGTH_MAX, because it is part of the libjpeg API, and it is generally assumed that a buffer of this length will be passed to format_message().  Thus, the easiest solution is simply to use a shorter copyright string for JMSG_COPYRIGHT.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@1320 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoOur copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer...
DRC [Wed, 28 May 2014 20:27:42 +0000 (20:27 +0000)]
Our copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer overrun if output_message() was called with msg_code set to JMSG_COPYRIGHT, or if format_message() was called with msg_code set to JMSG_COPYRIGHT and with a buffer of length JMSG_LENGTH_MAX.

We can't simply increase JMSG_LENGTH_MAX, because it is part of the libjpeg API, and it is generally assumed that a buffer of this length will be passed to format_message().  Thus, the easiest solution is simply to use a shorter copyright string for JMSG_COPYRIGHT.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1319 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoOur copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer...
DRC [Wed, 28 May 2014 20:19:54 +0000 (20:19 +0000)]
Our copyright string is longer than JMSG_LENGTH_MAX, and this was causing a buffer overrun if output_message() was called with msg_code set to JMSG_COPYRIGHT, or if format_message() was called with msg_code set to JMSG_COPYRIGHT and with a buffer of length JMSG_LENGTH_MAX.

We can't simply increase JMSG_LENGTH_MAX, because it is part of the libjpeg API, and it is generally assumed that a buffer of this length will be passed to format_message().  Thus, the easiest solution is simply to use a shorter copyright string for JMSG_COPYRIGHT.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1318 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoWe don't support non-ANSI C compilers
DRC [Wed, 21 May 2014 04:13:09 +0000 (04:13 +0000)]
We don't support non-ANSI C compilers

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1317 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoAllow for building the MIPS DSPr2 extensions if the host is mips-* as well as mipsel...
DRC [Mon, 19 May 2014 19:13:22 +0000 (19:13 +0000)]
Allow for building the MIPS DSPr2 extensions if the host is mips-* as well as mipsel-*.  The DSPr2 extensions are little endian, so we still have to check that the compiler defines __MIPSEL__ before enabling them.  This paves the way for supporting big-endian MIPS, and in the near term, it allows the SIMD extensions to be built with Sourcery CodeBench.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1316 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoSIMD-accelerated int upsample routine for MIPS DSPr2
DRC [Sun, 18 May 2014 20:04:47 +0000 (20:04 +0000)]
SIMD-accelerated int upsample routine for MIPS DSPr2

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1315 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix MIPS build
DRC [Sun, 18 May 2014 19:36:05 +0000 (19:36 +0000)]
Fix MIPS build

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1314 632fc199-4ca6-4c93-a231-07263d6284db

10 years agolibjpeg-turbo has never supported non-ANSI compilers, so get rid of the crufty SIZEOF...
DRC [Sun, 18 May 2014 19:04:03 +0000 (19:04 +0000)]
libjpeg-turbo has never supported non-ANSI compilers, so get rid of the crufty SIZEOF() macro.  It was not being used consistently anyhow, so it would not have been possible to build prior releases of libjpeg-turbo using the broken compilers for which that macro was designed.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1313 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRemove MS-DOS code and information, and adjust copyright headers to reflect the remov...
DRC [Sun, 18 May 2014 18:33:44 +0000 (18:33 +0000)]
Remove MS-DOS code and information, and adjust copyright headers to reflect the removal of features in r1307 and r1308.  libjpeg-turbo has never supported MS-DOS, nor is it even possible for us to do so.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1312 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFurther copyright header cleanup
DRC [Sun, 18 May 2014 18:17:01 +0000 (18:17 +0000)]
Further copyright header cleanup

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1311 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFurther copyright header cleanup
DRC [Sun, 18 May 2014 17:52:06 +0000 (17:52 +0000)]
Further copyright header cleanup

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1310 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFurther copyright header cleanup
DRC [Sun, 18 May 2014 17:51:00 +0000 (17:51 +0000)]
Further copyright header cleanup

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1309 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoGet rid of the HAVE_PROTOTYPES configuration option, as well as the related JMETHOD...
DRC [Fri, 16 May 2014 10:43:44 +0000 (10:43 +0000)]
Get rid of the HAVE_PROTOTYPES configuration option, as well as the related JMETHOD and JPP macros.  libjpeg-turbo has never supported compilers that don't handle prototypes.  Doing so requires ansi2knr, which isn't even supported in the IJG code anymore.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1308 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoRemove all of the NEED_SHORT_EXTERNAL_NAMES stuff. There is scant information availa...
DRC [Thu, 15 May 2014 20:30:16 +0000 (20:30 +0000)]
Remove all of the NEED_SHORT_EXTERNAL_NAMES stuff.  There is scant information available as to which linkers ever had a 15-character global symbol name limit.  AFAICT, it might have been a VMS and/or a.out BSD thing, but none of those platforms have ever been supported by libjpeg-turbo (nor are such systems supported by other open source libraries of this nature.)

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1307 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up code formatting in the SIMD interface functions
DRC [Thu, 15 May 2014 19:46:48 +0000 (19:46 +0000)]
Clean up code formatting in the SIMD interface functions

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1306 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoClean up code formatting in the SIMD interface functions
DRC [Thu, 15 May 2014 19:45:11 +0000 (19:45 +0000)]
Clean up code formatting in the SIMD interface functions

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1305 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoSIMD-accelerated NULL convert routine for MIPS DSPr2
DRC [Thu, 15 May 2014 18:26:01 +0000 (18:26 +0000)]
SIMD-accelerated NULL convert routine for MIPS DSPr2

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1304 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix build, which was broken by the checkin of the MIPS DSPr2 accelerated smooth downs...
DRC [Thu, 15 May 2014 18:22:24 +0000 (18:22 +0000)]
Fix build, which was broken by the checkin of the MIPS DSPr2 accelerated smooth downsampling routine.  Until/unless other platforms include SIMD support for that function, it's just easier to #ifdef around it rather than adding stubs for the other platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1303 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoFix error in MIPS DSPr2 accelerated smooth downsample routine
DRC [Thu, 15 May 2014 17:10:39 +0000 (17:10 +0000)]
Fix error in MIPS DSPr2 accelerated smooth downsample routine

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1302 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoSIMD-accelerated h2v2 smooth downsampling routine for MIPS DSPr2
DRC [Wed, 14 May 2014 15:00:10 +0000 (15:00 +0000)]
SIMD-accelerated h2v2 smooth downsampling routine for MIPS DSPr2

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1301 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMinor tweak to improve code readability
DRC [Wed, 14 May 2014 14:57:43 +0000 (14:57 +0000)]
Minor tweak to improve code readability

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1300 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMinor tweak to improve code readability
DRC [Wed, 14 May 2014 14:57:01 +0000 (14:57 +0000)]
Minor tweak to improve code readability

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1299 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoThe x86/x86-64 SIMD extensions were originally designed to accommodate changing the...
DRC [Tue, 13 May 2014 18:41:33 +0000 (18:41 +0000)]
The x86/x86-64 SIMD extensions were originally designed to accommodate changing the value of RGB_*, but this apparently broke when RGB-to-gray colorspace conversion was accelerated.  Further, the ARM NEON extensions have always assumed that JCS_RGB behaves identically to JCS_EXT_RGB.  Rather than fix these issues, it makes more sense to just stop claiming that we support changing the values of RGB_*, since doing so is no longer necessary.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1298 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoSIMD-accelerated merged upsampling routines for MIPS DSPr2
DRC [Tue, 13 May 2014 18:40:14 +0000 (18:40 +0000)]
SIMD-accelerated merged upsampling routines for MIPS DSPr2

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1297 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoThe x86/x86-64 SIMD extensions were originally designed to accommodate changing the...
DRC [Tue, 13 May 2014 18:38:36 +0000 (18:38 +0000)]
The x86/x86-64 SIMD extensions were originally designed to accommodate changing the value of RGB_*, but this apparently broke when RGB-to-gray colorspace conversion was accelerated.  Further, the ARM NEON extensions have always assumed that JCS_RGB behaves identically to JCS_EXT_RGB.  Rather than fix these issues, it makes more sense to just stop claiming that we support changing the values of RGB_*, since doing so is no longer necessary.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1296 632fc199-4ca6-4c93-a231-07263d6284db