aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct5
-rw-r--r--drivers/SCsub2
-rw-r--r--drivers/register_driver_types.cpp16
-rw-r--r--drivers/webp/SCsub115
-rw-r--r--drivers/webp/extras.h51
-rw-r--r--modules/webp/SCsub120
-rw-r--r--modules/webp/config.py6
-rw-r--r--modules/webp/image_loader_webp.cpp (renamed from drivers/webp/image_loader_webp.cpp)7
-rw-r--r--modules/webp/image_loader_webp.h (renamed from drivers/webp/image_loader_webp.h)0
-rw-r--r--modules/webp/register_types.cpp44
-rw-r--r--modules/webp/register_types.h30
-rw-r--r--platform/x11/detect.py3
-rw-r--r--thirdparty/README.md16
-rw-r--r--thirdparty/libwebp/AUTHORS (renamed from drivers/webp/AUTHORS)0
-rw-r--r--thirdparty/libwebp/COPYING (renamed from drivers/webp/COPYING)0
-rw-r--r--thirdparty/libwebp/PATENTS (renamed from drivers/webp/PATENTS)0
-rw-r--r--thirdparty/libwebp/dec/alpha.c (renamed from drivers/webp/dec/alpha.c)2
-rw-r--r--thirdparty/libwebp/dec/alphai.h (renamed from drivers/webp/dec/alphai.h)0
-rw-r--r--thirdparty/libwebp/dec/buffer.c (renamed from drivers/webp/dec/buffer.c)0
-rw-r--r--thirdparty/libwebp/dec/common.h (renamed from drivers/webp/dec/common.h)0
-rw-r--r--thirdparty/libwebp/dec/decode_vp8.h (renamed from drivers/webp/dec/decode_vp8.h)2
-rw-r--r--thirdparty/libwebp/dec/frame.c (renamed from drivers/webp/dec/frame.c)0
-rw-r--r--thirdparty/libwebp/dec/idec.c (renamed from drivers/webp/dec/idec.c)0
-rw-r--r--thirdparty/libwebp/dec/io.c (renamed from drivers/webp/dec/io.c)0
-rw-r--r--thirdparty/libwebp/dec/quant.c (renamed from drivers/webp/dec/quant.c)0
-rw-r--r--thirdparty/libwebp/dec/tree.c (renamed from drivers/webp/dec/tree.c)0
-rw-r--r--thirdparty/libwebp/dec/vp8.c (renamed from drivers/webp/dec/vp8.c)0
-rw-r--r--thirdparty/libwebp/dec/vp8i.h (renamed from drivers/webp/dec/vp8i.h)0
-rw-r--r--thirdparty/libwebp/dec/vp8l.c (renamed from drivers/webp/dec/vp8l.c)0
-rw-r--r--thirdparty/libwebp/dec/vp8li.h (renamed from drivers/webp/dec/vp8li.h)0
-rw-r--r--thirdparty/libwebp/dec/webp.c (renamed from drivers/webp/dec/webp.c)2
-rw-r--r--thirdparty/libwebp/dec/webpi.h (renamed from drivers/webp/dec/webpi.h)0
-rw-r--r--thirdparty/libwebp/demux/anim_decode.c (renamed from drivers/webp/demux/anim_decode.c)6
-rw-r--r--thirdparty/libwebp/demux/demux.c (renamed from drivers/webp/demux/demux.c)8
-rw-r--r--thirdparty/libwebp/dsp/alpha_processing.c (renamed from drivers/webp/dsp/alpha_processing.c)0
-rw-r--r--thirdparty/libwebp/dsp/alpha_processing_mips_dsp_r2.c (renamed from drivers/webp/dsp/alpha_processing_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/alpha_processing_sse2.c (renamed from drivers/webp/dsp/alpha_processing_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/alpha_processing_sse41.c (renamed from drivers/webp/dsp/alpha_processing_sse41.c)0
-rw-r--r--thirdparty/libwebp/dsp/argb.c (renamed from drivers/webp/dsp/argb.c)0
-rw-r--r--thirdparty/libwebp/dsp/argb_mips_dsp_r2.c (renamed from drivers/webp/dsp/argb_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/argb_sse2.c (renamed from drivers/webp/dsp/argb_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/common_sse2.h (renamed from drivers/webp/dsp/common_sse2.h)0
-rw-r--r--thirdparty/libwebp/dsp/cost.c (renamed from drivers/webp/dsp/cost.c)0
-rw-r--r--thirdparty/libwebp/dsp/cost_mips32.c (renamed from drivers/webp/dsp/cost_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/cost_mips_dsp_r2.c (renamed from drivers/webp/dsp/cost_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/cost_sse2.c (renamed from drivers/webp/dsp/cost_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/cpu.c (renamed from drivers/webp/dsp/cpu.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec.c (renamed from drivers/webp/dsp/dec.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_clip_tables.c (renamed from drivers/webp/dsp/dec_clip_tables.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_mips32.c (renamed from drivers/webp/dsp/dec_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_mips_dsp_r2.c (renamed from drivers/webp/dsp/dec_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_msa.c (renamed from drivers/webp/dsp/dec_msa.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_neon.c (renamed from drivers/webp/dsp/dec_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_sse2.c (renamed from drivers/webp/dsp/dec_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/dec_sse41.c (renamed from drivers/webp/dsp/dec_sse41.c)0
-rw-r--r--thirdparty/libwebp/dsp/dsp.h (renamed from drivers/webp/dsp/dsp.h)4
-rw-r--r--thirdparty/libwebp/dsp/enc.c (renamed from drivers/webp/dsp/enc.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_avx2.c (renamed from drivers/webp/dsp/enc_avx2.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_mips32.c (renamed from drivers/webp/dsp/enc_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_mips_dsp_r2.c (renamed from drivers/webp/dsp/enc_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_neon.c (renamed from drivers/webp/dsp/enc_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_sse2.c (renamed from drivers/webp/dsp/enc_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/enc_sse41.c (renamed from drivers/webp/dsp/enc_sse41.c)0
-rw-r--r--thirdparty/libwebp/dsp/filters.c (renamed from drivers/webp/dsp/filters.c)0
-rw-r--r--thirdparty/libwebp/dsp/filters_mips_dsp_r2.c (renamed from drivers/webp/dsp/filters_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/filters_sse2.c (renamed from drivers/webp/dsp/filters_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless.c (renamed from drivers/webp/dsp/lossless.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless.h (renamed from drivers/webp/dsp/lossless.h)4
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc.c (renamed from drivers/webp/dsp/lossless_enc.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc_mips32.c (renamed from drivers/webp/dsp/lossless_enc_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc_mips_dsp_r2.c (renamed from drivers/webp/dsp/lossless_enc_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc_neon.c (renamed from drivers/webp/dsp/lossless_enc_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc_sse2.c (renamed from drivers/webp/dsp/lossless_enc_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_enc_sse41.c (renamed from drivers/webp/dsp/lossless_enc_sse41.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_mips_dsp_r2.c (renamed from drivers/webp/dsp/lossless_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_neon.c (renamed from drivers/webp/dsp/lossless_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/lossless_sse2.c (renamed from drivers/webp/dsp/lossless_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/mips_macro.h (renamed from drivers/webp/dsp/mips_macro.h)0
-rw-r--r--thirdparty/libwebp/dsp/msa_macro.h (renamed from drivers/webp/dsp/msa_macro.h)0
-rw-r--r--thirdparty/libwebp/dsp/neon.h (renamed from drivers/webp/dsp/neon.h)0
-rw-r--r--thirdparty/libwebp/dsp/rescaler.c (renamed from drivers/webp/dsp/rescaler.c)0
-rw-r--r--thirdparty/libwebp/dsp/rescaler_mips32.c (renamed from drivers/webp/dsp/rescaler_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/rescaler_mips_dsp_r2.c (renamed from drivers/webp/dsp/rescaler_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/rescaler_neon.c (renamed from drivers/webp/dsp/rescaler_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/rescaler_sse2.c (renamed from drivers/webp/dsp/rescaler_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/upsampling.c (renamed from drivers/webp/dsp/upsampling.c)0
-rw-r--r--thirdparty/libwebp/dsp/upsampling_mips_dsp_r2.c (renamed from drivers/webp/dsp/upsampling_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/upsampling_neon.c (renamed from drivers/webp/dsp/upsampling_neon.c)0
-rw-r--r--thirdparty/libwebp/dsp/upsampling_sse2.c (renamed from drivers/webp/dsp/upsampling_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/yuv.c (renamed from drivers/webp/dsp/yuv.c)0
-rw-r--r--thirdparty/libwebp/dsp/yuv.h (renamed from drivers/webp/dsp/yuv.h)0
-rw-r--r--thirdparty/libwebp/dsp/yuv_mips32.c (renamed from drivers/webp/dsp/yuv_mips32.c)0
-rw-r--r--thirdparty/libwebp/dsp/yuv_mips_dsp_r2.c (renamed from drivers/webp/dsp/yuv_mips_dsp_r2.c)0
-rw-r--r--thirdparty/libwebp/dsp/yuv_sse2.c (renamed from drivers/webp/dsp/yuv_sse2.c)0
-rw-r--r--thirdparty/libwebp/dsp/yuv_tables_sse2.h (renamed from drivers/webp/dsp/yuv_tables_sse2.h)0
-rw-r--r--thirdparty/libwebp/enc/alpha.c (renamed from drivers/webp/enc/alpha.c)2
-rw-r--r--thirdparty/libwebp/enc/analysis.c (renamed from drivers/webp/enc/analysis.c)0
-rw-r--r--thirdparty/libwebp/enc/backward_references.c (renamed from drivers/webp/enc/backward_references.c)0
-rw-r--r--thirdparty/libwebp/enc/backward_references.h (renamed from drivers/webp/enc/backward_references.h)4
-rw-r--r--thirdparty/libwebp/enc/config.c (renamed from drivers/webp/enc/config.c)2
-rw-r--r--thirdparty/libwebp/enc/cost.c (renamed from drivers/webp/enc/cost.c)0
-rw-r--r--thirdparty/libwebp/enc/cost.h (renamed from drivers/webp/enc/cost.h)0
-rw-r--r--thirdparty/libwebp/enc/delta_palettization.c (renamed from drivers/webp/enc/delta_palettization.c)2
-rw-r--r--thirdparty/libwebp/enc/delta_palettization.h (renamed from drivers/webp/enc/delta_palettization.h)2
-rw-r--r--thirdparty/libwebp/enc/filter.c (renamed from drivers/webp/enc/filter.c)0
-rw-r--r--thirdparty/libwebp/enc/frame.c (renamed from drivers/webp/enc/frame.c)2
-rw-r--r--thirdparty/libwebp/enc/histogram.c (renamed from drivers/webp/enc/histogram.c)2
-rw-r--r--thirdparty/libwebp/enc/histogram.h (renamed from drivers/webp/enc/histogram.h)4
-rw-r--r--thirdparty/libwebp/enc/iterator.c (renamed from drivers/webp/enc/iterator.c)0
-rw-r--r--thirdparty/libwebp/enc/near_lossless.c (renamed from drivers/webp/enc/near_lossless.c)0
-rw-r--r--thirdparty/libwebp/enc/picture.c (renamed from drivers/webp/enc/picture.c)0
-rw-r--r--thirdparty/libwebp/enc/picture_csp.c (renamed from drivers/webp/enc/picture_csp.c)0
-rw-r--r--thirdparty/libwebp/enc/picture_psnr.c (renamed from drivers/webp/enc/picture_psnr.c)0
-rw-r--r--thirdparty/libwebp/enc/picture_rescale.c (renamed from drivers/webp/enc/picture_rescale.c)0
-rw-r--r--thirdparty/libwebp/enc/picture_tools.c (renamed from drivers/webp/enc/picture_tools.c)0
-rw-r--r--thirdparty/libwebp/enc/quant.c (renamed from drivers/webp/enc/quant.c)0
-rw-r--r--thirdparty/libwebp/enc/syntax.c (renamed from drivers/webp/enc/syntax.c)4
-rw-r--r--thirdparty/libwebp/enc/token.c (renamed from drivers/webp/enc/token.c)0
-rw-r--r--thirdparty/libwebp/enc/tree.c (renamed from drivers/webp/enc/tree.c)0
-rw-r--r--thirdparty/libwebp/enc/vp8enci.h (renamed from drivers/webp/enc/vp8enci.h)2
-rw-r--r--thirdparty/libwebp/enc/vp8l.c (renamed from drivers/webp/enc/vp8l.c)2
-rw-r--r--thirdparty/libwebp/enc/vp8li.h (renamed from drivers/webp/enc/vp8li.h)4
-rw-r--r--thirdparty/libwebp/enc/webpenc.c (renamed from drivers/webp/enc/webpenc.c)0
-rw-r--r--thirdparty/libwebp/mux/anim_encode.c (renamed from drivers/webp/mux/anim_encode.c)8
-rw-r--r--thirdparty/libwebp/mux/muxedit.c (renamed from drivers/webp/mux/muxedit.c)0
-rw-r--r--thirdparty/libwebp/mux/muxi.h (renamed from drivers/webp/mux/muxi.h)2
-rw-r--r--thirdparty/libwebp/mux/muxinternal.c (renamed from drivers/webp/mux/muxinternal.c)0
-rw-r--r--thirdparty/libwebp/mux/muxread.c (renamed from drivers/webp/mux/muxread.c)0
-rw-r--r--thirdparty/libwebp/utils/bit_reader.c (renamed from drivers/webp/utils/bit_reader.c)4
-rw-r--r--thirdparty/libwebp/utils/bit_reader.h (renamed from drivers/webp/utils/bit_reader.h)8
-rw-r--r--thirdparty/libwebp/utils/bit_reader_inl.h (renamed from drivers/webp/utils/bit_reader_inl.h)2
-rw-r--r--thirdparty/libwebp/utils/bit_writer.c (renamed from drivers/webp/utils/bit_writer.c)0
-rw-r--r--thirdparty/libwebp/utils/bit_writer.h (renamed from drivers/webp/utils/bit_writer.h)2
-rw-r--r--thirdparty/libwebp/utils/color_cache.c (renamed from drivers/webp/utils/color_cache.c)0
-rw-r--r--thirdparty/libwebp/utils/color_cache.h (renamed from drivers/webp/utils/color_cache.h)2
-rw-r--r--thirdparty/libwebp/utils/endian_inl.h (renamed from drivers/webp/utils/endian_inl.h)0
-rw-r--r--thirdparty/libwebp/utils/filters.c (renamed from drivers/webp/utils/filters.c)0
-rw-r--r--thirdparty/libwebp/utils/filters.h (renamed from drivers/webp/utils/filters.h)2
-rw-r--r--thirdparty/libwebp/utils/huffman.c (renamed from drivers/webp/utils/huffman.c)2
-rw-r--r--thirdparty/libwebp/utils/huffman.h (renamed from drivers/webp/utils/huffman.h)4
-rw-r--r--thirdparty/libwebp/utils/huffman_encode.c (renamed from drivers/webp/utils/huffman_encode.c)2
-rw-r--r--thirdparty/libwebp/utils/huffman_encode.h (renamed from drivers/webp/utils/huffman_encode.h)2
-rw-r--r--thirdparty/libwebp/utils/quant_levels.c (renamed from drivers/webp/utils/quant_levels.c)0
-rw-r--r--thirdparty/libwebp/utils/quant_levels.h (renamed from drivers/webp/utils/quant_levels.h)2
-rw-r--r--thirdparty/libwebp/utils/quant_levels_dec.c (renamed from drivers/webp/utils/quant_levels_dec.c)0
-rw-r--r--thirdparty/libwebp/utils/quant_levels_dec.h (renamed from drivers/webp/utils/quant_levels_dec.h)2
-rw-r--r--thirdparty/libwebp/utils/random.c (renamed from drivers/webp/utils/random.c)0
-rw-r--r--thirdparty/libwebp/utils/random.h (renamed from drivers/webp/utils/random.h)2
-rw-r--r--thirdparty/libwebp/utils/rescaler.c (renamed from drivers/webp/utils/rescaler.c)0
-rw-r--r--thirdparty/libwebp/utils/rescaler.h (renamed from drivers/webp/utils/rescaler.h)2
-rw-r--r--thirdparty/libwebp/utils/thread.c (renamed from drivers/webp/utils/thread.c)0
-rw-r--r--thirdparty/libwebp/utils/thread.h (renamed from drivers/webp/utils/thread.h)4
-rw-r--r--thirdparty/libwebp/utils/utils.c (renamed from drivers/webp/utils/utils.c)6
-rw-r--r--thirdparty/libwebp/utils/utils.h (renamed from drivers/webp/utils/utils.h)4
-rw-r--r--thirdparty/libwebp/webp/config.h (renamed from drivers/webp/config.h)0
-rw-r--r--thirdparty/libwebp/webp/decode.h (renamed from drivers/webp/decode.h)0
-rw-r--r--thirdparty/libwebp/webp/demux.h (renamed from drivers/webp/demux.h)0
-rw-r--r--thirdparty/libwebp/webp/encode.h (renamed from drivers/webp/encode.h)0
-rw-r--r--thirdparty/libwebp/webp/format_constants.h (renamed from drivers/webp/format_constants.h)0
-rw-r--r--thirdparty/libwebp/webp/mux.h (renamed from drivers/webp/mux.h)0
-rw-r--r--thirdparty/libwebp/webp/mux_types.h (renamed from drivers/webp/mux_types.h)0
-rw-r--r--thirdparty/libwebp/webp/types.h (renamed from drivers/webp/types.h)0
162 files changed, 287 insertions, 250 deletions
diff --git a/SConstruct b/SConstruct
index 2e4ff24d3..a5b7d19df 100644
--- a/SConstruct
+++ b/SConstruct
@@ -128,7 +128,7 @@ opts.Add('theoralib','Theora Video (yes/no)','no')
opts.Add('freetype','Freetype support in editor','builtin')
opts.Add('xml','XML Save/Load support (yes/no)','yes')
opts.Add('libpng','libpng library for image loader support (system/builtin)','builtin')
-opts.Add('webp','WEBP Image loader support (yes/no)','yes')
+opts.Add('libwebp','libwebp library for webp module (system/builtin)','builtin')
opts.Add('builtin_zlib','Use built-in zlib (yes/no)','yes')
opts.Add('openssl','Use OpenSSL (yes/no/builtin)','no')
opts.Add('musepack','Musepack Audio (yes/no)','yes')
@@ -347,9 +347,6 @@ if selected_platform in platform_list:
if (env['theoralib']=='yes'):
env.Append(CPPFLAGS=['-DTHEORALIB_ENABLED']);
- if (env['webp']=='yes'):
- env.Append(CPPFLAGS=['-DWEBP_ENABLED']);
-
if (env['tools']=='yes'):
env.Append(CPPFLAGS=['-DTOOLS_ENABLED'])
if (env['disable_3d']=='yes'):
diff --git a/drivers/SCsub b/drivers/SCsub
index 98849b431..5effc6b2d 100644
--- a/drivers/SCsub
+++ b/drivers/SCsub
@@ -26,8 +26,6 @@ if (env['openssl']!='no'):
SConscript("png/SCsub");
-if (env["webp"]=="yes"):
- SConscript("webp/SCsub");
if (env["builtin_zlib"]=="yes"):
SConscript("builtin_zlib/SCsub");
diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp
index 9623c29b1..cd4fcd18f 100644
--- a/drivers/register_driver_types.cpp
+++ b/drivers/register_driver_types.cpp
@@ -30,7 +30,6 @@
#include "png/image_loader_png.h"
#include "png/resource_saver_png.h"
-#include "webp/image_loader_webp.h"
#include "chibi/event_stream_chibi.h"
@@ -72,10 +71,6 @@
static ImageLoaderPNG *image_loader_png=NULL;
static ResourceSaverPNG *resource_saver_png=NULL;
-#ifdef WEBP_ENABLED
-static ImageLoaderWEBP *image_loader_webp=NULL;
-#endif
-
#ifdef TREMOR_ENABLED
static ResourceFormatLoaderAudioStreamOGG *vorbis_stream_loader=NULL;
#endif
@@ -109,11 +104,6 @@ void register_core_driver_types() {
resource_saver_png = memnew( ResourceSaverPNG );
ResourceSaver::add_resource_format_saver(resource_saver_png);
-#ifdef WEBP_ENABLED
- image_loader_webp = memnew( ImageLoaderWEBP );
- ImageLoader::add_image_format_loader( image_loader_webp );
-#endif
-
ObjectTypeDB::register_type<RegEx>();
}
@@ -123,12 +113,6 @@ void unregister_core_driver_types() {
memdelete( image_loader_png );
if (resource_saver_png)
memdelete( resource_saver_png );
-
-#ifdef WEBP_ENABLED
- if (image_loader_webp)
- memdelete( image_loader_webp );
-#endif
-
}
diff --git a/drivers/webp/SCsub b/drivers/webp/SCsub
deleted file mode 100644
index f65bd13db..000000000
--- a/drivers/webp/SCsub
+++ /dev/null
@@ -1,115 +0,0 @@
-Import('env')
-
-webp_sources = [
-"webp/enc/webpenc.c",\
-"webp/enc/near_lossless.c",\
-"webp/enc/frame.c",\
-"webp/enc/alpha.c",\
-"webp/enc/picture_csp.c",\
-"webp/enc/vp8l.c",\
-"webp/enc/picture_psnr.c",\
-"webp/enc/delta_palettization.c",\
-"webp/enc/syntax.c",\
-"webp/enc/backward_references.c",\
-"webp/enc/token.c",\
-"webp/enc/analysis.c",\
-"webp/enc/iterator.c",\
-"webp/enc/picture_tools.c",\
-"webp/enc/picture_rescale.c",\
-"webp/enc/config.c",\
-"webp/enc/tree.c",\
-"webp/enc/cost.c",\
-"webp/enc/picture.c",\
-"webp/enc/quant.c",\
-"webp/enc/filter.c",\
-"webp/enc/histogram.c",\
-"webp/image_loader_webp.cpp",\
-"webp/utils/rescaler.c",\
-"webp/utils/filters.c",\
-"webp/utils/quant_levels_dec.c",\
-"webp/utils/huffman.c",\
-"webp/utils/thread.c",\
-"webp/utils/quant_levels.c",\
-"webp/utils/bit_writer.c",\
-"webp/utils/bit_reader.c",\
-"webp/utils/random.c",\
-"webp/utils/utils.c",\
-"webp/utils/huffman_encode.c",\
-"webp/utils/color_cache.c",\
-"webp/mux/muxinternal.c",\
-"webp/mux/muxread.c",\
-"webp/mux/anim_encode.c",\
-"webp/mux/muxedit.c",\
-"webp/dec/webp.c",\
-"webp/dec/frame.c",\
-"webp/dec/alpha.c",\
-"webp/dec/vp8l.c",\
-"webp/dec/io.c",\
-"webp/dec/vp8.c",\
-"webp/dec/idec.c",\
-"webp/dec/tree.c",\
-"webp/dec/buffer.c",\
-"webp/dec/quant.c",\
-"webp/demux/demux.c",\
-"webp/demux/anim_decode.c",\
-"webp/dsp/yuv.c",\
-"webp/dsp/filters_sse2.c",\
-"webp/dsp/dec_sse41.c",\
-"webp/dsp/rescaler.c",\
-"webp/dsp/lossless_sse2.c",\
-"webp/dsp/alpha_processing_sse41.c",\
-"webp/dsp/alpha_processing_sse2.c",\
-"webp/dsp/filters.c",\
-"webp/dsp/upsampling_mips_dsp_r2.c",\
-"webp/dsp/dec_neon.c",\
-"webp/dsp/enc_neon.c",\
-"webp/dsp/lossless_enc_mips32.c",\
-"webp/dsp/lossless_enc_sse2.c",\
-"webp/dsp/upsampling.c",\
-"webp/dsp/lossless_enc_neon.c",\
-"webp/dsp/alpha_processing.c",\
-"webp/dsp/cost_sse2.c",\
-"webp/dsp/dec_mips32.c",\
-"webp/dsp/enc_avx2.c",\
-"webp/dsp/rescaler_mips32.c",\
-"webp/dsp/enc.c",\
-"webp/dsp/lossless_enc_sse41.c",\
-"webp/dsp/cost_mips32.c",\
-"webp/dsp/lossless_mips_dsp_r2.c",\
-"webp/dsp/filters_mips_dsp_r2.c",\
-"webp/dsp/upsampling_neon.c",\
-"webp/dsp/alpha_processing_mips_dsp_r2.c",\
-"webp/dsp/enc_mips_dsp_r2.c",\
-"webp/dsp/lossless.c",\
-"webp/dsp/yuv_mips_dsp_r2.c",\
-"webp/dsp/cost_mips_dsp_r2.c",\
-"webp/dsp/argb.c",\
-"webp/dsp/dec_sse2.c",\
-"webp/dsp/rescaler_sse2.c",\
-"webp/dsp/enc_sse41.c",\
-"webp/dsp/argb_mips_dsp_r2.c",\
-"webp/dsp/lossless_enc_mips_dsp_r2.c",\
-"webp/dsp/dec_clip_tables.c",\
-"webp/dsp/yuv_mips32.c",\
-"webp/dsp/cpu.c",\
-"webp/dsp/dec.c",\
-"webp/dsp/argb_sse2.c",\
-"webp/dsp/lossless_neon.c",\
-"webp/dsp/lossless_enc.c",\
-"webp/dsp/enc_mips32.c",\
-"webp/dsp/cost.c",\
-"webp/dsp/rescaler_mips_dsp_r2.c",\
-"webp/dsp/dec_mips_dsp_r2.c",\
-"webp/dsp/rescaler_neon.c",\
-"webp/dsp/yuv_sse2.c",\
-"webp/dsp/enc_sse2.c",\
-"webp/dsp/upsampling_sse2.c"
-]
-
-env.drivers_sources+=webp_sources
-
-#env.add_source_files(env.drivers_sources, webp_sources)
-
-
-Export('env')
-
diff --git a/drivers/webp/extras.h b/drivers/webp/extras.h
deleted file mode 100644
index 1c24be2e0..000000000
--- a/drivers/webp/extras.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2015 Google Inc. All Rights Reserved.
-//
-// Use of this source code is governed by a BSD-style license
-// that can be found in the COPYING file in the root of the source
-// tree. An additional intellectual property rights grant can be found
-// in the file PATENTS. All contributing project authors may
-// be found in the AUTHORS file in the root of the source tree.
-// -----------------------------------------------------------------------------
-//
-
-#ifndef WEBP_WEBP_EXTRAS_H_
-#define WEBP_WEBP_EXTRAS_H_
-
-#include "./types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "./encode.h"
-
-#define WEBP_EXTRAS_ABI_VERSION 0x0000 // MAJOR(8b) + MINOR(8b)
-
-//------------------------------------------------------------------------------
-
-// Returns the version number of the extras library, packed in hexadecimal using
-// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507.
-WEBP_EXTERN(int) WebPGetExtrasVersion(void);
-
-//------------------------------------------------------------------------------
-// Ad-hoc colorspace importers.
-
-// Import luma sample (gray scale image) into 'picture'. The 'picture'
-// width and height must be set prior to calling this function.
-WEBP_EXTERN(int) WebPImportGray(const uint8_t* gray, WebPPicture* picture);
-
-// Import rgb sample in RGB565 packed format into 'picture'. The 'picture'
-// width and height must be set prior to calling this function.
-WEBP_EXTERN(int) WebPImportRGB565(const uint8_t* rgb565, WebPPicture* pic);
-
-// Import rgb sample in RGB4444 packed format into 'picture'. The 'picture'
-// width and height must be set prior to calling this function.
-WEBP_EXTERN(int) WebPImportRGB4444(const uint8_t* rgb4444, WebPPicture* pic);
-
-//------------------------------------------------------------------------------
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif /* WEBP_WEBP_EXTRAS_H_ */
diff --git a/modules/webp/SCsub b/modules/webp/SCsub
new file mode 100644
index 000000000..f52c5b9af
--- /dev/null
+++ b/modules/webp/SCsub
@@ -0,0 +1,120 @@
+Import('env')
+Import('env_modules')
+
+# Thirdparty source files
+if (env["libwebp"] != "system"): # builtin
+ thirdparty_dir = "#thirdparty/libwebp/"
+ thirdparty_libwebp_sources = [
+ "enc/webpenc.c",
+ "enc/near_lossless.c",
+ "enc/frame.c",
+ "enc/alpha.c",
+ "enc/picture_csp.c",
+ "enc/vp8l.c",
+ "enc/picture_psnr.c",
+ "enc/delta_palettization.c",
+ "enc/syntax.c",
+ "enc/backward_references.c",
+ "enc/token.c",
+ "enc/analysis.c",
+ "enc/iterator.c",
+ "enc/picture_tools.c",
+ "enc/picture_rescale.c",
+ "enc/config.c",
+ "enc/tree.c",
+ "enc/cost.c",
+ "enc/picture.c",
+ "enc/quant.c",
+ "enc/filter.c",
+ "enc/histogram.c",
+ "utils/rescaler.c",
+ "utils/filters.c",
+ "utils/quant_levels_dec.c",
+ "utils/huffman.c",
+ "utils/thread.c",
+ "utils/quant_levels.c",
+ "utils/bit_writer.c",
+ "utils/bit_reader.c",
+ "utils/random.c",
+ "utils/utils.c",
+ "utils/huffman_encode.c",
+ "utils/color_cache.c",
+ "mux/muxinternal.c",
+ "mux/muxread.c",
+ "mux/anim_encode.c",
+ "mux/muxedit.c",
+ "dec/webp.c",
+ "dec/frame.c",
+ "dec/alpha.c",
+ "dec/vp8l.c",
+ "dec/io.c",
+ "dec/vp8.c",
+ "dec/idec.c",
+ "dec/tree.c",
+ "dec/buffer.c",
+ "dec/quant.c",
+ "demux/demux.c",
+ "demux/anim_decode.c",
+ "dsp/yuv.c",
+ "dsp/filters_sse2.c",
+ "dsp/dec_sse41.c",
+ "dsp/rescaler.c",
+ "dsp/lossless_sse2.c",
+ "dsp/alpha_processing_sse41.c",
+ "dsp/alpha_processing_sse2.c",
+ "dsp/filters.c",
+ "dsp/upsampling_mips_dsp_r2.c",
+ "dsp/dec_neon.c",
+ "dsp/enc_neon.c",
+ "dsp/lossless_enc_mips32.c",
+ "dsp/lossless_enc_sse2.c",
+ "dsp/upsampling.c",
+ "dsp/lossless_enc_neon.c",
+ "dsp/alpha_processing.c",
+ "dsp/cost_sse2.c",
+ "dsp/dec_mips32.c",
+ "dsp/enc_avx2.c",
+ "dsp/rescaler_mips32.c",
+ "dsp/enc.c",
+ "dsp/lossless_enc_sse41.c",
+ "dsp/cost_mips32.c",
+ "dsp/lossless_mips_dsp_r2.c",
+ "dsp/filters_mips_dsp_r2.c",
+ "dsp/upsampling_neon.c",
+ "dsp/alpha_processing_mips_dsp_r2.c",
+ "dsp/enc_mips_dsp_r2.c",
+ "dsp/lossless.c",
+ "dsp/yuv_mips_dsp_r2.c",
+ "dsp/cost_mips_dsp_r2.c",
+ "dsp/argb.c",
+ "dsp/dec_sse2.c",
+ "dsp/rescaler_sse2.c",
+ "dsp/enc_sse41.c",
+ "dsp/argb_mips_dsp_r2.c",
+ "dsp/lossless_enc_mips_dsp_r2.c",
+ "dsp/dec_clip_tables.c",
+ "dsp/yuv_mips32.c",
+ "dsp/cpu.c",
+ "dsp/dec.c",
+ "dsp/argb_sse2.c",
+ "dsp/lossless_neon.c",
+ "dsp/lossless_enc.c",
+ "dsp/enc_mips32.c",
+ "dsp/cost.c",
+ "dsp/rescaler_mips_dsp_r2.c",
+ "dsp/dec_mips_dsp_r2.c",
+ "dsp/rescaler_neon.c",
+ "dsp/yuv_sse2.c",
+ "dsp/enc_sse2.c",
+ "dsp/upsampling_sse2.c",
+ ]
+ thirdparty_libwebp_sources = [thirdparty_dir + file for file in thirdparty_libwebp_sources]
+
+ env_modules.add_source_files(env.modules_sources, thirdparty_libwebp_sources)
+ env_modules.Append(CPPPATH = [thirdparty_dir])
+
+# Godot source files
+env_modules.add_source_files(env.modules_sources, "*.cpp")
+
+Export('env_modules')
+Export('env')
diff --git a/modules/webp/config.py b/modules/webp/config.py
new file mode 100644
index 000000000..368e97e15
--- /dev/null
+++ b/modules/webp/config.py
@@ -0,0 +1,6 @@
+
+def can_build(platform):
+ return True
+
+def configure(env):
+ pass
diff --git a/drivers/webp/image_loader_webp.cpp b/modules/webp/image_loader_webp.cpp
index 68bb85729..0fe2db326 100644
--- a/drivers/webp/image_loader_webp.cpp
+++ b/modules/webp/image_loader_webp.cpp
@@ -28,12 +28,13 @@
/*************************************************************************/
#include "image_loader_webp.h"
+#include "io/marshalls.h"
#include "print_string.h"
#include "os/os.h"
-#include "drivers/webp/decode.h"
-#include "drivers/webp/encode.h"
-#include "io/marshalls.h"
+
#include <stdlib.h>
+#include <webp/decode.h>
+#include <webp/encode.h>
static DVector<uint8_t> _webp_lossy_pack(const Image& p_image,float p_quality) {
diff --git a/drivers/webp/image_loader_webp.h b/modules/webp/image_loader_webp.h
index 24f79708d..24f79708d 100644
--- a/drivers/webp/image_loader_webp.h
+++ b/modules/webp/image_loader_webp.h
diff --git a/modules/webp/register_types.cpp b/modules/webp/register_types.cpp
new file mode 100644
index 000000000..039876bbb
--- /dev/null
+++ b/modules/webp/register_types.cpp
@@ -0,0 +1,44 @@
+/*************************************************************************/
+/* register_types.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+#include "register_types.h"
+
+#include "image_loader_webp.h"
+
+static ImageLoaderWEBP *image_loader_webp = NULL;
+
+void register_webp_types() {
+
+ image_loader_webp = memnew( ImageLoaderWEBP );
+ ImageLoader::add_image_format_loader(image_loader_webp);
+}
+
+void unregister_webp_types() {
+
+ memdelete( image_loader_webp );
+}
diff --git a/modules/webp/register_types.h b/modules/webp/register_types.h
new file mode 100644
index 000000000..a200188e4
--- /dev/null
+++ b/modules/webp/register_types.h
@@ -0,0 +1,30 @@
+/*************************************************************************/
+/* register_types.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+void register_webp_types();
+void unregister_webp_types();
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
index 10e44976c..6a5ca84cb 100644
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -146,6 +146,9 @@ def configure(env):
if (env["libpng"] == "system"):
env.ParseConfig('pkg-config libpng --cflags --libs')
+ if (env["libwebp"] == "system"):
+ env.ParseConfig('pkg-config libwebp --cflags --libs')
+
if (env["freetype"]=="yes"):
env.ParseConfig('pkg-config freetype2 --cflags --libs')
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 78a3d4116..b3aebb518 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -44,6 +44,22 @@ Files extracted from upstream source:
- scripts/pnglibconf.h.prebuilt as pnglibconf.h
+## libwebp
+
+- Upstream: https://chromium.googlesource.com/webm/libwebp/
+- Version: 0.5.1
+- License: BSD-3-Clause
+
+Files extracted from the upstream source:
+
+- src/\* except from: \*.am, \*.in, extras/, webp/extras.h
+- AUTHORS, COPYING, PATENTS
+
+Important: The files `utils/bit_reader.{c,h}` have Godot-made
+changes to ensure they build for Javascript/HTML5. Those
+changes are marked with `// -- GODOT --` comments.
+
+
## pvrtccompressor
- Upstream: https://bitbucket.org/jthlim/pvrtccompressor
diff --git a/drivers/webp/AUTHORS b/thirdparty/libwebp/AUTHORS
index 70423cb4d..70423cb4d 100644
--- a/drivers/webp/AUTHORS
+++ b/thirdparty/libwebp/AUTHORS
diff --git a/drivers/webp/COPYING b/thirdparty/libwebp/COPYING
index 7a6f99547..7a6f99547 100644
--- a/drivers/webp/COPYING
+++ b/thirdparty/libwebp/COPYING
diff --git a/drivers/webp/PATENTS b/thirdparty/libwebp/PATENTS
index caedf607e..caedf607e 100644
--- a/drivers/webp/PATENTS
+++ b/thirdparty/libwebp/PATENTS
diff --git a/drivers/webp/dec/alpha.c b/thirdparty/libwebp/dec/alpha.c
index 19ce548e9..028eb3d50 100644
--- a/drivers/webp/dec/alpha.c
+++ b/thirdparty/libwebp/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/alphai.h b/thirdparty/libwebp/dec/alphai.h
index 69dd7c0f5..69dd7c0f5 100644
--- a/drivers/webp/dec/alphai.h
+++ b/thirdparty/libwebp/dec/alphai.h
diff --git a/drivers/webp/dec/buffer.c b/thirdparty/libwebp/dec/buffer.c
index 547e69b43..547e69b43 100644
--- a/drivers/webp/dec/buffer.c
+++ b/thirdparty/libwebp/dec/buffer.c
diff --git a/drivers/webp/dec/common.h b/thirdparty/libwebp/dec/common.h
index 6961e2247..6961e2247 100644
--- a/drivers/webp/dec/common.h
+++ b/thirdparty/libwebp/dec/common.h
diff --git a/drivers/webp/dec/decode_vp8.h b/thirdparty/libwebp/dec/decode_vp8.h
index 2bf1bdbbf..b9337bbec 100644
--- a/drivers/webp/dec/decode_vp8.h
+++ b/thirdparty/libwebp/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/frame.c b/thirdparty/libwebp/dec/frame.c
index 22d291d2c..22d291d2c 100644
--- a/drivers/webp/dec/frame.c
+++ b/thirdparty/libwebp/dec/frame.c
diff --git a/drivers/webp/dec/idec.c b/thirdparty/libwebp/dec/idec.c
index 8de131916..8de131916 100644
--- a/drivers/webp/dec/idec.c
+++ b/thirdparty/libwebp/dec/idec.c
diff --git a/drivers/webp/dec/io.c b/thirdparty/libwebp/dec/io.c
index 8d5c43f32..8d5c43f32 100644
--- a/drivers/webp/dec/io.c
+++ b/thirdparty/libwebp/dec/io.c
diff --git a/drivers/webp/dec/quant.c b/thirdparty/libwebp/dec/quant.c
index 5b648f942..5b648f942 100644
--- a/drivers/webp/dec/quant.c
+++ b/thirdparty/libwebp/dec/quant.c
diff --git a/drivers/webp/dec/tree.c b/thirdparty/libwebp/dec/tree.c
index c2007ea73..c2007ea73 100644
--- a/drivers/webp/dec/tree.c
+++ b/thirdparty/libwebp/dec/tree.c
diff --git a/drivers/webp/dec/vp8.c b/thirdparty/libwebp/dec/vp8.c
index 336680c38..336680c38 100644
--- a/drivers/webp/dec/vp8.c
+++ b/thirdparty/libwebp/dec/vp8.c
diff --git a/drivers/webp/dec/vp8i.h b/thirdparty/libwebp/dec/vp8i.h
index 00da02bad..00da02bad 100644
--- a/drivers/webp/dec/vp8i.h
+++ b/thirdparty/libwebp/dec/vp8i.h
diff --git a/drivers/webp/dec/vp8l.c b/thirdparty/libwebp/dec/vp8l.c
index cb2e3176b..cb2e3176b 100644
--- a/drivers/webp/dec/vp8l.c
+++ b/thirdparty/libwebp/dec/vp8l.c
diff --git a/drivers/webp/dec/vp8li.h b/thirdparty/libwebp/dec/vp8li.h
index 9313bdc0a..9313bdc0a 100644
--- a/drivers/webp/dec/vp8li.h
+++ b/thirdparty/libwebp/dec/vp8li.h
diff --git a/drivers/webp/dec/webp.c b/thirdparty/libwebp/dec/webp.c
index dd6c090f0..d0b912f02 100644
--- a/drivers/webp/dec/webp.c
+++ b/thirdparty/libwebp/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/dec/webpi.h b/thirdparty/libwebp/dec/webpi.h
index 991b194c2..991b194c2 100644
--- a/drivers/webp/dec/webpi.h
+++ b/thirdparty/libwebp/dec/webpi.h
diff --git a/drivers/webp/demux/anim_decode.c b/thirdparty/libwebp/demux/anim_decode.c
index 39cf3de19..1989eb4ab 100644
--- a/drivers/webp/demux/anim_decode.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/demux/demux.c
index df93c5b37..0d2989f6f 100644
--- a/drivers/webp/demux/demux.c
+++ b/thirdparty/libwebp/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/alpha_processing.c b/thirdparty/libwebp/dsp/alpha_processing.c
index 1716cace8..1716cace8 100644
--- a/drivers/webp/dsp/alpha_processing.c
+++ b/thirdparty/libwebp/dsp/alpha_processing.c
diff --git a/drivers/webp/dsp/alpha_processing_mips_dsp_r2.c b/thirdparty/libwebp/dsp/alpha_processing_mips_dsp_r2.c
index c631d7890..c631d7890 100644
--- a/drivers/webp/dsp/alpha_processing_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/alpha_processing_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/alpha_processing_sse2.c b/thirdparty/libwebp/dsp/alpha_processing_sse2.c
index 5acb481dc..5acb481dc 100644
--- a/drivers/webp/dsp/alpha_processing_sse2.c
+++ b/thirdparty/libwebp/dsp/alpha_processing_sse2.c
diff --git a/drivers/webp/dsp/alpha_processing_sse41.c b/thirdparty/libwebp/dsp/alpha_processing_sse41.c
index 986fde94e..986fde94e 100644
--- a/drivers/webp/dsp/alpha_processing_sse41.c
+++ b/thirdparty/libwebp/dsp/alpha_processing_sse41.c
diff --git a/drivers/webp/dsp/argb.c b/thirdparty/libwebp/dsp/argb.c
index cc1f9a96c..cc1f9a96c 100644
--- a/drivers/webp/dsp/argb.c
+++ b/thirdparty/libwebp/dsp/argb.c
diff --git a/drivers/webp/dsp/argb_mips_dsp_r2.c b/thirdparty/libwebp/dsp/argb_mips_dsp_r2.c
index af65acb8f..af65acb8f 100644
--- a/drivers/webp/dsp/argb_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/argb_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/argb_sse2.c b/thirdparty/libwebp/dsp/argb_sse2.c
index afcb1957e..afcb1957e 100644
--- a/drivers/webp/dsp/argb_sse2.c
+++ b/thirdparty/libwebp/dsp/argb_sse2.c
diff --git a/drivers/webp/dsp/common_sse2.h b/thirdparty/libwebp/dsp/common_sse2.h
index 7cea13fb3..7cea13fb3 100644
--- a/drivers/webp/dsp/common_sse2.h
+++ b/thirdparty/libwebp/dsp/common_sse2.h
diff --git a/drivers/webp/dsp/cost.c b/thirdparty/libwebp/dsp/cost.c
index fe72d26e7..fe72d26e7 100644
--- a/drivers/webp/dsp/cost.c
+++ b/thirdparty/libwebp/dsp/cost.c
diff --git a/drivers/webp/dsp/cost_mips32.c b/thirdparty/libwebp/dsp/cost_mips32.c
index d1e240e19..d1e240e19 100644
--- a/drivers/webp/dsp/cost_mips32.c
+++ b/thirdparty/libwebp/dsp/cost_mips32.c
diff --git a/drivers/webp/dsp/cost_mips_dsp_r2.c b/thirdparty/libwebp/dsp/cost_mips_dsp_r2.c
index ce6406775..ce6406775 100644
--- a/drivers/webp/dsp/cost_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/cost_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/cost_sse2.c b/thirdparty/libwebp/dsp/cost_sse2.c
index 0cb1c1fa0..0cb1c1fa0 100644
--- a/drivers/webp/dsp/cost_sse2.c
+++ b/thirdparty/libwebp/dsp/cost_sse2.c
diff --git a/drivers/webp/dsp/cpu.c b/thirdparty/libwebp/dsp/cpu.c
index cbb08db90..cbb08db90 100644
--- a/drivers/webp/dsp/cpu.c
+++ b/thirdparty/libwebp/dsp/cpu.c
diff --git a/drivers/webp/dsp/dec.c b/thirdparty/libwebp/dsp/dec.c
index e92d69336..e92d69336 100644
--- a/drivers/webp/dsp/dec.c
+++ b/thirdparty/libwebp/dsp/dec.c
diff --git a/drivers/webp/dsp/dec_clip_tables.c b/thirdparty/libwebp/dsp/dec_clip_tables.c
index 3b6dde86b..3b6dde86b 100644
--- a/drivers/webp/dsp/dec_clip_tables.c
+++ b/thirdparty/libwebp/dsp/dec_clip_tables.c
diff --git a/drivers/webp/dsp/dec_mips32.c b/thirdparty/libwebp/dsp/dec_mips32.c
index 4e9ef4260..4e9ef4260 100644
--- a/drivers/webp/dsp/dec_mips32.c
+++ b/thirdparty/libwebp/dsp/dec_mips32.c
diff --git a/drivers/webp/dsp/dec_mips_dsp_r2.c b/thirdparty/libwebp/dsp/dec_mips_dsp_r2.c
index db5c65722..db5c65722 100644
--- a/drivers/webp/dsp/dec_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/dec_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/dec_msa.c b/thirdparty/libwebp/dsp/dec_msa.c
index f76055cab..f76055cab 100644
--- a/drivers/webp/dsp/dec_msa.c
+++ b/thirdparty/libwebp/dsp/dec_msa.c
diff --git a/drivers/webp/dsp/dec_neon.c b/thirdparty/libwebp/dsp/dec_neon.c
index a63f43fe1..a63f43fe1 100644
--- a/drivers/webp/dsp/dec_neon.c
+++ b/thirdparty/libwebp/dsp/dec_neon.c
diff --git a/drivers/webp/dsp/dec_sse2.c b/thirdparty/libwebp/dsp/dec_sse2.c
index f0a8ddcaf..f0a8ddcaf 100644
--- a/drivers/webp/dsp/dec_sse2.c
+++ b/thirdparty/libwebp/dsp/dec_sse2.c
diff --git a/drivers/webp/dsp/dec_sse41.c b/thirdparty/libwebp/dsp/dec_sse41.c
index 8d6aed13e..8d6aed13e 100644
--- a/drivers/webp/dsp/dec_sse41.c
+++ b/thirdparty/libwebp/dsp/dec_sse41.c
diff --git a/drivers/webp/dsp/dsp.h b/thirdparty/libwebp/dsp/dsp.h
index 2469f7d3a..1faac27b2 100644
--- a/drivers/webp/dsp/dsp.h
+++ b/thirdparty/libwebp/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/enc.c b/thirdparty/libwebp/dsp/enc.c
index f639f5570..f639f5570 100644
--- a/drivers/webp/dsp/enc.c
+++ b/thirdparty/libwebp/dsp/enc.c
diff --git a/drivers/webp/dsp/enc_avx2.c b/thirdparty/libwebp/dsp/enc_avx2.c
index 93efb30b1..93efb30b1 100644
--- a/drivers/webp/dsp/enc_avx2.c
+++ b/thirdparty/libwebp/dsp/enc_avx2.c
diff --git a/drivers/webp/dsp/enc_mips32.c b/thirdparty/libwebp/dsp/enc_mips32.c
index fd10143de..fd10143de 100644
--- a/drivers/webp/dsp/enc_mips32.c
+++ b/thirdparty/libwebp/dsp/enc_mips32.c
diff --git a/drivers/webp/dsp/enc_mips_dsp_r2.c b/thirdparty/libwebp/dsp/enc_mips_dsp_r2.c
index 7ab96f680..7ab96f680 100644
--- a/drivers/webp/dsp/enc_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/enc_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/enc_neon.c b/thirdparty/libwebp/dsp/enc_neon.c
index 46f6bf9a3..46f6bf9a3 100644
--- a/drivers/webp/dsp/enc_neon.c
+++ b/thirdparty/libwebp/dsp/enc_neon.c
diff --git a/drivers/webp/dsp/enc_sse2.c b/thirdparty/libwebp/dsp/enc_sse2.c
index 4a2e3ce14..4a2e3ce14 100644
--- a/drivers/webp/dsp/enc_sse2.c
+++ b/thirdparty/libwebp/dsp/enc_sse2.c
diff --git a/drivers/webp/dsp/enc_sse41.c b/thirdparty/libwebp/dsp/enc_sse41.c
index a1783901a..a1783901a 100644
--- a/drivers/webp/dsp/enc_sse41.c
+++ b/thirdparty/libwebp/dsp/enc_sse41.c
diff --git a/drivers/webp/dsp/filters.c b/thirdparty/libwebp/dsp/filters.c
index 9f04faf0c..9f04faf0c 100644
--- a/drivers/webp/dsp/filters.c
+++ b/thirdparty/libwebp/dsp/filters.c
diff --git a/drivers/webp/dsp/filters_mips_dsp_r2.c b/thirdparty/libwebp/dsp/filters_mips_dsp_r2.c
index 1d82e3c2e..1d82e3c2e 100644
--- a/drivers/webp/dsp/filters_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/filters_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/filters_sse2.c b/thirdparty/libwebp/dsp/filters_sse2.c
index 67f77999e..67f77999e 100644
--- a/drivers/webp/dsp/filters_sse2.c
+++ b/thirdparty/libwebp/dsp/filters_sse2.c
diff --git a/drivers/webp/dsp/lossless.c b/thirdparty/libwebp/dsp/lossless.c
index af913efcc..af913efcc 100644
--- a/drivers/webp/dsp/lossless.c
+++ b/thirdparty/libwebp/dsp/lossless.c
diff --git a/drivers/webp/dsp/lossless.h b/thirdparty/libwebp/dsp/lossless.h
index 7709b4fe8..9f0d7a25b 100644
--- a/drivers/webp/dsp/lossless.h
+++ b/thirdparty/libwebp/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/dsp/lossless_enc.c b/thirdparty/libwebp/dsp/lossless_enc.c
index 256f6f5f8..256f6f5f8 100644
--- a/drivers/webp/dsp/lossless_enc.c
+++ b/thirdparty/libwebp/dsp/lossless_enc.c
diff --git a/drivers/webp/dsp/lossless_enc_mips32.c b/thirdparty/libwebp/dsp/lossless_enc_mips32.c
index 49c666d4f..49c666d4f 100644
--- a/drivers/webp/dsp/lossless_enc_mips32.c
+++ b/thirdparty/libwebp/dsp/lossless_enc_mips32.c
diff --git a/drivers/webp/dsp/lossless_enc_mips_dsp_r2.c b/thirdparty/libwebp/dsp/lossless_enc_mips_dsp_r2.c
index 0abf3c4f3..0abf3c4f3 100644
--- a/drivers/webp/dsp/lossless_enc_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/lossless_enc_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/lossless_enc_neon.c b/thirdparty/libwebp/dsp/lossless_enc_neon.c
index 4c56f2594..4c56f2594 100644
--- a/drivers/webp/dsp/lossless_enc_neon.c
+++ b/thirdparty/libwebp/dsp/lossless_enc_neon.c
diff --git a/drivers/webp/dsp/lossless_enc_sse2.c b/thirdparty/libwebp/dsp/lossless_enc_sse2.c
index 7c894e7ca..7c894e7ca 100644
--- a/drivers/webp/dsp/lossless_enc_sse2.c
+++ b/thirdparty/libwebp/dsp/lossless_enc_sse2.c
diff --git a/drivers/webp/dsp/lossless_enc_sse41.c b/thirdparty/libwebp/dsp/lossless_enc_sse41.c
index 3e493198d..3e493198d 100644
--- a/drivers/webp/dsp/lossless_enc_sse41.c
+++ b/thirdparty/libwebp/dsp/lossless_enc_sse41.c
diff --git a/drivers/webp/dsp/lossless_mips_dsp_r2.c b/thirdparty/libwebp/dsp/lossless_mips_dsp_r2.c
index 90aed7f15..90aed7f15 100644
--- a/drivers/webp/dsp/lossless_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/lossless_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/lossless_neon.c b/thirdparty/libwebp/dsp/lossless_neon.c
index 6faccb8f9..6faccb8f9 100644
--- a/drivers/webp/dsp/lossless_neon.c
+++ b/thirdparty/libwebp/dsp/lossless_neon.c
diff --git a/drivers/webp/dsp/lossless_sse2.c b/thirdparty/libwebp/dsp/lossless_sse2.c
index 2d016c291..2d016c291 100644
--- a/drivers/webp/dsp/lossless_sse2.c
+++ b/thirdparty/libwebp/dsp/lossless_sse2.c
diff --git a/drivers/webp/dsp/mips_macro.h b/thirdparty/libwebp/dsp/mips_macro.h
index 44aba9b71..44aba9b71 100644
--- a/drivers/webp/dsp/mips_macro.h
+++ b/thirdparty/libwebp/dsp/mips_macro.h
diff --git a/drivers/webp/dsp/msa_macro.h b/thirdparty/libwebp/dsp/msa_macro.h
index 5c707f476..5c707f476 100644
--- a/drivers/webp/dsp/msa_macro.h
+++ b/thirdparty/libwebp/dsp/msa_macro.h
diff --git a/drivers/webp/dsp/neon.h b/thirdparty/libwebp/dsp/neon.h
index 0a0626684..0a0626684 100644
--- a/drivers/webp/dsp/neon.h
+++ b/thirdparty/libwebp/dsp/neon.h
diff --git a/drivers/webp/dsp/rescaler.c b/thirdparty/libwebp/dsp/rescaler.c
index bc743d5dc..bc743d5dc 100644
--- a/drivers/webp/dsp/rescaler.c
+++ b/thirdparty/libwebp/dsp/rescaler.c
diff --git a/drivers/webp/dsp/rescaler_mips32.c b/thirdparty/libwebp/dsp/rescaler_mips32.c
index ddaa39133..ddaa39133 100644
--- a/drivers/webp/dsp/rescaler_mips32.c
+++ b/thirdparty/libwebp/dsp/rescaler_mips32.c
diff --git a/drivers/webp/dsp/rescaler_mips_dsp_r2.c b/thirdparty/libwebp/dsp/rescaler_mips_dsp_r2.c
index b457d0a30..b457d0a30 100644
--- a/drivers/webp/dsp/rescaler_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/rescaler_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/rescaler_neon.c b/thirdparty/libwebp/dsp/rescaler_neon.c
index 16fd450ea..16fd450ea 100644
--- a/drivers/webp/dsp/rescaler_neon.c
+++ b/thirdparty/libwebp/dsp/rescaler_neon.c
diff --git a/drivers/webp/dsp/rescaler_sse2.c b/thirdparty/libwebp/dsp/rescaler_sse2.c
index 5b9702817..5b9702817 100644
--- a/drivers/webp/dsp/rescaler_sse2.c
+++ b/thirdparty/libwebp/dsp/rescaler_sse2.c
diff --git a/drivers/webp/dsp/upsampling.c b/thirdparty/libwebp/dsp/upsampling.c
index 651274fce..651274fce 100644
--- a/drivers/webp/dsp/upsampling.c
+++ b/thirdparty/libwebp/dsp/upsampling.c
diff --git a/drivers/webp/dsp/upsampling_mips_dsp_r2.c b/thirdparty/libwebp/dsp/upsampling_mips_dsp_r2.c
index ed2eb7482..ed2eb7482 100644
--- a/drivers/webp/dsp/upsampling_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/upsampling_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/upsampling_neon.c b/thirdparty/libwebp/dsp/upsampling_neon.c
index 2b0c99bdd..2b0c99bdd 100644
--- a/drivers/webp/dsp/upsampling_neon.c
+++ b/thirdparty/libwebp/dsp/upsampling_neon.c
diff --git a/drivers/webp/dsp/upsampling_sse2.c b/thirdparty/libwebp/dsp/upsampling_sse2.c
index b5b668900..b5b668900 100644
--- a/drivers/webp/dsp/upsampling_sse2.c
+++ b/thirdparty/libwebp/dsp/upsampling_sse2.c
diff --git a/drivers/webp/dsp/yuv.c b/thirdparty/libwebp/dsp/yuv.c
index f50a25316..f50a25316 100644
--- a/drivers/webp/dsp/yuv.c
+++ b/thirdparty/libwebp/dsp/yuv.c
diff --git a/drivers/webp/dsp/yuv.h b/thirdparty/libwebp/dsp/yuv.h
index 01c40fcb8..01c40fcb8 100644
--- a/drivers/webp/dsp/yuv.h
+++ b/thirdparty/libwebp/dsp/yuv.h
diff --git a/drivers/webp/dsp/yuv_mips32.c b/thirdparty/libwebp/dsp/yuv_mips32.c
index e61aac571..e61aac571 100644
--- a/drivers/webp/dsp/yuv_mips32.c
+++ b/thirdparty/libwebp/dsp/yuv_mips32.c
diff --git a/drivers/webp/dsp/yuv_mips_dsp_r2.c b/thirdparty/libwebp/dsp/yuv_mips_dsp_r2.c
index 1720d4190..1720d4190 100644
--- a/drivers/webp/dsp/yuv_mips_dsp_r2.c
+++ b/thirdparty/libwebp/dsp/yuv_mips_dsp_r2.c
diff --git a/drivers/webp/dsp/yuv_sse2.c b/thirdparty/libwebp/dsp/yuv_sse2.c
index e19bddff6..e19bddff6 100644
--- a/drivers/webp/dsp/yuv_sse2.c
+++ b/thirdparty/libwebp/dsp/yuv_sse2.c
diff --git a/drivers/webp/dsp/yuv_tables_sse2.h b/thirdparty/libwebp/dsp/yuv_tables_sse2.h
index 2b0f05751..2b0f05751 100644
--- a/drivers/webp/dsp/yuv_tables_sse2.h
+++ b/thirdparty/libwebp/dsp/yuv_tables_sse2.h
diff --git a/drivers/webp/enc/alpha.c b/thirdparty/libwebp/enc/alpha.c
index 464df4db0..03e3ad07f 100644
--- a/drivers/webp/enc/alpha.c
+++ b/thirdparty/libwebp/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/analysis.c b/thirdparty/libwebp/enc/analysis.c
index b55128fd4..b55128fd4 100644
--- a/drivers/webp/enc/analysis.c
+++ b/thirdparty/libwebp/enc/analysis.c
diff --git a/drivers/webp/enc/backward_references.c b/thirdparty/libwebp/enc/backward_references.c
index 136a24a8c..136a24a8c 100644
--- a/drivers/webp/enc/backward_references.c
+++ b/thirdparty/libwebp/enc/backward_references.c
diff --git a/drivers/webp/enc/backward_references.h b/thirdparty/libwebp/enc/backward_references.h
index b72a01fb0..0cadb11e1 100644
--- a/drivers/webp/enc/backward_references.h
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/config.c
index 8fd2276cb..f9f7961d5 100644
--- a/drivers/webp/enc/config.c
+++ b/thirdparty/libwebp/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/cost.c b/thirdparty/libwebp/enc/cost.c
index ae7fe0138..ae7fe0138 100644
--- a/drivers/webp/enc/cost.c
+++ b/thirdparty/libwebp/enc/cost.c
diff --git a/drivers/webp/enc/cost.h b/thirdparty/libwebp/enc/cost.h
index 20960d6d7..20960d6d7 100644
--- a/drivers/webp/enc/cost.h
+++ b/thirdparty/libwebp/enc/cost.h
diff --git a/drivers/webp/enc/delta_palettization.c b/thirdparty/libwebp/enc/delta_palettization.c
index 8bd3a3d23..062e588d7 100644
--- a/drivers/webp/enc/delta_palettization.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/delta_palettization.h
index 54195d452..e41c0c5ab 100644
--- a/drivers/webp/enc/delta_palettization.h
+++ b/thirdparty/libwebp/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/filter.c b/thirdparty/libwebp/enc/filter.c
index e8ea8b4ff..e8ea8b4ff 100644
--- a/drivers/webp/enc/filter.c
+++ b/thirdparty/libwebp/enc/filter.c
diff --git a/drivers/webp/enc/frame.c b/thirdparty/libwebp/enc/frame.c
index 65a98ada4..5b7a40b9a 100644
--- a/drivers/webp/enc/frame.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/histogram.c
index 61544f4cc..395372b24 100644
--- a/drivers/webp/enc/histogram.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/histogram.h
index 59de42b33..d303d1d58 100644
--- a/drivers/webp/enc/histogram.h
+++ b/thirdparty/libwebp/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/iterator.c b/thirdparty/libwebp/enc/iterator.c
index 99d960a54..99d960a54 100644
--- a/drivers/webp/enc/iterator.c
+++ b/thirdparty/libwebp/enc/iterator.c
diff --git a/drivers/webp/enc/near_lossless.c b/thirdparty/libwebp/enc/near_lossless.c
index f4ab91f57..f4ab91f57 100644
--- a/drivers/webp/enc/near_lossless.c
+++ b/thirdparty/libwebp/enc/near_lossless.c
diff --git a/drivers/webp/enc/picture.c b/thirdparty/libwebp/enc/picture.c
index d9befbc47..d9befbc47 100644
--- a/drivers/webp/enc/picture.c
+++ b/thirdparty/libwebp/enc/picture.c
diff --git a/drivers/webp/enc/picture_csp.c b/thirdparty/libwebp/enc/picture_csp.c
index 607a6240b..607a6240b 100644
--- a/drivers/webp/enc/picture_csp.c
+++ b/thirdparty/libwebp/enc/picture_csp.c
diff --git a/drivers/webp/enc/picture_psnr.c b/thirdparty/libwebp/enc/picture_psnr.c
index 81ab1b5ca..81ab1b5ca 100644
--- a/drivers/webp/enc/picture_psnr.c
+++ b/thirdparty/libwebp/enc/picture_psnr.c
diff --git a/drivers/webp/enc/picture_rescale.c b/thirdparty/libwebp/enc/picture_rescale.c
index 9f19e8e80..9f19e8e80 100644
--- a/drivers/webp/enc/picture_rescale.c
+++ b/thirdparty/libwebp/enc/picture_rescale.c
diff --git a/drivers/webp/enc/picture_tools.c b/thirdparty/libwebp/enc/picture_tools.c
index bf97af840..bf97af840 100644
--- a/drivers/webp/enc/picture_tools.c
+++ b/thirdparty/libwebp/enc/picture_tools.c
diff --git a/drivers/webp/enc/quant.c b/thirdparty/libwebp/enc/quant.c
index 549ad26f9..549ad26f9 100644
--- a/drivers/webp/enc/quant.c
+++ b/thirdparty/libwebp/enc/quant.c
diff --git a/drivers/webp/enc/syntax.c b/thirdparty/libwebp/enc/syntax.c
index 2b65f15ca..a0e79ef40 100644
--- a/drivers/webp/enc/syntax.c
+++ b/thirdparty/libwebp/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/token.c b/thirdparty/libwebp/enc/token.c
index e73256b37..e73256b37 100644
--- a/drivers/webp/enc/token.c
+++ b/thirdparty/libwebp/enc/token.c
diff --git a/drivers/webp/enc/tree.c b/thirdparty/libwebp/enc/tree.c
index f141006d1..f141006d1 100644
--- a/drivers/webp/enc/tree.c
+++ b/thirdparty/libwebp/enc/tree.c
diff --git a/drivers/webp/enc/vp8enci.h b/thirdparty/libwebp/enc/vp8enci.h
index efd2f19a9..c1fbd7644 100644
--- a/drivers/webp/enc/vp8enci.h
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/vp8l.c
index 1f2d41ea9..c16e2560e 100644
--- a/drivers/webp/enc/vp8l.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/enc/vp8li.h
index 8e6b360d8..371e276ee 100644
--- a/drivers/webp/enc/vp8li.h
+++ b/thirdparty/libwebp/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/enc/webpenc.c b/thirdparty/libwebp/enc/webpenc.c
index a7d04ea2c..a7d04ea2c 100644
--- a/drivers/webp/enc/webpenc.c
+++ b/thirdparty/libwebp/enc/webpenc.c
diff --git a/drivers/webp/mux/anim_encode.c b/thirdparty/libwebp/mux/anim_encode.c
index 2226febf1..53e2906a8 100644
--- a/drivers/webp/mux/anim_encode.c
+++ b/thirdparty/libwebp/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/muxedit.c b/thirdparty/libwebp/mux/muxedit.c
index 9bbed42b1..9bbed42b1 100644
--- a/drivers/webp/mux/muxedit.c
+++ b/thirdparty/libwebp/mux/muxedit.c
diff --git a/drivers/webp/mux/muxi.h b/thirdparty/libwebp/mux/muxi.h
index 3f6428c4d..d4d5cbad9 100644
--- a/drivers/webp/mux/muxi.h
+++ b/thirdparty/libwebp/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/mux/muxinternal.c b/thirdparty/libwebp/mux/muxinternal.c
index 4babbe82f..4babbe82f 100644
--- a/drivers/webp/mux/muxinternal.c
+++ b/thirdparty/libwebp/mux/muxinternal.c
diff --git a/drivers/webp/mux/muxread.c b/thirdparty/libwebp/mux/muxread.c
index 8957a1e46..8957a1e46 100644
--- a/drivers/webp/mux/muxread.c
+++ b/thirdparty/libwebp/mux/muxread.c
diff --git a/drivers/webp/utils/bit_reader.c b/thirdparty/libwebp/utils/bit_reader.c
index 13c6cf316..2eb46e0b4 100644
--- a/drivers/webp/utils/bit_reader.c
+++ b/thirdparty/libwebp/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,12 +41,14 @@ void VP8InitBitReader(VP8BitReader* const br,
br->bits_ = -8; // to load the very first 8bits
br->eof_ = 0;
VP8BitReaderSetBuffer(br, start, size);
+// -- GODOT -- begin
#ifdef JAVASCRIPT_ENABLED // html5 required aligned reads
while(((uintptr_t)br->buf_ & 1) != 0 && !br->eof_)
VP8LoadFinalBytes(br);
#else
VP8LoadNewBytes(br);
#endif
+// -- GODOT -- end
}
void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset) {
diff --git a/drivers/webp/utils/bit_reader.h b/thirdparty/libwebp/utils/bit_reader.h
index c2dcc711c..ea5c584eb 100644
--- a/drivers/webp/utils/bit_reader.h
+++ b/thirdparty/libwebp/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,11 +37,11 @@ extern "C" {
// BITS can be any multiple of 8 from 8 to 56 (inclusive).
// Pick values that fit natural register size.
+// -- GODOT -- start
#ifdef JAVASCRIPT_ENABLED
-
#define BITS 16
-
#else
+// -- GODOT -- end
#if defined(__i386__) || defined(_M_IX86) // x86 32bit
#define BITS 24
@@ -57,7 +57,9 @@ extern "C" {
#define BITS 24
#endif
+// -- GODOT -- start
#endif
+// -- GODOT -- end
//------------------------------------------------------------------------------
// Derived types and constants:
diff --git a/drivers/webp/utils/bit_reader_inl.h b/thirdparty/libwebp/utils/bit_reader_inl.h
index 21faf14d8..99ed3137d 100644
--- a/drivers/webp/utils/bit_reader_inl.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/bit_writer.c
index 064428691..064428691 100644
--- a/drivers/webp/utils/bit_writer.c
+++ b/thirdparty/libwebp/utils/bit_writer.c
diff --git a/drivers/webp/utils/bit_writer.h b/thirdparty/libwebp/utils/bit_writer.h
index 867a5ee05..ef360d1dc 100644
--- a/drivers/webp/utils/bit_writer.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/color_cache.c
index c34b2e7f1..c34b2e7f1 100644
--- a/drivers/webp/utils/color_cache.c
+++ b/thirdparty/libwebp/utils/color_cache.c
diff --git a/drivers/webp/utils/color_cache.h b/thirdparty/libwebp/utils/color_cache.h
index 34299e4c4..a9a9f6427 100644
--- a/drivers/webp/utils/color_cache.h
+++ b/thirdparty/libwebp/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/endian_inl.h b/thirdparty/libwebp/utils/endian_inl.h
index e11260ff7..e11260ff7 100644
--- a/drivers/webp/utils/endian_inl.h
+++ b/thirdparty/libwebp/utils/endian_inl.h
diff --git a/drivers/webp/utils/filters.c b/thirdparty/libwebp/utils/filters.c
index 15543b127..15543b127 100644
--- a/drivers/webp/utils/filters.c
+++ b/thirdparty/libwebp/utils/filters.c
diff --git a/drivers/webp/utils/filters.h b/thirdparty/libwebp/utils/filters.h
index 4aba3fd3b..088b132fc 100644
--- a/drivers/webp/utils/filters.h
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/huffman.c
index 7c9d83db9..36e550283 100644
--- a/drivers/webp/utils/huffman.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/huffman.h
index a8cc0da1c..c6dd6aaa4 100644
--- a/drivers/webp/utils/huffman.h
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/huffman_encode.c
index 0be414a8f..4e5ef6b44 100644
--- a/drivers/webp/utils/huffman_encode.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/huffman_encode.h
index 93610066f..a15716514 100644
--- a/drivers/webp/utils/huffman_encode.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/quant_levels.c
index d7c8aab92..d7c8aab92 100644
--- a/drivers/webp/utils/quant_levels.c
+++ b/thirdparty/libwebp/utils/quant_levels.c
diff --git a/drivers/webp/utils/quant_levels.h b/thirdparty/libwebp/utils/quant_levels.h
index 3916b977a..1cb5a32ca 100644
--- a/drivers/webp/utils/quant_levels.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/quant_levels_dec.c
index ee0a3fe12..ee0a3fe12 100644
--- a/drivers/webp/utils/quant_levels_dec.c
+++ b/thirdparty/libwebp/utils/quant_levels_dec.c
diff --git a/drivers/webp/utils/quant_levels_dec.h b/thirdparty/libwebp/utils/quant_levels_dec.h
index c99a47538..59a13495d 100644
--- a/drivers/webp/utils/quant_levels_dec.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/random.c
index 24e96ad64..24e96ad64 100644
--- a/drivers/webp/utils/random.c
+++ b/thirdparty/libwebp/utils/random.c
diff --git a/drivers/webp/utils/random.h b/thirdparty/libwebp/utils/random.h
index 745f3e2e8..c392a615c 100644
--- a/drivers/webp/utils/random.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/rescaler.c
index 00c9300bf..00c9300bf 100644
--- a/drivers/webp/utils/rescaler.c
+++ b/thirdparty/libwebp/utils/rescaler.c
diff --git a/drivers/webp/utils/rescaler.h b/thirdparty/libwebp/utils/rescaler.h
index 868467b4d..98b01a76d 100644
--- a/drivers/webp/utils/rescaler.h
+++ b/thirdparty/libwebp/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.c b/thirdparty/libwebp/utils/thread.c
index 93f762279..93f762279 100644
--- a/drivers/webp/utils/thread.c
+++ b/thirdparty/libwebp/utils/thread.c
diff --git a/drivers/webp/utils/thread.h b/thirdparty/libwebp/utils/thread.h
index 6008bb7c0..840831185 100644
--- a/drivers/webp/utils/thread.h
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/utils.c
index b2193c4b4..2602ca3c9 100644
--- a/drivers/webp/utils/utils.c
+++ b/thirdparty/libwebp/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/thirdparty/libwebp/utils/utils.h
index cef496af7..e0a81126d 100644
--- a/drivers/webp/utils/utils.h
+++ b/thirdparty/libwebp/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" {
diff --git a/drivers/webp/config.h b/thirdparty/libwebp/webp/config.h
index 0ce1c7064..0ce1c7064 100644
--- a/drivers/webp/config.h
+++ b/thirdparty/libwebp/webp/config.h
diff --git a/drivers/webp/decode.h b/thirdparty/libwebp/webp/decode.h
index 7a3bed93a..7a3bed93a 100644
--- a/drivers/webp/decode.h
+++ b/thirdparty/libwebp/webp/decode.h
diff --git a/drivers/webp/demux.h b/thirdparty/libwebp/webp/demux.h
index 454f6914b..454f6914b 100644
--- a/drivers/webp/demux.h
+++ b/thirdparty/libwebp/webp/demux.h
diff --git a/drivers/webp/encode.h b/thirdparty/libwebp/webp/encode.h
index 9291b7195..9291b7195 100644
--- a/drivers/webp/encode.h
+++ b/thirdparty/libwebp/webp/encode.h
diff --git a/drivers/webp/format_constants.h b/thirdparty/libwebp/webp/format_constants.h
index b6e78a643..b6e78a643 100644
--- a/drivers/webp/format_constants.h
+++ b/thirdparty/libwebp/webp/format_constants.h
diff --git a/drivers/webp/mux.h b/thirdparty/libwebp/webp/mux.h
index b72658c74..b72658c74 100644
--- a/drivers/webp/mux.h
+++ b/thirdparty/libwebp/webp/mux.h
diff --git a/drivers/webp/mux_types.h b/thirdparty/libwebp/webp/mux_types.h
index c94043a3c..c94043a3c 100644
--- a/drivers/webp/mux_types.h
+++ b/thirdparty/libwebp/webp/mux_types.h
diff --git a/drivers/webp/types.h b/thirdparty/libwebp/webp/types.h
index 98fff35a1..98fff35a1 100644
--- a/drivers/webp/types.h
+++ b/thirdparty/libwebp/webp/types.h