1. d6d1b51 Remove unnecessary .arch directive in ARM64 code by DRC · 9 years ago
  2. dacf5b3 Merge "Compile x86 and x86-64 SIMD optimizations" by Matt Sarett · 9 years ago
  3. b3ffc5a Compile x86 and x86-64 SIMD optimizations by Matt Sarett · 9 years ago
  4. fa621c1 Clean up files used by chromium's copy of libjpeg-turbo by Matt Sarett · 9 years ago
  5. 2a6062f Update libjpeg-turbo to 1.4.2 by Matt Sarett · 9 years ago
  6. 8f30059 Set up config files by Matt Sarett · 9 years ago
  7. 54792ba Fix MIPS DSPr2 4:2:0 upsample bug w/ small images by James Cowgill · 9 years ago
  8. 498d9bc Fix x86-64 ABI conformance issue in SIMD code by Chandler Carruth · 9 years ago
  9. feec46f Add support for decoding to 565 to libjpeg_turbo by Aaron Gable · 9 years ago
  10. eea6424 Typo by DRC · 9 years ago
  11. f4631b6 [libjpeg_turbo] Fix ARM NEON build by noel@chromium.org · 9 years ago
  12. f15ef33 Fix a segfault that occured in the MIPS DSPr2 fancy upsampling routine when downsampled_width==3. Because the DSPr2 code unrolls the loop for the middle columns (refer to jdsample.c), it has the effect of performing two column iterations, and that only works properly if the number of columns (minus the first and last) is >= 2. For the specific case of downsampled_width==3, this patch skips to the second iteration of the unrolled column loop. by DRC · 9 years ago
  13. 3b7015d Enable silent build rules for the NASM objects, if the source is configured with automake 1.11 or later. NOTE: the build still spits out "error: ignoring unknown tag NASM" for each object, but unfortunately, if we remove "--tag NASM" from the command line, the build breaks under older versions of automake (it aborts with "unable to infer tagged configuration.") by DRC · 10 years ago
  14. 8b5a009 Oops. The MIPS SIMD implementations of h2v1 and h2v2 upsampling were not checking for DSPr2 support, so running 'djpeg -nosmooth' on a non-DSPr2-enabled platform caused an "illegal instruction" error. by DRC · 10 years ago
  15. 62999d7 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. by DRC · 10 years ago
  16. 2ed5319 Add ARM64 SIMD support to libjpeg_turbo by rmcilroy@chromium.org · 10 years ago
  17. 0a9a252 Rename the ARM64 assembly file to match the C file by DRC · 10 years ago
  18. de26249 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: by DRC · 10 years ago
  19. a6efae1 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.) by DRC · 10 years ago
  20. bdc7650 ARM64 NEON SIMD support for YCC-to-RGB565 conversion by DRC · 10 years ago
  21. d729f4d ARM NEON SIMD support for YCC-to-RGB565 conversion, and optimizations to the existing YCC-to-RGB conversion code: by DRC · 10 years ago
  22. 55e328e 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. by DRC · 10 years ago
  23. 2e2ce5a .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). by DRC · 10 years ago
  24. 7a076b5 libjpeg-turbo: Remove .func / .endfunc directives. by thakis@chromium.org · 10 years ago
  25. 8a74848 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. by DRC · 10 years ago
  26. a8ab342 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. by DRC · 10 years ago
  27. 3728aa0 Fix performance and other issues uncovered in testing with actual ARM64 hardware; formatting tweaks; remove NEON platform check (NEON is always available with ARMv8) by DRC · 10 years ago
  28. 2472bc7 Add proper support for Borland compilers (Borland needs section names to be prefixed with an underscore, and it needs OMF object files.) by DRC · 10 years ago
  29. 495e434 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. by DRC · 10 years ago
  30. 5ef4630 SIMD-accelerated int upsample routine for MIPS DSPr2 by DRC · 10 years ago
  31. c728cfd Fix MIPS build by DRC · 10 years ago
  32. 5033f3e 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. by DRC · 10 years ago
  33. bc56b75 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. by DRC · 10 years ago
  34. 52ded87 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.) by DRC · 10 years ago
  35. 1419852 Clean up code formatting in the SIMD interface functions by DRC · 10 years ago
  36. 1b3fd7e SIMD-accelerated NULL convert routine for MIPS DSPr2 by DRC · 10 years ago
  37. 0bf325b Fix error in MIPS DSPr2 accelerated smooth downsample routine by DRC · 10 years ago
  38. 6a61c1e SIMD-accelerated h2v2 smooth downsampling routine for MIPS DSPr2 by DRC · 10 years ago
  39. b844eaa SIMD-accelerated merged upsampling routines for MIPS DSPr2 by DRC · 10 years ago
  40. e47364a Modify Windows build system to take into account new assembly file names by DRC · 10 years ago
  41. 24e92e9 Using subdirectories unfortunately opened up a can of worms. In order to prevent object name conflicts, it is necessary to use the subdir-objects automake directive, but it simply doesn't work right on some of the versions of automake we still have to support. Another option would be to add a separate Makefile.am file to each subdirectory, but that requires maintaining a completely different set of build rules for each one. Fortunately, however, we're in the 21st century now, so we can use filenames longer than 8.3. by DRC · 10 years ago
  42. 72130be Re-organize the x86/x86-64 SIMD routines into separate folders by instruction set so we can name each routine similarly to its corresponding C file. This also makes it easier to add support for new instruction sets. by DRC · 10 years ago
  43. 1a45b81 Remove trailing spaces (+ one additional tab in TJUnitTest.java that was missed in the previous commit) by DRC · 10 years ago
  44. e5eaf37 Convert tabs to spaces in the libjpeg code and the SIMD code (TurboJPEG retains the use of tabs for historical reasons. They were annoying in the libjpeg code primarily because they were not consistently used and because they were used to format as well as indent the code. In the case of TurboJPEG, tabs are used just to indent the code, so even if the editor assumes a different tab width, the code will still be readable.) by DRC · 10 years ago
  45. 771886c Fix an error in the MIPS DSPr2 fancy upsampling routine by DRC · 10 years ago
  46. 3434786 SIMD-accelerated slow integer IDCT routine for MIPS DSPr2 by DRC · 10 years ago
  47. 3395bcc Upgrade libjpeg_turbo to 1.3.1 (r1219) by noel@chromium.org · 10 years ago
  48. 9397469 Remove trailing space by DRC · 11 years ago
  49. e189ec7 Remove trailing space by DRC · 11 years ago
  50. 2d07ee5 Create a separate stub file for 64-bit ARM, since it currently implements only the decompression-related functions. by DRC · 11 years ago
  51. ba55b2c First pass at ARMv8 64-bit NEON SIMD support by DRC · 11 years ago
  52. 3e00f03 Formatting tweaks by DRC · 11 years ago
  53. edc846f Formatting tweaks by DRC · 11 years ago
  54. 19eeaa7 Make environment variable syntax consistent between ARM and x86 code, and add an option to disable SIMD on x86 (this option will be added to the x86-64 code as well, but it makes more sense to add it when we add AVX support.) by DRC · 11 years ago
  55. fff6c23 SIMD-accelerated integer convsamp routine for MIPS DSPr2 by DRC · 11 years ago
  56. 3d72728 SIMD-accelerated floating point quantize and convsamp routines for MIPS DSPr2 by DRC · 11 years ago
  57. d3131c1 SIMD-accelerated fast integer inverse DCT routine for MIPS DSPr2 by DRC · 11 years ago
  58. 71e06a7 SIMD-accelerated fast integer forward DCT routine for MIPS DSPr2 by DRC · 11 years ago
  59. a6b7fbd SIMD-accelerated slow integer forward DCT and quantize routines for MIPS DSPr2 by DRC · 11 years ago
  60. e500591 SIMD-accelerated 3/4 and 3/2 decompression scaling for MIPS DSPr2 by DRC · 11 years ago
  61. 2ccf4d1 SIMD-accelerated 1/2 and 1/4 decompression scaling for MIPS DSPr2 by DRC · 11 years ago
  62. 49eaa75 SIMD-optimized RGB-to-grayscale conversion for MIPS DSPr2 by DRC · 11 years ago
  63. 922b14b Fix segfault in MIPS DSPr2 upsample routines that occurred when doing 'make test' by DRC · 11 years ago
  64. 371b420 Fix 'make dist' by DRC · 11 years ago
  65. 16962c1 SIMD support for performing upsampling using MIPS DSPr2 instructions by DRC · 11 years ago
  66. 6f2d3c2 SIMD support for performing downsampling using MIPS DSPr2 instructions by DRC · 11 years ago
  67. 86fbf35 SIMD support for performing fancy upsampling using MIPS DSPr2 instructions by DRC · 11 years ago
  68. 0be9fa5 SIMD support for performing color conversion using MIPS DSPr2 instructions by DRC · 11 years ago
  69. b87a0b4 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. by DRC · 12 years ago
  70. 29d8f25 Fix build issues that occurred whenever the source directory contained the letters "col", "mer", or "gra". by DRC · 12 years ago
  71. 11e6ee9 Update libjpeg-turbo to r856. by hbono@chromium.org · 12 years ago
  72. 112a0bb 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. by DRC · 12 years ago
  73. 8126d0c 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 generated 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 r835. by DRC · 12 years ago
  74. 316617f Accelerated 4:2:2 upsampling routine for ARM (improves performance ~20-30% when decompressing 4:2:2 JPEGs using fancy upsampling) by DRC · 12 years ago
  75. 6979927 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.) by DRC · 12 years ago
  76. df5ffdd Update libjpeg-turbo. This change updates our copy of libjpeg-turbo to r829. by hbono@chromium.org · 12 years ago
  77. 4f24016 Preserve all 128 bits of xmm6 and xmm7 by DRC · 12 years ago
  78. 8015a30 Visual Studio 2010 doesn't like the wildcard at compile time, so let CMake expand it instead. by DRC · 13 years ago
  79. 1c3c7ff JPEG_DECODE_ONLY macro reintroduced to allow just the decode functions to be linked in by fbarchard@chromium.org · 13 years ago
  80. d65d99a Compiler warnings by DRC · 13 years ago
  81. 0ec930e Update libjpeg-turbo to 1.2.0. by hbono@chromium.org · 13 years ago
  82. 67ce3b2 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. by DRC · 13 years ago
  83. ebfe9e4 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. by DRC · 13 years ago
  84. c412184 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. by DRC · 13 years ago
  85. 795e6ad 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. by DRC · 13 years ago
  86. 105f9a9 Expose NASM variable in ccmake by DRC · 13 years ago
  87. 0f905d3 Expose NASM variable in ccmake by DRC · 13 years ago
  88. 1ca924a NASM automatically adds the current directory to the include path, but YASM doesn't, so we need to explicitly add it. by DRC · 13 years ago
  89. c6beb74 Update libjpeg-turbo to r722. by hbono@chromium.org · 13 years ago
  90. f1c0942 Make libjpeg-turbo PIC-clean on 32-bit Linux. by agl@chromium.org · 13 years ago
  91. c08e8c1 When decompressing to a 4-byte RGB buffer, set the unused byte to 0xFF so it can be interpreted as an opaque alpha channel. by DRC · 13 years ago
  92. b4570bb Improve performance of non-SIMD color conversion routines and use global constants to define colorspace extension parameters by DRC · 13 years ago
  93. b071f01 Update Nokia contact info by DRC · 13 years ago
  94. ad6955d Improve performance of IFAST iDCT by changing the order of transpose and descale steps by DRC · 13 years ago
  95. 5129e39 Make ARM ISLOW iDCT faster on typical cases, and eliminate the possibility of 16-bit overflows when handling arbitrary coefficients. by DRC · 13 years ago
  96. 98a44fe Improve the performance of YCbCr to RGB conversion on ARM by DRC · 13 years ago
  97. ce4e3e8 NEON-accelerated slow integer inverse DCT by DRC · 13 years ago
  98. 82bd521 NEON-accelerated quantization by DRC · 13 years ago
  99. 4b024a6 Improve performance of ARM NEON IFAST iDCT by DRC · 13 years ago
  100. 7a9376c ARM NEON-accelerated RGB-to-YCbCr conversion by DRC · 13 years ago