diff options
author | volzhs <volzhs@gmail.com> | 2016-07-08 22:10:25 +0900 |
---|---|---|
committer | volzhs <volzhs@gmail.com> | 2016-07-08 22:10:25 +0900 |
commit | e55c6f823251fcff366c7ce93b3ab0bf1fdedd68 (patch) | |
tree | 3c1260fa665622d8f3269e454cef69ae66d6e7ce | |
parent | ddd446f274d33d8624da3fd842c23e9ede0e6b11 (diff) |
Modified webp source codes for godot
38 files changed, 70 insertions, 57 deletions
diff --git a/drivers/webp/dec/alpha.c b/drivers/webp/dec/alpha.c index 028eb3d50b..19ce548e96 100644 --- a/drivers/webp/dec/alpha.c +++ b/drivers/webp/dec/alpha.c @@ -18,7 +18,7 @@ #include "../dsp/dsp.h" #include "../utils/quant_levels_dec.h" #include "../utils/utils.h" -#include "../webp/format_constants.h" +#include "webp/format_constants.h" //------------------------------------------------------------------------------ // ALPHDecoder object. diff --git a/drivers/webp/dec/decode_vp8.h b/drivers/webp/dec/decode_vp8.h index b9337bbec0..2bf1bdbbf5 100644 --- a/drivers/webp/dec/decode_vp8.h +++ b/drivers/webp/dec/decode_vp8.h @@ -14,7 +14,7 @@ #ifndef WEBP_WEBP_DECODE_VP8_H_ #define WEBP_WEBP_DECODE_VP8_H_ -#include "../webp/decode.h" +#include "webp/decode.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/dec/webp.c b/drivers/webp/dec/webp.c index d0b912f02f..dd6c090f00 100644 --- a/drivers/webp/dec/webp.c +++ b/drivers/webp/dec/webp.c @@ -17,7 +17,7 @@ #include "./vp8li.h" #include "./webpi.h" #include "../utils/utils.h" -#include "../webp/mux_types.h" // ALPHA_FLAG +#include "webp/mux_types.h" // ALPHA_FLAG //------------------------------------------------------------------------------ // RIFF layout is: diff --git a/drivers/webp/demux/anim_decode.c b/drivers/webp/demux/anim_decode.c index 1989eb4ab4..39cf3de197 100644 --- a/drivers/webp/demux/anim_decode.c +++ b/drivers/webp/demux/anim_decode.c @@ -11,15 +11,15 @@ // #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #include <assert.h> #include <string.h> #include "../utils/utils.h" -#include "../webp/decode.h" -#include "../webp/demux.h" +#include "webp/decode.h" +#include "webp/demux.h" #define NUM_CHANNELS 4 diff --git a/drivers/webp/demux/demux.c b/drivers/webp/demux/demux.c index 0d2989f6f4..df93c5b379 100644 --- a/drivers/webp/demux/demux.c +++ b/drivers/webp/demux/demux.c @@ -11,7 +11,7 @@ // #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #include <assert.h> @@ -19,9 +19,9 @@ #include <string.h> #include "../utils/utils.h" -#include "../webp/decode.h" // WebPGetFeatures -#include "../webp/demux.h" -#include "../webp/format_constants.h" +#include "webp/decode.h" // WebPGetFeatures +#include "webp/demux.h" +#include "webp/format_constants.h" #define DMUX_MAJ_VERSION 0 #define DMUX_MIN_VERSION 3 diff --git a/drivers/webp/dsp/dsp.h b/drivers/webp/dsp/dsp.h index 1faac27b2b..2469f7d3ac 100644 --- a/drivers/webp/dsp/dsp.h +++ b/drivers/webp/dsp/dsp.h @@ -15,10 +15,10 @@ #define WEBP_DSP_DSP_H_ #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/dsp/lossless.h b/drivers/webp/dsp/lossless.h index 9f0d7a25b7..7709b4fe85 100644 --- a/drivers/webp/dsp/lossless.h +++ b/drivers/webp/dsp/lossless.h @@ -15,8 +15,8 @@ #ifndef WEBP_DSP_LOSSLESS_H_ #define WEBP_DSP_LOSSLESS_H_ -#include "../webp/types.h" -#include "../webp/decode.h" +#include "webp/types.h" +#include "webp/decode.h" #include "../enc/histogram.h" #include "../utils/utils.h" diff --git a/drivers/webp/enc/alpha.c b/drivers/webp/enc/alpha.c index 03e3ad07f5..464df4db09 100644 --- a/drivers/webp/enc/alpha.c +++ b/drivers/webp/enc/alpha.c @@ -19,7 +19,7 @@ #include "../utils/filters.h" #include "../utils/quant_levels.h" #include "../utils/utils.h" -#include "../webp/format_constants.h" +#include "webp/format_constants.h" // ----------------------------------------------------------------------------- // Encodes the given alpha data via specified compression method 'method'. diff --git a/drivers/webp/enc/backward_references.h b/drivers/webp/enc/backward_references.h index 0cadb11e11..b72a01fb0e 100644 --- a/drivers/webp/enc/backward_references.h +++ b/drivers/webp/enc/backward_references.h @@ -15,8 +15,8 @@ #include <assert.h> #include <stdlib.h> -#include "../webp/types.h" -#include "../webp/format_constants.h" +#include "webp/types.h" +#include "webp/format_constants.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/enc/config.c b/drivers/webp/enc/config.c index f9f7961d58..8fd2276cb5 100644 --- a/drivers/webp/enc/config.c +++ b/drivers/webp/enc/config.c @@ -11,7 +11,7 @@ // // Author: Skal (pascal.massimino@gmail.com) -#include "../webp/encode.h" +#include "webp/encode.h" //------------------------------------------------------------------------------ // WebPConfig diff --git a/drivers/webp/enc/delta_palettization.c b/drivers/webp/enc/delta_palettization.c index 062e588d79..8bd3a3d233 100644 --- a/drivers/webp/enc/delta_palettization.c +++ b/drivers/webp/enc/delta_palettization.c @@ -13,7 +13,7 @@ #include "./delta_palettization.h" #ifdef WEBP_EXPERIMENTAL_FEATURES -#include "../webp/types.h" +#include "webp/types.h" #include "../dsp/lossless.h" #define MK_COL(r, g, b) (((r) << 16) + ((g) << 8) + (b)) diff --git a/drivers/webp/enc/delta_palettization.h b/drivers/webp/enc/delta_palettization.h index e41c0c5ab5..54195d452c 100644 --- a/drivers/webp/enc/delta_palettization.h +++ b/drivers/webp/enc/delta_palettization.h @@ -13,7 +13,7 @@ #ifndef WEBP_ENC_DELTA_PALETTIZATION_H_ #define WEBP_ENC_DELTA_PALETTIZATION_H_ -#include "../webp/encode.h" +#include "webp/encode.h" #include "../enc/vp8li.h" // Replaces enc->argb_[] input by a palettizable approximation of it, diff --git a/drivers/webp/enc/frame.c b/drivers/webp/enc/frame.c index 5b7a40b9ad..65a98ada4d 100644 --- a/drivers/webp/enc/frame.c +++ b/drivers/webp/enc/frame.c @@ -17,7 +17,7 @@ #include "./cost.h" #include "./vp8enci.h" #include "../dsp/dsp.h" -#include "../webp/format_constants.h" // RIFF constants +#include "webp/format_constants.h" // RIFF constants #define SEGMENT_VISU 0 #define DEBUG_SEARCH 0 // useful to track search convergence diff --git a/drivers/webp/enc/histogram.c b/drivers/webp/enc/histogram.c index 395372b245..61544f4ccd 100644 --- a/drivers/webp/enc/histogram.c +++ b/drivers/webp/enc/histogram.c @@ -10,7 +10,7 @@ // Author: Jyrki Alakuijala (jyrki@google.com) // #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #include <math.h> diff --git a/drivers/webp/enc/histogram.h b/drivers/webp/enc/histogram.h index d303d1d58b..59de42b33e 100644 --- a/drivers/webp/enc/histogram.h +++ b/drivers/webp/enc/histogram.h @@ -17,8 +17,8 @@ #include <string.h> #include "./backward_references.h" -#include "../webp/format_constants.h" -#include "../webp/types.h" +#include "webp/format_constants.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/enc/syntax.c b/drivers/webp/enc/syntax.c index a0e79ef404..2b65f15ca1 100644 --- a/drivers/webp/enc/syntax.c +++ b/drivers/webp/enc/syntax.c @@ -14,8 +14,8 @@ #include <assert.h> #include "../utils/utils.h" -#include "../webp/format_constants.h" // RIFF constants -#include "../webp/mux_types.h" // ALPHA_FLAG +#include "webp/format_constants.h" // RIFF constants +#include "webp/mux_types.h" // ALPHA_FLAG #include "./vp8enci.h" //------------------------------------------------------------------------------ diff --git a/drivers/webp/enc/vp8enci.h b/drivers/webp/enc/vp8enci.h index c1fbd7644e..efd2f19a9b 100644 --- a/drivers/webp/enc/vp8enci.h +++ b/drivers/webp/enc/vp8enci.h @@ -20,7 +20,7 @@ #include "../utils/bit_writer.h" #include "../utils/thread.h" #include "../utils/utils.h" -#include "../webp/encode.h" +#include "webp/encode.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/enc/vp8l.c b/drivers/webp/enc/vp8l.c index c16e2560ec..1f2d41ea91 100644 --- a/drivers/webp/enc/vp8l.c +++ b/drivers/webp/enc/vp8l.c @@ -23,7 +23,7 @@ #include "../utils/bit_writer.h" #include "../utils/huffman_encode.h" #include "../utils/utils.h" -#include "../webp/format_constants.h" +#include "webp/format_constants.h" #include "./delta_palettization.h" diff --git a/drivers/webp/enc/vp8li.h b/drivers/webp/enc/vp8li.h index 371e276ee0..8e6b360d81 100644 --- a/drivers/webp/enc/vp8li.h +++ b/drivers/webp/enc/vp8li.h @@ -17,8 +17,8 @@ #include "./backward_references.h" #include "./histogram.h" #include "../utils/bit_writer.h" -#include "../webp/encode.h" -#include "../webp/format_constants.h" +#include "webp/encode.h" +#include "webp/format_constants.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/mux/anim_encode.c b/drivers/webp/mux/anim_encode.c index 53e2906a82..2226febf13 100644 --- a/drivers/webp/mux/anim_encode.c +++ b/drivers/webp/mux/anim_encode.c @@ -17,10 +17,10 @@ #include <stdlib.h> // for abs() #include "../utils/utils.h" -#include "../webp/decode.h" -#include "../webp/encode.h" -#include "../webp/format_constants.h" -#include "../webp/mux.h" +#include "webp/decode.h" +#include "webp/encode.h" +#include "webp/format_constants.h" +#include "webp/mux.h" #if defined(_MSC_VER) && _MSC_VER < 1900 #define snprintf _snprintf diff --git a/drivers/webp/mux/muxi.h b/drivers/webp/mux/muxi.h index d4d5cbad91..3f6428c4df 100644 --- a/drivers/webp/mux/muxi.h +++ b/drivers/webp/mux/muxi.h @@ -17,7 +17,7 @@ #include <stdlib.h> #include "../dec/vp8i.h" #include "../dec/vp8li.h" -#include "../webp/mux.h" +#include "webp/mux.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/bit_reader.c b/drivers/webp/utils/bit_reader.c index 50ffb74f9c..13c6cf316e 100644 --- a/drivers/webp/utils/bit_reader.c +++ b/drivers/webp/utils/bit_reader.c @@ -12,7 +12,7 @@ // Author: Skal (pascal.massimino@gmail.com) #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #include "./bit_reader_inl.h" @@ -41,7 +41,12 @@ void VP8InitBitReader(VP8BitReader* const br, br->bits_ = -8; // to load the very first 8bits br->eof_ = 0; VP8BitReaderSetBuffer(br, start, size); +#ifdef JAVASCRIPT_ENABLED // html5 required aligned reads + while(((uintptr_t)br->buf_ & 1) != 0 && !br->eof_) + VP8LoadFinalBytes(br); +#else VP8LoadNewBytes(br); +#endif } void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset) { diff --git a/drivers/webp/utils/bit_reader.h b/drivers/webp/utils/bit_reader.h index ec3426cd11..c2dcc711c0 100644 --- a/drivers/webp/utils/bit_reader.h +++ b/drivers/webp/utils/bit_reader.h @@ -19,7 +19,7 @@ #ifdef _MSC_VER #include <stdlib.h> // _byteswap_ulong #endif -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { @@ -37,6 +37,12 @@ extern "C" { // BITS can be any multiple of 8 from 8 to 56 (inclusive). // Pick values that fit natural register size. +#ifdef JAVASCRIPT_ENABLED + +#define BITS 16 + +#else + #if defined(__i386__) || defined(_M_IX86) // x86 32bit #define BITS 24 #elif defined(__x86_64__) || defined(_M_X64) // x86 64bit @@ -51,6 +57,8 @@ extern "C" { #define BITS 24 #endif +#endif + //------------------------------------------------------------------------------ // Derived types and constants: // bit_t = natural register type for storing 'value_' (which is BITS+8 bits) diff --git a/drivers/webp/utils/bit_reader_inl.h b/drivers/webp/utils/bit_reader_inl.h index 99ed3137d2..21faf14d83 100644 --- a/drivers/webp/utils/bit_reader_inl.h +++ b/drivers/webp/utils/bit_reader_inl.h @@ -17,7 +17,7 @@ #define WEBP_UTILS_BIT_READER_INL_H_ #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #ifdef WEBP_FORCE_ALIGNED diff --git a/drivers/webp/utils/bit_writer.h b/drivers/webp/utils/bit_writer.h index ef360d1dc6..867a5ee055 100644 --- a/drivers/webp/utils/bit_writer.h +++ b/drivers/webp/utils/bit_writer.h @@ -14,7 +14,7 @@ #ifndef WEBP_UTILS_BIT_WRITER_H_ #define WEBP_UTILS_BIT_WRITER_H_ -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/color_cache.h b/drivers/webp/utils/color_cache.h index a9a9f64270..34299e4c4e 100644 --- a/drivers/webp/utils/color_cache.h +++ b/drivers/webp/utils/color_cache.h @@ -15,7 +15,7 @@ #ifndef WEBP_UTILS_COLOR_CACHE_H_ #define WEBP_UTILS_COLOR_CACHE_H_ -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/filters.h b/drivers/webp/utils/filters.h index 088b132fc5..4aba3fd3b7 100644 --- a/drivers/webp/utils/filters.h +++ b/drivers/webp/utils/filters.h @@ -14,7 +14,7 @@ #ifndef WEBP_UTILS_FILTERS_H_ #define WEBP_UTILS_FILTERS_H_ -#include "../webp/types.h" +#include "webp/types.h" #include "../dsp/dsp.h" #ifdef __cplusplus diff --git a/drivers/webp/utils/huffman.c b/drivers/webp/utils/huffman.c index 36e5502836..7c9d83db9a 100644 --- a/drivers/webp/utils/huffman.c +++ b/drivers/webp/utils/huffman.c @@ -15,8 +15,8 @@ #include <stdlib.h> #include <string.h> #include "./huffman.h" +#include "webp/format_constants.h" #include "./utils.h" -#include "../webp/format_constants.h" // Huffman data read via DecodeImageStream is represented in two (red and green) // bytes. diff --git a/drivers/webp/utils/huffman.h b/drivers/webp/utils/huffman.h index c6dd6aaa45..a8cc0da1c3 100644 --- a/drivers/webp/utils/huffman.h +++ b/drivers/webp/utils/huffman.h @@ -15,8 +15,8 @@ #define WEBP_UTILS_HUFFMAN_H_ #include <assert.h> -#include "../webp/format_constants.h" -#include "../webp/types.h" +#include "webp/format_constants.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/huffman_encode.c b/drivers/webp/utils/huffman_encode.c index 4e5ef6b447..0be414a8f8 100644 --- a/drivers/webp/utils/huffman_encode.c +++ b/drivers/webp/utils/huffman_encode.c @@ -15,8 +15,8 @@ #include <stdlib.h> #include <string.h> #include "./huffman_encode.h" +#include "webp/format_constants.h" #include "./utils.h" -#include "../webp/format_constants.h" // ----------------------------------------------------------------------------- // Util function to optimize the symbol map for RLE coding diff --git a/drivers/webp/utils/huffman_encode.h b/drivers/webp/utils/huffman_encode.h index a157165148..93610066f3 100644 --- a/drivers/webp/utils/huffman_encode.h +++ b/drivers/webp/utils/huffman_encode.h @@ -14,7 +14,7 @@ #ifndef WEBP_UTILS_HUFFMAN_ENCODE_H_ #define WEBP_UTILS_HUFFMAN_ENCODE_H_ -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/quant_levels.h b/drivers/webp/utils/quant_levels.h index 1cb5a32cae..3916b977ab 100644 --- a/drivers/webp/utils/quant_levels.h +++ b/drivers/webp/utils/quant_levels.h @@ -16,7 +16,7 @@ #include <stdlib.h> -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/quant_levels_dec.h b/drivers/webp/utils/quant_levels_dec.h index 59a13495d3..c99a475386 100644 --- a/drivers/webp/utils/quant_levels_dec.h +++ b/drivers/webp/utils/quant_levels_dec.h @@ -14,7 +14,7 @@ #ifndef WEBP_UTILS_QUANT_LEVELS_DEC_H_ #define WEBP_UTILS_QUANT_LEVELS_DEC_H_ -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/random.h b/drivers/webp/utils/random.h index c392a615ca..745f3e2e87 100644 --- a/drivers/webp/utils/random.h +++ b/drivers/webp/utils/random.h @@ -15,7 +15,7 @@ #define WEBP_UTILS_RANDOM_H_ #include <assert.h> -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/rescaler.h b/drivers/webp/utils/rescaler.h index 98b01a76d0..868467b4d7 100644 --- a/drivers/webp/utils/rescaler.h +++ b/drivers/webp/utils/rescaler.h @@ -18,7 +18,7 @@ extern "C" { #endif -#include "../webp/types.h" +#include "webp/types.h" #define WEBP_RESCALER_RFIX 32 // fixed-point precision for multiplies #define WEBP_RESCALER_ONE (1ull << WEBP_RESCALER_RFIX) diff --git a/drivers/webp/utils/thread.h b/drivers/webp/utils/thread.h index 8408311855..6008bb7c01 100644 --- a/drivers/webp/utils/thread.h +++ b/drivers/webp/utils/thread.h @@ -15,10 +15,10 @@ #define WEBP_UTILS_THREAD_H_ #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { diff --git a/drivers/webp/utils/utils.c b/drivers/webp/utils/utils.c index 2602ca3c9f..b2193c4b47 100644 --- a/drivers/webp/utils/utils.c +++ b/drivers/webp/utils/utils.c @@ -13,9 +13,9 @@ #include <stdlib.h> #include <string.h> // for memcpy() -#include "../webp/decode.h" -#include "../webp/encode.h" -#include "../webp/format_constants.h" // for MAX_PALETTE_SIZE +#include "webp/decode.h" +#include "webp/encode.h" +#include "webp/format_constants.h" // for MAX_PALETTE_SIZE #include "./utils.h" // If PRINT_MEM_INFO is defined, extra info (like total memory used, number of diff --git a/drivers/webp/utils/utils.h b/drivers/webp/utils/utils.h index e0a81126df..cef496af78 100644 --- a/drivers/webp/utils/utils.h +++ b/drivers/webp/utils/utils.h @@ -16,13 +16,13 @@ #define WEBP_UTILS_UTILS_H_ #ifdef HAVE_CONFIG_H -#include "../webp/config.h" +#include "webp/config.h" #endif #include <assert.h> #include "../dsp/dsp.h" -#include "../webp/types.h" +#include "webp/types.h" #ifdef __cplusplus extern "C" { |