aboutsummaryrefslogtreecommitdiff
path: root/drivers/webp/utils
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/webp/utils')
-rw-r--r--drivers/webp/utils/bit_reader.c7
-rw-r--r--drivers/webp/utils/bit_reader.h10
-rw-r--r--drivers/webp/utils/bit_reader_inl.h2
-rw-r--r--drivers/webp/utils/bit_writer.h2
-rw-r--r--drivers/webp/utils/color_cache.h2
-rw-r--r--drivers/webp/utils/filters.h2
-rw-r--r--drivers/webp/utils/huffman.c2
-rw-r--r--drivers/webp/utils/huffman.h4
-rw-r--r--drivers/webp/utils/huffman_encode.c2
-rw-r--r--drivers/webp/utils/huffman_encode.h2
-rw-r--r--drivers/webp/utils/quant_levels.h2
-rw-r--r--drivers/webp/utils/quant_levels_dec.h2
-rw-r--r--drivers/webp/utils/random.h2
-rw-r--r--drivers/webp/utils/rescaler.h2
-rw-r--r--drivers/webp/utils/thread.h4
-rw-r--r--drivers/webp/utils/utils.c6
-rw-r--r--drivers/webp/utils/utils.h4
17 files changed, 35 insertions, 22 deletions
diff --git a/drivers/webp/utils/bit_reader.c b/drivers/webp/utils/bit_reader.c
index 50ffb74f9..13c6cf316 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 ec3426cd1..c2dcc711c 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 99ed3137d..21faf14d8 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 ef360d1dc..867a5ee05 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 a9a9f6427..34299e4c4 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 088b132fc..4aba3fd3b 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 36e550283..7c9d83db9 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 c6dd6aaa4..a8cc0da1c 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 4e5ef6b44..0be414a8f 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 a15716514..93610066f 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 1cb5a32ca..3916b977a 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 59a13495d..c99a47538 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 c392a615c..745f3e2e8 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 98b01a76d..868467b4d 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 840831185..6008bb7c0 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 2602ca3c9..b2193c4b4 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 e0a81126d..cef496af7 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" {