mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-13 06:24:27 +02:00
multi-thread decoding: ~25-30% faster
To be enabled with the flag WEBP_USE_THREAD. For now it's only available on unix (pthread), when using Makefile.unix Will be switched on more generally later. In-loop filtering and output (=rescaling/yuv->rgb conversion) is done in parallel to bitstream decoding, lagging 1 row behind. Example: examples/dwebp bryce.webp -v Time to decode picture: 0.680s examples/dwebp bryce.webp -v -mt Time to decode picture: 0.515s Change-Id: Ic30a897423137a3bdace9c4e30465ef758fe53f2
This commit is contained in:
@ -36,12 +36,16 @@ endif
|
||||
# Extra flags to enable experimental features and code
|
||||
# EXTRA_FLAGS += -DWEBP_EXPERIMENTAL_FEATURES
|
||||
|
||||
# Extra flags to enable multi-threading
|
||||
EXTRA_FLAGS += -DWEBP_USE_THREAD
|
||||
EXTRA_LIBS += -lpthread
|
||||
|
||||
# Extra flags to emulate C89 strictness with the full ANSI
|
||||
EXTRA_FLAGS += -Wextra -Wold-style-definition
|
||||
EXTRA_FLAGS += -Wmissing-prototypes
|
||||
EXTRA_FLAGS += -Wmissing-declarations
|
||||
EXTRA_FLAGS += -Wdeclaration-after-statement
|
||||
# EXTRA_FLAGS += -Wvla
|
||||
EXTRA_FLAGS += -Wvla
|
||||
|
||||
#### Nothing should normally be changed below this line ####
|
||||
|
||||
@ -58,7 +62,7 @@ OBJS = src/enc/webpenc.o src/enc/bit_writer.o src/enc/syntax.o \
|
||||
src/dec/bits.o src/dec/dsp.o src/dec/dsp_sse2.o src/dec/frame.o \
|
||||
src/dec/webp.o src/dec/quant.o src/dec/tree.o src/dec/vp8.o \
|
||||
src/dec/yuv.o src/dec/idec.o src/dec/alpha.o src/dec/layer.o \
|
||||
src/dec/io.o src/dec/io_sse2.o src/dec/buffer.o
|
||||
src/dec/io.o src/dec/io_sse2.o src/dec/buffer.o src/dec/thread.o
|
||||
HDRS = src/webp/encode.h src/enc/vp8enci.h src/enc/bit_writer.h \
|
||||
src/enc/cost.h src/dec/bits.h src/dec/vp8i.h src/dec/yuv.h
|
||||
OUTPUT = examples/cwebp examples/dwebp src/libwebp.a
|
||||
|
Reference in New Issue
Block a user