]> granicus.if.org Git - libjpeg-turbo/log
libjpeg-turbo
10 years agoAdd the ability to benchmark YCCK JPEG compression/decompression. This is particular...
DRC [Wed, 14 Jan 2015 19:39:01 +0000 (19:39 +0000)]
Add the ability to benchmark YCCK JPEG compression/decompression.  This is particularly useful since that is the only way to test the performance of the "plain" upsampling routines, which are accelerated on some platforms.

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

10 years agoAltiVec SIMD implementation of H2V1 and H2V2 plain upsampling (used only when decompr...
DRC [Wed, 14 Jan 2015 15:41:11 +0000 (15:41 +0000)]
AltiVec SIMD implementation of H2V1 and H2V2 plain upsampling (used only when decompressing YCCK images with fast upsampling enabled.)

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

10 years agoAltiVec SIMD implementation of H2V1 and H2V2 merged upsampling
DRC [Wed, 14 Jan 2015 13:27:32 +0000 (13:27 +0000)]
AltiVec SIMD implementation of H2V1 and H2V2 merged upsampling

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

10 years agoFix an overread detected by valgrind
DRC [Wed, 14 Jan 2015 13:07:06 +0000 (13:07 +0000)]
Fix an overread detected by valgrind

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

10 years agoFix bugs in the AltiVec fancy upsampling routines uncovered during additional testing...
DRC [Wed, 14 Jan 2015 10:45:31 +0000 (10:45 +0000)]
Fix bugs in the AltiVec fancy upsampling routines uncovered during additional testing with small image sizes.  Since the input width is half the output width, the upsampler should only write a second 16-byte chuck if there are more than 8 input columns left.  Additionally, if the width is < 16, then we need to insert a dummy sample (the SSE2 code does this as well, but I neglected to port that portion of the code for some reason.)

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

10 years agoIn the process of developing the AltiVec extensions, it was discovered that the norma...
DRC [Wed, 14 Jan 2015 08:42:29 +0000 (08:42 +0000)]
In the process of developing the AltiVec extensions, it was discovered that the normal regression tests aren't sufficient to test the behavior of the library with very small image sizes and when compressing from/decompressing to a subregion of a larger image buffer.  Thus, an additional regression test was added that takes advantage of the tiled compression/decompression feature in tjbench.

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

10 years agoFix a bug in the AltiVec downsampling routines uncovered during additional testing...
DRC [Wed, 14 Jan 2015 08:31:54 +0000 (08:31 +0000)]
Fix a bug in the AltiVec downsampling routines uncovered during additional testing with small image sizes.  Since the output width is half the input width, the downsampler should only read a second 16-byte chunk if there are more than 8 output columns left.

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

10 years agoMake the formatting and naming of variables and constants more consistent
DRC [Tue, 13 Jan 2015 11:49:15 +0000 (11:49 +0000)]
Make the formatting and naming of variables and constants more consistent

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

10 years agoMake the formatting and naming of variables and constants more consistent
DRC [Tue, 13 Jan 2015 11:47:20 +0000 (11:47 +0000)]
Make the formatting and naming of variables and constants more consistent

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

10 years agoMake the formatting and naming of variables and constants more consistent
DRC [Tue, 13 Jan 2015 10:00:12 +0000 (10:00 +0000)]
Make the formatting and naming of variables and constants more consistent

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

10 years agoAltiVec SIMD implementation of H2V1 and H2V2 fancy upsampling
DRC [Tue, 13 Jan 2015 09:02:29 +0000 (09:02 +0000)]
AltiVec SIMD implementation of H2V1 and H2V2 fancy upsampling

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

10 years agogit-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1493 632fc199-4ca6...
DRC [Mon, 12 Jan 2015 08:36:25 +0000 (08:36 +0000)]
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1493 632fc199-4ca6-4c93-a231-07263d6284db

10 years agogit-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1494 632fc1...
DRC [Mon, 12 Jan 2015 08:36:37 +0000 (08:36 +0000)]
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1494 632fc199-4ca6-4c93-a231-07263d6284db

10 years agoMinor code readability tweak
DRC [Sun, 11 Jan 2015 07:38:35 +0000 (07:38 +0000)]
Minor code readability tweak

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

10 years agoUse intrinsics for loading aligned data in the IDCT functions. This has no effect...
DRC [Sun, 11 Jan 2015 06:34:47 +0000 (06:34 +0000)]
Use intrinsics for loading aligned data in the IDCT functions.  This has no effect on performance, but it makes it more obvious what that code is doing.

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

10 years agoBump copyright year
DRC [Sun, 11 Jan 2015 00:58:44 +0000 (00:58 +0000)]
Bump copyright year

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

10 years agoAltiVec SIMD implementation of YCC-to-RGB color conversion
DRC [Sat, 10 Jan 2015 22:56:26 +0000 (22:56 +0000)]
AltiVec SIMD implementation of YCC-to-RGB color conversion

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

10 years agoFix minor issue in code comments
DRC [Sat, 10 Jan 2015 12:25:42 +0000 (12:25 +0000)]
Fix minor issue in code comments

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

10 years agoFix minor issue in code comments
DRC [Sat, 10 Jan 2015 12:10:08 +0000 (12:10 +0000)]
Fix minor issue in code comments

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

10 years agoSimplify the code somewhat. It actually wasn't necessary to have a "fast path" and...
DRC [Sat, 10 Jan 2015 12:09:11 +0000 (12:09 +0000)]
Simplify the code somewhat.  It actually wasn't necessary to have a "fast path" and a "medium path"-- they perform the same.

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

10 years agoOverhaul the AltiVec vector loading code in the compression-side colorspace conversio...
DRC [Sat, 10 Jan 2015 11:32:36 +0000 (11:32 +0000)]
Overhaul the AltiVec vector loading code in the compression-side colorspace conversion routines.  The existing code was sometimes overreading the source buffer (at least according to valgrind), and it was necessary to increase the complexity of the code in order to prevent this without significantly compromising performance.

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

10 years agoFix minor issue in code comments
DRC [Thu, 8 Jan 2015 10:42:54 +0000 (10:42 +0000)]
Fix minor issue in code comments

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

10 years agoAltiVec SIMD implementation of 2x1 and 2x2 downsampling
DRC [Thu, 8 Jan 2015 06:18:33 +0000 (06:18 +0000)]
AltiVec SIMD implementation of 2x1 and 2x2 downsampling

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

10 years agoOops. Delete the duplicate copy of [lib]turbojpeg.dll in the binary directory when...
DRC [Wed, 7 Jan 2015 05:47:08 +0000 (05:47 +0000)]
Oops.  Delete the duplicate copy of [lib]turbojpeg.dll in the binary directory when uninstalling the package.

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

10 years agoOops. Delete the duplicate copy of [lib]turbojpeg.dll in the binary directory when... 1.4.0
DRC [Wed, 7 Jan 2015 01:19:49 +0000 (01:19 +0000)]
Oops.  Delete the duplicate copy of [lib]turbojpeg.dll in the binary directory when uninstalling the package.

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

10 years agoAltiVec SIMD implementation of sample conversion and integer quantization
DRC [Tue, 23 Dec 2014 04:14:54 +0000 (04:14 +0000)]
AltiVec SIMD implementation of sample conversion and integer quantization

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

10 years agoDocument the fact that the AltiVec implementation uses the same modified algorithms...
DRC [Tue, 23 Dec 2014 02:42:59 +0000 (02:42 +0000)]
Document the fact that the AltiVec implementation uses the same modified algorithms as the SSE2 implementation

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

10 years agoUse intrinsics for loading/storing data in the DCT/IDCT functions. This has no effec...
DRC [Mon, 22 Dec 2014 16:04:17 +0000 (16:04 +0000)]
Use intrinsics for loading/storing data in the DCT/IDCT functions.  This has no effect on the performance of the aligned loads/stores, but it makes it more obvious what that code is doing.  Using intrinsics for the unaligned stores in the inverse DCT functions increases overall decompression performance by 1-2%.

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

10 years agoAltiVec SIMD implementation of RGB-to-Grayscale color conversion
DRC [Mon, 22 Dec 2014 14:10:33 +0000 (14:10 +0000)]
AltiVec SIMD implementation of RGB-to-Grayscale color conversion

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

10 years agoRemove unneeded code; Make sure jccolor-altivec.o will be rebuilt if jccolext-altive...
DRC [Mon, 22 Dec 2014 13:57:30 +0000 (13:57 +0000)]
Remove unneeded code;  Make sure jccolor-altivec.o will be rebuilt if jccolext-altivec.c changes.

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

10 years agoAltiVec SIMD implementation of RGB-to-YCC color conversion
DRC [Mon, 22 Dec 2014 13:42:26 +0000 (13:42 +0000)]
AltiVec SIMD implementation of RGB-to-YCC color conversion

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

10 years agoMake test a phony target so things don't go haywire if there is a file named test...
DRC [Mon, 22 Dec 2014 13:41:18 +0000 (13:41 +0000)]
Make test a phony target so things don't go haywire if there is a file named test.c in the current directory.

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

10 years agoMaintain the traditional order of the regression tests while allowing the TurboJPEG...
DRC [Mon, 22 Dec 2014 13:15:08 +0000 (13:15 +0000)]
Maintain the traditional order of the regression tests while allowing the TurboJPEG and libjpeg portions to be executed separately

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

10 years agoMake comments more consistent
DRC [Mon, 22 Dec 2014 01:38:01 +0000 (01:38 +0000)]
Make comments more consistent

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

10 years agoAdd a "quicktest" pseudo-target, for those times when you just don't want to sit...
DRC [Mon, 22 Dec 2014 01:32:51 +0000 (01:32 +0000)]
Add a "quicktest" pseudo-target, for those times when you just don't want to sit through 11 iterations of TJUnitTest.

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

10 years agoCosmetic tweaks to the PowerPC SIMD stubs
DRC [Mon, 22 Dec 2014 01:10:11 +0000 (01:10 +0000)]
Cosmetic tweaks to the PowerPC SIMD stubs

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

10 years agoSplit AltiVec algorithms into separate files for ease of maintenance; Rename constan...
DRC [Mon, 22 Dec 2014 01:00:42 +0000 (01:00 +0000)]
Split AltiVec algorithms into separate files for ease of maintenance;  Rename constants using lowercase so they are not confused with macros

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

10 years agoOptimizations to the AltiVec DCT algorithms (pre-compute constants and combine multip...
DRC [Sat, 20 Dec 2014 03:32:59 +0000 (03:32 +0000)]
Optimizations to the AltiVec DCT algorithms (pre-compute constants and combine multiply/add operations)

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

10 years agoAltiVec SIMD implementation of slow integer inverse DCT
DRC [Sat, 20 Dec 2014 01:17:39 +0000 (01:17 +0000)]
AltiVec SIMD implementation of slow integer inverse DCT

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

10 years agoUse macros to allocate constants statically, rather than reading them from a table...
DRC [Sat, 20 Dec 2014 01:16:26 +0000 (01:16 +0000)]
Use macros to allocate constants statically, rather than reading them from a table using vec_splat*().  This improves code readability and probably improves performance a bit as well.

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

10 years agoSwap the order of the IFAST and ISLOW FDCT functions so that it matches the order...
DRC [Sat, 20 Dec 2014 01:14:38 +0000 (01:14 +0000)]
Swap the order of the IFAST and ISLOW FDCT functions so that it matches the order of the prototypes in jsimd.h and the stubs in jsimd_powerpc.c.

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

10 years agoInclude ARMv8 binaries when generating a combined OS X/iOS package using 'make iosdmg'
DRC [Fri, 19 Dec 2014 18:28:00 +0000 (18:28 +0000)]
Include ARMv8 binaries when generating a combined OS X/iOS package using 'make iosdmg'

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

10 years agoDocument that the ARMv8/iOS issues are now fixed
DRC [Fri, 19 Dec 2014 18:18:46 +0000 (18:18 +0000)]
Document that the ARMv8/iOS issues are now fixed

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

10 years agoRemove reference to install.txt, which we do not include from the IJG distribution
DRC [Fri, 19 Dec 2014 18:07:04 +0000 (18:07 +0000)]
Remove reference to install.txt, which we do not include from the IJG distribution

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

10 years agoInclude ARMv8 binaries when generating a combined OS X/iOS package using 'make iosdmg'
DRC [Fri, 19 Dec 2014 17:34:30 +0000 (17:34 +0000)]
Include ARMv8 binaries when generating a combined OS X/iOS package using 'make iosdmg'

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

10 years agoIn the output of the configure script, indicate whether gas-preprocessor.pl is being...
DRC [Fri, 19 Dec 2014 15:40:21 +0000 (15:40 +0000)]
In the output of the configure script, indicate whether gas-preprocessor.pl is being used along with the assembler.

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

10 years agoModify the ARM64 assembly file so that it uses only syntax that the clang assembler...
DRC [Fri, 19 Dec 2014 15:36:39 +0000 (15:36 +0000)]
Modify the ARM64 assembly file so that it uses only syntax that the clang assembler in XCode 5.x can understand.  These changes should all be cosmetic in nature-- they do not change the meaning or readability of the code nor the ability to build it for Linux.  Actually, the code is now more in compliance with the ARM64 programming manual.  In addition to these changes, there were a couple of instructions that clang simply doesn't support, so gas-preprocessor.pl was modified so that it now converts those into equivalent instructions that clang can handle.

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

10 years agoAdd iOS architectures to the shared libraries generated by the Mac/iOS packaging...
DRC [Fri, 19 Dec 2014 10:44:09 +0000 (10:44 +0000)]
Add iOS architectures to the shared libraries generated by the Mac/iOS packaging system.  I have no idea how useful this is for "standard" iOS application development, but it is useful in a jailbreak environment, and iOS 8 supposedly allows shared libs in "official" apps as well.

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

10 years ago1.4.0
DRC [Fri, 19 Dec 2014 09:35:11 +0000 (09:35 +0000)]
1.4.0

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

10 years agoAltiVec SIMD implementation of fast integer inverse DCT
DRC [Thu, 18 Dec 2014 10:12:29 +0000 (10:12 +0000)]
AltiVec SIMD implementation of fast integer inverse DCT

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

10 years agoFurther cleanup of the AltiVec forward DCT code:
DRC [Thu, 18 Dec 2014 09:49:39 +0000 (09:49 +0000)]
Further cleanup of the AltiVec forward DCT code:
-- Use macros to represent the fast FDCT constants, to facilitate comparing the AltiVec implementation of the algorithm with the SSE2 implementation.
-- Rename slow FDCT constants for consistency.
-- Use vec_sra() in all cases in the slow FDCT code.  The SSE2 implementation uses psraw, which is an arithmetic shift, so we need to do likewise with AltiVec.  Using vec_sr() hasn't caused any problems yet, but it is conceivable that it might cause different behavior in certain corner cases.

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

10 years agoAltiVec SIMD implementation of slow integer forward DCT; Clean up fast integer forwa...
DRC [Wed, 17 Dec 2014 08:04:39 +0000 (08:04 +0000)]
AltiVec SIMD implementation of slow integer forward DCT;  Clean up fast integer forward DCT code so that it is easier to see how it derives from the SSE2 code and to make it play more nicely with the slow FDCT code.

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

10 years agoFix cosmetic issues in AltiVec comments
DRC [Wed, 17 Dec 2014 08:00:29 +0000 (08:00 +0000)]
Fix cosmetic issues in AltiVec comments

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

10 years agoFix 'make dist'
DRC [Sun, 14 Dec 2014 11:47:49 +0000 (11:47 +0000)]
Fix 'make dist'

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

10 years agoFix 'make dist'
DRC [Sun, 14 Dec 2014 11:47:08 +0000 (11:47 +0000)]
Fix 'make dist'

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

10 years agoFix typos in test names
DRC [Mon, 8 Dec 2014 23:23:41 +0000 (23:23 +0000)]
Fix typos in test names

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

10 years agoRemove unused code
DRC [Mon, 1 Dec 2014 20:13:12 +0000 (20:13 +0000)]
Remove unused code

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

10 years agoFix build when INPUT_SMOOTHING_SUPPORTED is undefined
DRC [Mon, 1 Dec 2014 19:54:15 +0000 (19:54 +0000)]
Fix build when INPUT_SMOOTHING_SUPPORTED is undefined

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

10 years agoSome software also needs the FAR macro. Ugh. Also wordsmithing.
DRC [Tue, 25 Nov 2014 10:07:43 +0000 (10:07 +0000)]
Some software also needs the FAR macro.  Ugh.  Also wordsmithing.

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

10 years agoRestore the JPP() and JMETHOD() macros. Even though libjpeg-turbo doesn't use them...
DRC [Tue, 25 Nov 2014 09:48:15 +0000 (09:48 +0000)]
Restore the JPP() and JMETHOD() macros.  Even though libjpeg-turbo doesn't use them anymore, other software apparently does:
https://bugzilla.redhat.com/show_bug.cgi?id=1164815
https://bugs.kde.org/show_bug.cgi?id=340944
https://bugzilla.mozilla.org/show_bug.cgi?id=1093615

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

10 years agoOops. Include the tjPlane*() functions in the mapfile so that they are exposed in...
DRC [Sat, 22 Nov 2014 23:56:26 +0000 (23:56 +0000)]
Oops.  Include the tjPlane*() functions in the mapfile so that they are exposed in the shared library on ELF systems.

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

10 years agoFix Huffman local buffer overrun discovered by Debian developers when attempting...
DRC [Sat, 22 Nov 2014 22:09:30 +0000 (22:09 +0000)]
Fix Huffman local buffer overrun discovered by Debian developers when attempting to transform a junk image using ImageMagick:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768369

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

10 years agoFix whitespace issues introduced with previous commit.
DRC [Sat, 22 Nov 2014 04:25:04 +0000 (04:25 +0000)]
Fix whitespace issues introduced with previous commit.

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

10 years agoPrint the library version and exit whenever -version is passed to cjpeg, djpeg, or...
DRC [Sat, 22 Nov 2014 04:04:38 +0000 (04:04 +0000)]
Print the library version and exit whenever -version is passed to cjpeg, djpeg, or jpegtran.

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

10 years agoSometimes the sampling factors in grayscale images can be > 1 (for instance, if compr...
DRC [Wed, 19 Nov 2014 00:55:28 +0000 (00:55 +0000)]
Sometimes the sampling factors in grayscale images can be > 1 (for instance, if compressing using 'cjpeg -sample 2x2 -grayscale'.)  Technically, sampling factors have no meaning with grayscale JPEGs, and the libjpeg decompressor ignores them in that case.  Thus, the TurboJPEG decompressor should ignore them as well.

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

10 years agoMake TJCompressor.close() and TJDecompressor.close() idempotent
DRC [Tue, 18 Nov 2014 21:45:34 +0000 (21:45 +0000)]
Make TJCompressor.close() and TJDecompressor.close() idempotent

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

10 years agoUses clz and bsr instructions for bit counting on ARM64 platforms as well.
DRC [Tue, 18 Nov 2014 15:56:43 +0000 (15:56 +0000)]
Uses clz and bsr instructions for bit counting on ARM64 platforms as well.

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

10 years agoRemove trailing spaces
DRC [Thu, 6 Nov 2014 09:32:38 +0000 (09:32 +0000)]
Remove trailing spaces

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

10 years agoAnother oops. tjBufSizeYUV2() should return -1 if width < 1.
DRC [Thu, 23 Oct 2014 19:08:14 +0000 (19:08 +0000)]
Another oops.  tjBufSizeYUV2() should return -1 if width < 1.

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

10 years agoOops. tjPlaneSizeYUV() should return -1 if componentID > 0 and subsamp==TJSAMP_GRAY.
DRC [Thu, 23 Oct 2014 18:54:42 +0000 (18:54 +0000)]
Oops.  tjPlaneSizeYUV() should return -1 if componentID > 0 and subsamp==TJSAMP_GRAY.

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

10 years agoThe AltiVec code actually works on 32-bit PowerPC platforms as well, so change the...
DRC [Fri, 5 Sep 2014 07:23:12 +0000 (07:23 +0000)]
The AltiVec code actually works on 32-bit PowerPC platforms as well, so change the "powerpc64" token to "powerpc".  Also clean up the shift code, which wasn't building properly on OS X.

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

10 years agoAltiVec SIMD implementation of fast forward DCT
DRC [Fri, 5 Sep 2014 06:33:42 +0000 (06:33 +0000)]
AltiVec SIMD implementation of fast forward DCT

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

10 years agoBump version to 1.5 alpha1 to prepare for new features
DRC [Thu, 4 Sep 2014 18:51:31 +0000 (18:51 +0000)]
Bump version to 1.5 alpha1 to prepare for new features

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

10 years agoWhen building libjpeg-turbo on Un*x systems, INT32 is usually typedef'ed to long...
DRC [Thu, 4 Sep 2014 17:35:22 +0000 (17:35 +0000)]
When building libjpeg-turbo on Un*x systems, INT32 is usually typedef'ed to long, not int, so we need to specify an int pointer when doing a 4-byte write to the RGB565 output buffer.  On little endian systems, this doesn't matter, but when you write a 32-bit int to a 64-bit long pointer address on a big endian system, you are writing to the upper 4 bytes, not the lower 4 bytes.  NOTE: this will probably break on big endian systems that use 16-bit ints (are there any of those still around?)

This patch also removes an unneeded macro from jdmerge.c.

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

10 years agoWhen building libjpeg-turbo on Un*x systems, INT32 is usually typedef'ed to long...
DRC [Thu, 4 Sep 2014 17:28:28 +0000 (17:28 +0000)]
When building libjpeg-turbo on Un*x systems, INT32 is usually typedef'ed to long, not int, so we need to specify an int pointer when doing a 4-byte write to the RGB565 output buffer.  On little endian systems, this doesn't matter, but when you write a 32-bit int to a 64-bit long pointer address on a big endian system, you are writing to the upper 4 bytes, not the lower 4 bytes.  NOTE: this will probably break on big endian systems that use 16-bit ints (are there any of those still around?)

This patch also removes an unneeded macro from jdmerge.c.

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

10 years agoFix Windows build
DRC [Sat, 30 Aug 2014 22:01:05 +0000 (22:01 +0000)]
Fix Windows build

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

10 years agoFix issues with RGB565 color conversion on big endian machines. The RGB565 routines...
DRC [Sat, 30 Aug 2014 20:37:50 +0000 (20:37 +0000)]
Fix issues with RGB565 color conversion on big endian machines.  The RGB565 routines are now abstracted in a separate file, with separate little-endian and big-endian versions defined at compile time through the use of macros (this is similar to how the colorspace extension routines work.)  This allows big-endian machines to take advantage of the same performance optimizations as little-endian machines, and it retains the performance on little-endian machines, since the conditional branch for endianness is at a very coarse-grained level.

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

10 years agoFix build on OS X PowerPC platforms
DRC [Sat, 30 Aug 2014 13:52:09 +0000 (13:52 +0000)]
Fix build on OS X PowerPC platforms

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

10 years agoFix build on OS X PowerPC platforms
DRC [Sat, 30 Aug 2014 13:55:08 +0000 (13:55 +0000)]
Fix build on OS X PowerPC platforms

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

10 years agoOops. Forgot to alter the version header in the change log to indicate the release...
DRC [Sat, 30 Aug 2014 13:48:45 +0000 (13:48 +0000)]
Oops.  Forgot to alter the version header in the change log to indicate the release of 1.4 beta.

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

10 years agoCreate 1.4.x branch
DRC [Fri, 29 Aug 2014 02:39:35 +0000 (02:39 +0000)]
Create 1.4.x branch

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

10 years agoRename the ARM64 assembly file to match the C file 1.3.90
DRC [Fri, 29 Aug 2014 01:53:17 +0000 (01:53 +0000)]
Rename the ARM64 assembly file to match the C file

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

10 years agoFix several mathematical issues discovered in the ARM64 NEON code while running the...
DRC [Fri, 29 Aug 2014 01:49:59 +0000 (01:49 +0000)]
Fix several mathematical issues discovered in the ARM64 NEON code while running the extended regression tests introduced in r1267.  Specific comments can be found in the original patches:
https://sourceforge.net/p/libjpeg-turbo/patches/64/

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

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: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 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 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