Deringing via overshoot clipping
Use more integers in Catmull-Rom
Merge remote-tracking branch 'mozilla/master' into HEAD
C89 compatibility
Added missing braces
Merge pull request #103 from pornel/dctargfix

Added missing braces
Estimate maximum useful overshoot from quantization table
Merge pull request #101 from pornel/splinederinging

Deringing via overshoot clipping
Fix permissions on Windows-only files

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Windows: Add jpeg_float_quality_scaling to exported symbols

Windows requires exported symbols to be explicitly declared.

Also, use a very large ordinal number so that any future symbols
added by IJG or TurboJPEG will not break ABI.

Fixes #104.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Merge pull request #105 from dwbuiten/windowsfixes

Windows Fixes
C89 compat
Merge pull request #108 from pornel/c89

C89 compat
Merge branch 'floatovershoot' of https://github.com/pornel/mozjpeg into pornel-floatovershoot

Conflicts:
	jcdctmgr.c (resolved)
Fix mixed code/declarations
Restore backward ABI compatibility with libjpeg/libjpeg-turbo by moving the mozjpeg-specific parameters into the opaque jpeg_comp_master struct and implementing generic accessor functions for getting/setting those parameters. These functions can be used upstream, if the need for them arises in libjpeg-turbo, and they can also be easily extended to cover future extensions to the decompressor. Note that, in order to use jpeg_comp_master as a repository for extension parameters, cinfo->master is now allocated within the body of jpeg_CreateCompress(). It is later re-allocated in jinit_c_master_control(), because that function (and others in jcmaster.c) use an extended form of jpeg_comp_master, but the existing extension parameters are copied into the new master instance. Similar modifications would need to be made to the decompressor to support the same type of extension framework.
Fix build error encountered when using MS Visual C++ (it doesn't support C99) -- at least not the version of MSVC++ I'm using.)
Rebase the DLL function ordinals for the ABI compatibility accessor functions.
The ABI compatibility feature was developed by the current maintainer of
libjpeg-turbo with an eye toward eventual inclusion in libjpeg-turbo (once
other features are added to libjpeg-turbo that necessitate the inclusion.)
Thus, it is easy to ensure that the DLL function ordinals will be synchronized
between libjpeg-turbo and mozjpeg.  However, it still makes sense to allow for
a little bit of breathing room, just in case.  Thus, this patch uses ordinals
starting at 200 for the accessor functions.  It would probably make sense to
start the equivalent decompressor get/set functions at ordinal 300, once they
are implemented.
Update the example code to demonstrate the use of the new extension parameter
accessor function.
Use tabs in the DLL definition files, per Microsoft conventions.