Oops.  Forgot to alter the version header in the change log to indicate the release of 1.4 beta.


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1393 632fc199-4ca6-4c93-a231-07263d6284db
Fix build on OS X PowerPC platforms


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1395 632fc199-4ca6-4c93-a231-07263d6284db
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://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1398 632fc199-4ca6-4c93-a231-07263d6284db
Fix Windows build


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1400 632fc199-4ca6-4c93-a231-07263d6284db
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://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1402 632fc199-4ca6-4c93-a231-07263d6284db
Bump version to 1.5 alpha1 to prepare for new features


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1404 632fc199-4ca6-4c93-a231-07263d6284db
AltiVec SIMD implementation of fast forward DCT


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1405 632fc199-4ca6-4c93-a231-07263d6284db
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://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1406 632fc199-4ca6-4c93-a231-07263d6284db
Oops.  tjPlaneSizeYUV() should return -1 if componentID > 0 and subsamp==TJSAMP_GRAY.


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1407 632fc199-4ca6-4c93-a231-07263d6284db
Another oops.  tjBufSizeYUV2() should return -1 if width < 1.


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1409 632fc199-4ca6-4c93-a231-07263d6284db
Various wordsmithing and cosmetic changes to remove libjpeg-turbo-specific information
This patch does the following:
-- Implements some (hopefully non-controversial) changes to the package
descriptions, in order to prevent confusion (the existing descriptions from
libjpeg-turbo are not appropriate for mozjpeg.)
-- Replaces "libmozjpeg" with "mozjpeg" in all documentation and comments.  The project is called "mozjpeg", and it doesn't actually generate a library called
"libmozjpeg", so it doesn't make sense to use "libmozjpeg" to describe it.
-- Replaces "MozJPEG" with "TurboJPEG" in all documentation and comments.
"MozJPEG" appears to have been the product of blindly searching/replacing
instances of "Turbo".  TurboJPEG is the name of the API, and that name still
applies to the implementation in mozjpeg.  Furthermore, the TurboJPEG libraries
are still called "libturbojpeg" in mozjpeg.
-- Attempts to remove build instructions that are irrelevant or not applicable
to mozjpeg.  Further work possibly needs to be done here-- for instance, it
doesn't make much sense to have build instructions for mobile devices when the
library is not intended to be used for decoding.
-- Changes the vendor in the DEB and RPM files from "The libmozjpeg Project" to
"Mozilla Research".
-- Changes the source tarball location in the RPM spec file to correctly point
to the release tarball on github.
-- Changes the source directory in the RPM spec file to "mozjpeg-%{version}",
which is the actual name of the source directory in the mozjpeg tarballs.
Change "libmozjpeg" to "mozjpeg" in packaging and install functions
This might be slightly more controversial, since it changes the CMake and
autotools project names and the binaty package names to "mozjpeg", and it
changes the default install directory to /opt/mozjpeg.  To me, this makes much
more sense, but it does represent a change in operational behavior, which is
why I put it in a separate commit.
Fix a buglet introduced in the libjpeg-turbo changelog by mozjpeg
Reconcile indentation, whitespace, and other code formatting with libjpeg-turbo.
For whatever reason, some of these files didn't get fully merged from
libjpeg-turbo 1.4.  They still contained tab characters and other formatting
conventions from libjpeg-turbo 1.3.  This patch also fixes some obvious
indentation errors in the mozjpeg-specific code.  There is more formatting work
that needs to be done to the mozjpeg-specific code, to fix line overruns,
incorrect operator whitespace, and other issues that make it not consistent
with the libjpeg/libjpeg-turbo code.
Remove unused code in TJBench
The merge from libjpeg-turbo 1.4 somehow failed here, and this function from
1.3 was left hanging.
Change name of Mac package to com.mozilla.mozjpeg to avoid conflicts with libjpeg-turbo Mac package
Remove trailing spaces


git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1411 632fc199-4ca6-4c93-a231-07263d6284db
Merge branch 'libjpeg-turbo'

* libjpeg-turbo:
  Remove trailing spaces
  Another oops.  tjBufSizeYUV2() should return -1 if width < 1.
  Oops.  tjPlaneSizeYUV() should return -1 if componentID > 0 and subsamp==TJSAMP_GRAY.
  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.
  AltiVec SIMD implementation of fast forward DCT
  Bump version to 1.5 alpha1 to prepare for new features
  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?)
  Fix Windows build
  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.
  Fix build on OS X PowerPC platforms
  Oops.  Forgot to alter the version header in the change log to indicate the release of 1.4 beta.
Merge pull request #118 from dcommander/master

Backward ABI compatibility with libjpeg-turbo
Merge pull request #119

Define constant for number of DC trellis candidates