This repository has been archived by the owner on May 31, 2023. It is now read-only.
forked from chai2010/webp
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8c94597
commit 98fa2e2
Showing
167 changed files
with
42,657 additions
and
635 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
/output.webp | ||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
.gitattributes export-ignore | ||
.gitignore export-ignore | ||
.mailmap export-ignore | ||
*.bat text eol=crlf | ||
*.pdf -text -diff | ||
*.ppm -text -diff |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
Contributors: | ||
- Aidan O'Loan (aidanol at gmail dot com) | ||
- Alan Browning (browning at google dot com) | ||
- Charles Munger (clm at google dot com) | ||
- Cheng Yi (cyi at google dot com) | ||
- Christian Duvivier (cduvivier at google dot com) | ||
- Djordje Pesut (djordje dot pesut at imgtec dot com) | ||
- Hui Su (huisu at google dot com) | ||
- Ingvar Stepanyan (rreverser at google dot com) | ||
- James Zern (jzern at google dot com) | ||
- Jan Engelhardt (jengelh at medozas dot de) | ||
- Jehan (jehan at girinstud dot io) | ||
- Johann Koenig (johann dot koenig at duck dot com) | ||
- Jovan Zelincevic (jovan dot zelincevic at imgtec dot com) | ||
- Jyrki Alakuijala (jyrki at google dot com) | ||
- Konstantin Ivlev (tomskside at gmail dot com) | ||
- Lode Vandevenne (lode at google dot com) | ||
- Lou Quillio (louquillio at google dot com) | ||
- Mans Rullgard (mans at mansr dot com) | ||
- Marcin Kowalczyk (qrczak at google dot com) | ||
- Martin Olsson (mnemo at minimum dot se) | ||
- Mikołaj Zalewski (mikolajz at google dot com) | ||
- Mislav Bradac (mislavm at google dot com) | ||
- Nico Weber (thakis at chromium dot org) | ||
- Noel Chromium (noel at chromium dot org) | ||
- Oliver Wolff (oliver dot wolff at qt dot io) | ||
- Owen Rodley (orodley at google dot com) | ||
- Parag Salasakar (img dot mips1 at gmail dot com) | ||
- Pascal Massimino (pascal dot massimino at gmail dot com) | ||
- Paweł Hajdan, Jr (phajdan dot jr at chromium dot org) | ||
- Pierre Joye (pierre dot php at gmail dot com) | ||
- Sam Clegg (sbc at chromium dot org) | ||
- Scott Hancher (seh at google dot com) | ||
- Scott LaVarnway (slavarnway at google dot com) | ||
- Scott Talbot (s at chikachow dot org) | ||
- Slobodan Prijic (slobodan dot prijic at imgtec dot com) | ||
- Somnath Banerjee (somnath dot banerjee at gmail dot com) | ||
- Sriraman Tallam (tmsriram at google dot com) | ||
- Tamar Levy (tamar dot levy at intel dot com) | ||
- Timothy Gu (timothygu99 at gmail dot com) | ||
- Urvang Joshi (urvang at google dot com) | ||
- Vikas Arora (vikasa at google dot com) | ||
- Vincent Rabaud (vrabaud at google dot com) | ||
- Vlad Tsyrklevich (vtsyrklevich at chromium dot org) | ||
- Wan-Teh Chang (wtc at google dot com) | ||
- Yang Zhang (yang dot zhang at arm dot com) | ||
- Yannis Guyon (yguyon at google dot com) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,280 @@ | ||
LOCAL_PATH := $(call my-dir) | ||
|
||
WEBP_CFLAGS := -Wall -DANDROID -DHAVE_MALLOC_H -DHAVE_PTHREAD -DWEBP_USE_THREAD | ||
WEBP_CFLAGS += -fvisibility=hidden | ||
|
||
ifeq ($(APP_OPTIM),release) | ||
WEBP_CFLAGS += -finline-functions -ffast-math \ | ||
-ffunction-sections -fdata-sections | ||
ifeq ($(findstring clang,$(NDK_TOOLCHAIN_VERSION)),) | ||
WEBP_CFLAGS += -frename-registers -s | ||
endif | ||
endif | ||
|
||
# mips32 fails to build with clang from r14b | ||
# https://bugs.chromium.org/p/webp/issues/detail?id=343 | ||
ifeq ($(findstring clang,$(NDK_TOOLCHAIN_VERSION)),clang) | ||
ifeq ($(TARGET_ARCH),mips) | ||
clang_version := $(shell $(TARGET_CC) --version) | ||
ifneq ($(findstring clang version 3,$(clang_version)),) | ||
WEBP_CFLAGS += -no-integrated-as | ||
endif | ||
endif | ||
endif | ||
|
||
ifneq ($(findstring armeabi-v7a, $(TARGET_ARCH_ABI)),) | ||
# Setting LOCAL_ARM_NEON will enable -mfpu=neon which may cause illegal | ||
# instructions to be generated for armv7a code. Instead target the neon code | ||
# specifically. | ||
NEON := c.neon | ||
USE_CPUFEATURES := yes | ||
WEBP_CFLAGS += -DHAVE_CPU_FEATURES_H | ||
else | ||
NEON := c | ||
endif | ||
|
||
dec_srcs := \ | ||
src/dec/alpha_dec.c \ | ||
src/dec/buffer_dec.c \ | ||
src/dec/frame_dec.c \ | ||
src/dec/idec_dec.c \ | ||
src/dec/io_dec.c \ | ||
src/dec/quant_dec.c \ | ||
src/dec/tree_dec.c \ | ||
src/dec/vp8_dec.c \ | ||
src/dec/vp8l_dec.c \ | ||
src/dec/webp_dec.c \ | ||
|
||
demux_srcs := \ | ||
src/demux/anim_decode.c \ | ||
src/demux/demux.c \ | ||
|
||
dsp_dec_srcs := \ | ||
src/dsp/alpha_processing.c \ | ||
src/dsp/alpha_processing_mips_dsp_r2.c \ | ||
src/dsp/alpha_processing_neon.$(NEON) \ | ||
src/dsp/alpha_processing_sse2.c \ | ||
src/dsp/alpha_processing_sse41.c \ | ||
src/dsp/cpu.c \ | ||
src/dsp/dec.c \ | ||
src/dsp/dec_clip_tables.c \ | ||
src/dsp/dec_mips32.c \ | ||
src/dsp/dec_mips_dsp_r2.c \ | ||
src/dsp/dec_msa.c \ | ||
src/dsp/dec_neon.$(NEON) \ | ||
src/dsp/dec_sse2.c \ | ||
src/dsp/dec_sse41.c \ | ||
src/dsp/filters.c \ | ||
src/dsp/filters_mips_dsp_r2.c \ | ||
src/dsp/filters_msa.c \ | ||
src/dsp/filters_neon.$(NEON) \ | ||
src/dsp/filters_sse2.c \ | ||
src/dsp/lossless.c \ | ||
src/dsp/lossless_mips_dsp_r2.c \ | ||
src/dsp/lossless_msa.c \ | ||
src/dsp/lossless_neon.$(NEON) \ | ||
src/dsp/lossless_sse2.c \ | ||
src/dsp/rescaler.c \ | ||
src/dsp/rescaler_mips32.c \ | ||
src/dsp/rescaler_mips_dsp_r2.c \ | ||
src/dsp/rescaler_msa.c \ | ||
src/dsp/rescaler_neon.$(NEON) \ | ||
src/dsp/rescaler_sse2.c \ | ||
src/dsp/upsampling.c \ | ||
src/dsp/upsampling_mips_dsp_r2.c \ | ||
src/dsp/upsampling_msa.c \ | ||
src/dsp/upsampling_neon.$(NEON) \ | ||
src/dsp/upsampling_sse2.c \ | ||
src/dsp/upsampling_sse41.c \ | ||
src/dsp/yuv.c \ | ||
src/dsp/yuv_mips32.c \ | ||
src/dsp/yuv_mips_dsp_r2.c \ | ||
src/dsp/yuv_neon.$(NEON) \ | ||
src/dsp/yuv_sse2.c \ | ||
src/dsp/yuv_sse41.c \ | ||
|
||
dsp_enc_srcs := \ | ||
src/dsp/cost.c \ | ||
src/dsp/cost_mips32.c \ | ||
src/dsp/cost_mips_dsp_r2.c \ | ||
src/dsp/cost_neon.$(NEON) \ | ||
src/dsp/cost_sse2.c \ | ||
src/dsp/enc.c \ | ||
src/dsp/enc_mips32.c \ | ||
src/dsp/enc_mips_dsp_r2.c \ | ||
src/dsp/enc_msa.c \ | ||
src/dsp/enc_neon.$(NEON) \ | ||
src/dsp/enc_sse2.c \ | ||
src/dsp/enc_sse41.c \ | ||
src/dsp/lossless_enc.c \ | ||
src/dsp/lossless_enc_mips32.c \ | ||
src/dsp/lossless_enc_mips_dsp_r2.c \ | ||
src/dsp/lossless_enc_msa.c \ | ||
src/dsp/lossless_enc_neon.$(NEON) \ | ||
src/dsp/lossless_enc_sse2.c \ | ||
src/dsp/lossless_enc_sse41.c \ | ||
src/dsp/ssim.c \ | ||
src/dsp/ssim_sse2.c \ | ||
|
||
enc_srcs := \ | ||
src/enc/alpha_enc.c \ | ||
src/enc/analysis_enc.c \ | ||
src/enc/backward_references_cost_enc.c \ | ||
src/enc/backward_references_enc.c \ | ||
src/enc/config_enc.c \ | ||
src/enc/cost_enc.c \ | ||
src/enc/filter_enc.c \ | ||
src/enc/frame_enc.c \ | ||
src/enc/histogram_enc.c \ | ||
src/enc/iterator_enc.c \ | ||
src/enc/near_lossless_enc.c \ | ||
src/enc/picture_enc.c \ | ||
src/enc/picture_csp_enc.c \ | ||
src/enc/picture_psnr_enc.c \ | ||
src/enc/picture_rescale_enc.c \ | ||
src/enc/picture_tools_enc.c \ | ||
src/enc/predictor_enc.c \ | ||
src/enc/quant_enc.c \ | ||
src/enc/syntax_enc.c \ | ||
src/enc/token_enc.c \ | ||
src/enc/tree_enc.c \ | ||
src/enc/vp8l_enc.c \ | ||
src/enc/webp_enc.c \ | ||
|
||
mux_srcs := \ | ||
src/mux/anim_encode.c \ | ||
src/mux/muxedit.c \ | ||
src/mux/muxinternal.c \ | ||
src/mux/muxread.c \ | ||
|
||
utils_dec_srcs := \ | ||
src/utils/bit_reader_utils.c \ | ||
src/utils/color_cache_utils.c \ | ||
src/utils/filters_utils.c \ | ||
src/utils/huffman_utils.c \ | ||
src/utils/quant_levels_dec_utils.c \ | ||
src/utils/random_utils.c \ | ||
src/utils/rescaler_utils.c \ | ||
src/utils/thread_utils.c \ | ||
src/utils/utils.c \ | ||
|
||
utils_enc_srcs := \ | ||
src/utils/bit_writer_utils.c \ | ||
src/utils/huffman_encode_utils.c \ | ||
src/utils/quant_levels_utils.c \ | ||
|
||
################################################################################ | ||
# libwebpdecoder | ||
|
||
include $(CLEAR_VARS) | ||
|
||
LOCAL_SRC_FILES := \ | ||
$(dec_srcs) \ | ||
$(dsp_dec_srcs) \ | ||
$(utils_dec_srcs) \ | ||
|
||
LOCAL_CFLAGS := $(WEBP_CFLAGS) | ||
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src | ||
|
||
# prefer arm over thumb mode for performance gains | ||
LOCAL_ARM_MODE := arm | ||
|
||
ifeq ($(USE_CPUFEATURES),yes) | ||
LOCAL_STATIC_LIBRARIES := cpufeatures | ||
endif | ||
|
||
LOCAL_MODULE := webpdecoder_static | ||
|
||
include $(BUILD_STATIC_LIBRARY) | ||
|
||
ifeq ($(ENABLE_SHARED),1) | ||
include $(CLEAR_VARS) | ||
|
||
LOCAL_WHOLE_STATIC_LIBRARIES := webpdecoder_static | ||
|
||
LOCAL_MODULE := webpdecoder | ||
|
||
include $(BUILD_SHARED_LIBRARY) | ||
endif # ENABLE_SHARED=1 | ||
|
||
################################################################################ | ||
# libwebp | ||
|
||
include $(CLEAR_VARS) | ||
|
||
LOCAL_SRC_FILES := \ | ||
$(dsp_enc_srcs) \ | ||
$(enc_srcs) \ | ||
$(utils_enc_srcs) \ | ||
|
||
LOCAL_CFLAGS := $(WEBP_CFLAGS) | ||
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src | ||
|
||
# prefer arm over thumb mode for performance gains | ||
LOCAL_ARM_MODE := arm | ||
|
||
LOCAL_WHOLE_STATIC_LIBRARIES := webpdecoder_static | ||
|
||
LOCAL_MODULE := webp | ||
|
||
ifeq ($(ENABLE_SHARED),1) | ||
include $(BUILD_SHARED_LIBRARY) | ||
else | ||
include $(BUILD_STATIC_LIBRARY) | ||
endif | ||
|
||
################################################################################ | ||
# libwebpdemux | ||
|
||
include $(CLEAR_VARS) | ||
|
||
LOCAL_SRC_FILES := $(demux_srcs) | ||
|
||
LOCAL_CFLAGS := $(WEBP_CFLAGS) | ||
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src | ||
|
||
# prefer arm over thumb mode for performance gains | ||
LOCAL_ARM_MODE := arm | ||
|
||
LOCAL_MODULE := webpdemux | ||
|
||
ifeq ($(ENABLE_SHARED),1) | ||
LOCAL_SHARED_LIBRARIES := webp | ||
include $(BUILD_SHARED_LIBRARY) | ||
else | ||
LOCAL_STATIC_LIBRARIES := webp | ||
include $(BUILD_STATIC_LIBRARY) | ||
endif | ||
|
||
################################################################################ | ||
# libwebpmux | ||
|
||
include $(CLEAR_VARS) | ||
|
||
LOCAL_SRC_FILES := $(mux_srcs) | ||
|
||
LOCAL_CFLAGS := $(WEBP_CFLAGS) | ||
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src | ||
|
||
# prefer arm over thumb mode for performance gains | ||
LOCAL_ARM_MODE := arm | ||
|
||
LOCAL_MODULE := webpmux | ||
|
||
ifeq ($(ENABLE_SHARED),1) | ||
LOCAL_SHARED_LIBRARIES := webp | ||
include $(BUILD_SHARED_LIBRARY) | ||
else | ||
LOCAL_STATIC_LIBRARIES := webp | ||
include $(BUILD_STATIC_LIBRARY) | ||
endif | ||
|
||
################################################################################ | ||
|
||
WEBP_SRC_PATH := $(LOCAL_PATH) | ||
include $(WEBP_SRC_PATH)/imageio/Android.mk | ||
include $(WEBP_SRC_PATH)/examples/Android.mk | ||
|
||
ifeq ($(USE_CPUFEATURES),yes) | ||
$(call import-module,android/cpufeatures) | ||
endif |
Oops, something went wrong.