Commit Graph

94 Commits

Author SHA1 Message Date
DRC
aa5a1808fe SIMD support for performing upsampling using MIPS DSPr2 instructions 2013-07-27 21:50:02 +00:00
DRC
3f2e3b11f0 SIMD support for performing downsampling using MIPS DSPr2 instructions 2013-07-27 21:48:18 +00:00
DRC
41e3657631 SIMD support for performing fancy upsampling using MIPS DSPr2 instructions 2013-07-27 21:44:14 +00:00
DRC
64da9d6ba8 SIMD support for performing color conversion using MIPS DSPr2 instructions 2013-07-24 21:50:20 +00:00
DRC
c4c137f5e9 Fix the x86 build with NASM 0.98. Since NASM 0.98 is the default version on OS X, we want to at least allow people to build 32-bit code with it, even though it can't properly build 64-bit code. 2013-01-13 12:12:53 +00:00
DRC
f506e2cbb5 Fix build issues that occurred whenever the source directory contained the letters "col", "mer", or "gra". 2012-08-07 21:59:28 +00:00
DRC
7b8366223a More recent versions of autoconf add -traditional-cpp to the CPP flags, which causes jsimdcfg.inc.h to not preprocess correctly unless we expand all of the instances of the #definev macro. 2012-06-28 23:24:29 +00:00
DRC
791e9b4316 Fixed regression caused by a bug in the 32-bit strict memory access code in jdmrgss2.asm (contributed by Chromium to stop valgrind from whining whenever the output buffer size was not evenly divisible by 16 bytes.) On Linux/x86, this regression caused incorrect pixels on the right-hand side of images whose rows were not 16-byte aligned, whenever fancy upsampling was used. This patch also enables the strict memory access code on all platforms, not just Linux (it does no harm on other platforms) and removes a couple of pcmpeqb instructions that were rendered unnecessary by r836. 2012-06-15 21:58:06 +00:00
DRC
7702469e15 Eliminate the use of the MASKMOVDQU instruction, to speed up decompression performance by 10x on AMD Bobcat embedded processors (and ~5% on AMD desktop processors.) 2012-06-13 01:23:09 +00:00
DRC
ca423d39a3 Preserve all 128 bits of xmm6 and xmm7 2012-04-26 19:48:33 +00:00
DRC
f3e8b02df5 Visual Studio 2010 doesn't like the wildcard, so let CMake expand it instead. 2012-03-17 14:32:05 +00:00
DRC
dbfa2648d8 Accelerated 4:2:2 upsampling routine for ARM (improves performance ~20-30% when decompressing 4:2:2 JPEGs using fancy upsampling) 2012-02-02 22:32:45 +00:00
DRC
a112f12efd Compiler warnings 2012-01-31 05:27:41 +00:00
DRC
c1e4151607 Added new alpha channel colorspace constants/pixel formats, so applications can specify that they need the unused byte in a 4-component RGB output buffer set to 0xFF when decompressing. 2011-12-19 02:21:03 +00:00
DRC
90d7c850fa Fixed non-fatal out-of-bounds read in SSE2 SIMD code reported by valgrind when decompressing a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes. 2011-12-01 10:58:36 +00:00
DRC
8ec31e2fb2 Expose NASM variable in ccmake 2011-11-29 09:01:23 +00:00
DRC
e0eea893be NASM automatically adds the current directory to the include path, but YASM doesn't, so we need to explicitly add it. 2011-11-29 08:58:27 +00:00
DRC
d345306ecc When decompressing to a 4-byte RGB buffer, set the unused byte to 0xFF so it can be interpreted as an opaque alpha channel. 2011-09-08 23:54:40 +00:00
DRC
edf4d637e1 Improve performance of non-SIMD color conversion routines and use global constants to define colorspace extension parameters 2011-09-07 06:31:00 +00:00
DRC
e808882c95 Update Nokia contact info 2011-09-06 18:58:22 +00:00
DRC
a02a9af565 Improve performance of IFAST iDCT by changing the order of transpose and descale steps 2011-09-06 18:57:53 +00:00
DRC
061f96dc7d Make ARM ISLOW iDCT faster on typical cases, and eliminate the possibility of 16-bit overflows when handling arbitrary coefficients. 2011-09-06 18:55:45 +00:00
DRC
00e258dedd Improve the performance of YCbCr to RGB conversion on ARM 2011-08-24 23:27:44 +00:00
DRC
7672bd3ac5 NEON-accelerated slow integer inverse DCT 2011-08-22 13:48:01 +00:00
DRC
00a69f142a NEON-accelerated quantization 2011-08-17 21:00:59 +00:00
DRC
dbb92f2eee Improve performance of ARM NEON IFAST iDCT 2011-08-15 08:36:51 +00:00
DRC
22b4359e42 ARM NEON-accelerated RGB-to-YCbCr conversion 2011-08-12 19:27:20 +00:00
DRC
ce02d1d62a Support for accelerated forward DCT using ARM NEON instructions 2011-08-10 23:31:13 +00:00
DRC
e3f7e75525 NEON-optimized 2x2 and 4x4 scaled iDCTs 2011-06-17 21:12:58 +00:00
DRC
d02c734a19 iOS ARM support 2011-06-14 22:16:50 +00:00
DRC
fcdffa2265 Not necessary to save r10 and r11, since these are scratch registers 2011-05-10 21:44:33 +00:00
DRC
99799a6c29 ARM NEON support 2011-05-03 08:47:43 +00:00
DRC
a399b5bbea YASM support 2011-05-03 06:32:41 +00:00
DRC
4611077eab Don't need MSVC definition in assembler code anymore 2011-04-07 05:27:29 +00:00
DRC
31a13fcbb2 Attempt to make build work with Visual Studio 2010 (still doesn't work if SIMD or Java are enabled-- see bug tracker) 2011-04-04 21:00:53 +00:00
DRC
115955e36e Ensure that *gra*.asm is rebuilt whenever *gry*.asm changes. 2011-04-02 02:14:13 +00:00
DRC
51a4282abc MinGW64 no longer prefixes symbols with underscores by default 2011-03-22 09:19:29 +00:00
DRC
58a0845738 Include new grayscale SIMD routines in dist 2011-03-04 14:05:23 +00:00
DRC
0c7b322efe Fix Windows build; Add grayscale tests to Windows build; Add proper implementation of snprintf on Windows and use snprintf() in TurboJPEG library and tests instead of sprintf() 2011-03-02 02:17:30 +00:00
DRC
f2cb47a275 Add short names for RGB->grayscale MMX functions 2011-02-27 09:09:54 +00:00
DRC
a8bb67e5a9 Change filename in header 2011-02-27 07:59:38 +00:00
DRC
25299d0d2f Updated (C) 2011-02-18 20:43:04 +00:00
DRC
439527e0b9 SIMD-accelerated RGB-to-Grayscale color conversion 2011-02-18 11:23:45 +00:00
DRC
b10fb30664 Oops. Committed debugging code 2011-02-02 06:02:38 +00:00
DRC
d83e1f8900 Clarify that the C wrappers fall under the same license as the rest of the SIMD code 2011-02-02 05:38:34 +00:00
DRC
5a5af28b7c Clarify that the C wrappers fall under the same license as the rest of the SIMD code 2011-02-02 05:29:19 +00:00
DRC
71cbfe8860 Allow RPMs and SRPMs to be generated with v7/v8b emulation; Add CMake scripts and other missing files to source distribution 2010-10-18 00:15:31 +00:00
DRC
edc8253164 Fix dependencies for the color conversion routines, which build other .asm files indirectly 2010-10-15 20:07:41 +00:00
DRC
e0b2920fdd Unix LF 2010-10-15 08:43:32 +00:00
DRC
03c5cacaec Allow nasm path to be overridden 2010-10-15 08:39:44 +00:00