Compare commits
5 Commits
main
...
v1.0.0-rc1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
15aa48d905 | ||
![]() |
e607dabcf2 | ||
![]() |
38410c082f | ||
![]() |
c57b273698 | ||
![]() |
cba2885375 |
1
AUTHORS
1
AUTHORS
@@ -35,4 +35,5 @@ Contributors:
|
|||||||
- Urvang Joshi (urvang at google dot com)
|
- Urvang Joshi (urvang at google dot com)
|
||||||
- Vikas Arora (vikasa at google dot com)
|
- Vikas Arora (vikasa at google dot com)
|
||||||
- Vincent Rabaud (vrabaud at google dot com)
|
- Vincent Rabaud (vrabaud at google dot com)
|
||||||
|
- Vlad Tsyrklevich (vtsyrklevich at chromium dot org)
|
||||||
- Yang Zhang (yang dot zhang at arm dot com)
|
- Yang Zhang (yang dot zhang at arm dot com)
|
||||||
|
168
CMakeLists.txt
168
CMakeLists.txt
@@ -1,16 +1,16 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 2.8.7)
|
||||||
|
|
||||||
project(WebP C)
|
project(libwebp C)
|
||||||
|
|
||||||
# Options for coder / decoder executables.
|
# Options for coder / decoder executables.
|
||||||
option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." ON)
|
option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." ON)
|
||||||
option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." ON)
|
option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." OFF)
|
||||||
option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." ON)
|
option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." OFF)
|
||||||
option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." ON)
|
option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." OFF)
|
||||||
option(WEBP_BUILD_IMG2WEBP "Build the img2webp animation tool." ON)
|
option(WEBP_BUILD_IMG2WEBP "Build the img2webp animation tool." OFF)
|
||||||
option(WEBP_BUILD_WEBPINFO "Build the webpinfo command line tool." ON)
|
option(WEBP_BUILD_WEBPINFO "Build the webpinfo command line tool." OFF)
|
||||||
option(WEBP_BUILD_WEBP_JS "Emscripten build of webp.js." OFF)
|
option(WEBP_BUILD_WEBP_JS "Emscripten build of webp.js." OFF)
|
||||||
option(WEBP_NEAR_LOSSLESS "Enable near-lossless encoding" ON)
|
option(WEBP_ENABLE_NEAR_LOSSLESS "Enable near-lossless encoding" ON)
|
||||||
option(WEBP_ENABLE_SWAP_16BIT_CSP "Enable byte swap for 16 bit colorspaces." OFF)
|
option(WEBP_ENABLE_SWAP_16BIT_CSP "Enable byte swap for 16 bit colorspaces." OFF)
|
||||||
|
|
||||||
if(WEBP_BUILD_WEBP_JS)
|
if(WEBP_BUILD_WEBP_JS)
|
||||||
@@ -22,13 +22,12 @@ set(WEBP_DEP_INCLUDE_DIRS)
|
|||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE
|
set(CMAKE_BUILD_TYPE "Release" CACHE
|
||||||
"Build type: Release, Debug, MinSizeRel or RelWithDebInfo" STRING FORCE
|
"Build type: Release, Debug or RelWithDebInfo" STRING FORCE
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Include dependencies.
|
# Include dependencies.
|
||||||
include(cmake/deps.cmake)
|
include(cmake/deps.cmake)
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Options.
|
# Options.
|
||||||
@@ -101,11 +100,6 @@ foreach(FILE ${WEBP_SIMD_FILES_NOT_TO_INCLUDE})
|
|||||||
list(REMOVE_ITEM WEBP_DSP_DEC_SRCS ${FILE})
|
list(REMOVE_ITEM WEBP_DSP_DEC_SRCS ${FILE})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Generate the config.h file.
|
|
||||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.in
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/src/webp/config.h)
|
|
||||||
add_definitions(-DHAVE_CONFIG_H)
|
|
||||||
|
|
||||||
### Define the mandatory libraries.
|
### Define the mandatory libraries.
|
||||||
# Build the webpdecoder library.
|
# Build the webpdecoder library.
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
@@ -114,63 +108,24 @@ if(MSVC)
|
|||||||
else()
|
else()
|
||||||
add_definitions(-Wall)
|
add_definitions(-Wall)
|
||||||
endif()
|
endif()
|
||||||
include_directories(${WEBP_DEP_INCLUDE_DIRS})
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${WEBP_DEP_INCLUDE_DIRS})
|
||||||
add_library(webpdecode OBJECT ${WEBP_DEC_SRCS})
|
add_library(webpdecode OBJECT ${WEBP_DEC_SRCS})
|
||||||
target_include_directories(webpdecode PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webpdspdecode OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS})
|
add_library(webpdspdecode OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS})
|
||||||
target_include_directories(webpdspdecode PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webputilsdecode OBJECT ${WEBP_UTILS_COMMON_SRCS}
|
add_library(webputilsdecode OBJECT ${WEBP_UTILS_COMMON_SRCS}
|
||||||
${WEBP_UTILS_DEC_SRCS}
|
${WEBP_UTILS_DEC_SRCS})
|
||||||
)
|
|
||||||
target_include_directories(webputilsdecode PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webpdecoder $<TARGET_OBJECTS:webpdecode>
|
add_library(webpdecoder $<TARGET_OBJECTS:webpdecode>
|
||||||
$<TARGET_OBJECTS:webpdspdecode> $<TARGET_OBJECTS:webputilsdecode>)
|
$<TARGET_OBJECTS:webpdspdecode> $<TARGET_OBJECTS:webputilsdecode>)
|
||||||
target_link_libraries(webpdecoder ${WEBP_DEP_LIBRARIES})
|
target_link_libraries(webpdecoder ${WEBP_DEP_LIBRARIES})
|
||||||
target_include_directories(webpdecoder
|
|
||||||
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
||||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
|
||||||
)
|
|
||||||
set_target_properties(webpdecoder PROPERTIES PUBLIC_HEADER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Build the webp library.
|
# Build the webp library.
|
||||||
add_library(webpencode OBJECT ${WEBP_ENC_SRCS})
|
add_library(webpencode OBJECT ${WEBP_ENC_SRCS})
|
||||||
target_include_directories(webpencode PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webpdsp OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS}
|
add_library(webpdsp OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS}
|
||||||
${WEBP_DSP_ENC_SRCS})
|
${WEBP_DSP_ENC_SRCS})
|
||||||
target_include_directories(webpdsp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webputils OBJECT ${WEBP_UTILS_COMMON_SRCS} ${WEBP_UTILS_DEC_SRCS}
|
add_library(webputils OBJECT ${WEBP_UTILS_COMMON_SRCS} ${WEBP_UTILS_DEC_SRCS}
|
||||||
${WEBP_UTILS_ENC_SRCS})
|
${WEBP_UTILS_ENC_SRCS})
|
||||||
target_include_directories(webputils PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
add_library(webp $<TARGET_OBJECTS:webpdecode> $<TARGET_OBJECTS:webpdsp>
|
add_library(webp $<TARGET_OBJECTS:webpdecode> $<TARGET_OBJECTS:webpdsp>
|
||||||
$<TARGET_OBJECTS:webpencode> $<TARGET_OBJECTS:webputils>)
|
$<TARGET_OBJECTS:webpencode> $<TARGET_OBJECTS:webputils>)
|
||||||
target_link_libraries(webp ${WEBP_DEP_LIBRARIES})
|
target_link_libraries(webp ${WEBP_DEP_LIBRARIES})
|
||||||
target_include_directories(webp
|
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
PUBLIC $<INSTALL_INTERFACE:include>
|
|
||||||
)
|
|
||||||
set_target_properties(webp PROPERTIES PUBLIC_HEADER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/encode.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Make sure the OBJECT libraries are built with position independent code
|
# Make sure the OBJECT libraries are built with position independent code
|
||||||
# (it is not ON by default).
|
# (it is not ON by default).
|
||||||
@@ -180,17 +135,6 @@ set_target_properties(webpdecode webpdspdecode webputilsdecode
|
|||||||
# Build the webp demux library.
|
# Build the webp demux library.
|
||||||
add_library(webpdemux ${WEBP_DEMUX_SRCS})
|
add_library(webpdemux ${WEBP_DEMUX_SRCS})
|
||||||
target_link_libraries(webpdemux webp)
|
target_link_libraries(webpdemux webp)
|
||||||
target_include_directories(webpdemux
|
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
PUBLIC $<INSTALL_INTERFACE:include>
|
|
||||||
)
|
|
||||||
set_target_properties(webpdemux PROPERTIES PUBLIC_HEADER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/demux.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Set the version numbers.
|
# Set the version numbers.
|
||||||
function(parse_version FILE NAME VAR)
|
function(parse_version FILE NAME VAR)
|
||||||
@@ -238,8 +182,6 @@ if(WEBP_BUILD_CWEBP OR WEBP_BUILD_DWEBP OR
|
|||||||
list(APPEND EXAMPLEUTIL_SRCS
|
list(APPEND EXAMPLEUTIL_SRCS
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h)
|
${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h)
|
||||||
add_library(exampleutil ${EXAMPLEUTIL_SRCS})
|
add_library(exampleutil ${EXAMPLEUTIL_SRCS})
|
||||||
target_include_directories(exampleutil
|
|
||||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
|
|
||||||
|
|
||||||
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS"
|
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS"
|
||||||
"imageio_util_[^ ]*")
|
"imageio_util_[^ ]*")
|
||||||
@@ -266,22 +208,26 @@ endif()
|
|||||||
|
|
||||||
if(WEBP_BUILD_DWEBP)
|
if(WEBP_BUILD_DWEBP)
|
||||||
# dwebp
|
# dwebp
|
||||||
|
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS})
|
||||||
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "DWEBP_SRCS"
|
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "DWEBP_SRCS"
|
||||||
"dwebp")
|
"dwebp")
|
||||||
add_executable(dwebp ${DWEBP_SRCS})
|
add_executable(dwebp ${DWEBP_SRCS})
|
||||||
target_link_libraries(dwebp exampleutil imagedec imageenc)
|
target_link_libraries(dwebp exampleutil imagedec imageenc webpdecoder)
|
||||||
target_include_directories(dwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
|
install(TARGETS dwebp RUNTIME DESTINATION bin)
|
||||||
install(TARGETS dwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
set_property(TARGET dwebp PROPERTY INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WEBP_BUILD_CWEBP)
|
if(WEBP_BUILD_CWEBP)
|
||||||
# cwebp
|
# cwebp
|
||||||
|
include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS})
|
||||||
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "CWEBP_SRCS"
|
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "CWEBP_SRCS"
|
||||||
"cwebp")
|
"cwebp")
|
||||||
add_executable(cwebp ${CWEBP_SRCS})
|
add_executable(cwebp ${CWEBP_SRCS})
|
||||||
target_link_libraries(cwebp exampleutil imagedec webp)
|
target_link_libraries(cwebp exampleutil imagedec webp)
|
||||||
target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
|
install(TARGETS cwebp RUNTIME DESTINATION bin)
|
||||||
install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
set_property(TARGET cwebp PROPERTY INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WEBP_BUILD_GIF2WEBP AND NOT GIF_FOUND)
|
if(WEBP_BUILD_GIF2WEBP AND NOT GIF_FOUND)
|
||||||
@@ -293,16 +239,9 @@ if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP)
|
|||||||
"")
|
"")
|
||||||
add_library(webpmux ${WEBP_MUX_SRCS})
|
add_library(webpmux ${WEBP_MUX_SRCS})
|
||||||
target_link_libraries(webpmux webp)
|
target_link_libraries(webpmux webp)
|
||||||
target_include_directories(webpmux
|
|
||||||
PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
|
||||||
parse_version(mux/Makefile.am webpmux WEBP_MUX_SOVERSION)
|
parse_version(mux/Makefile.am webpmux WEBP_MUX_SOVERSION)
|
||||||
set_target_properties(webpmux PROPERTIES VERSION ${PACKAGE_VERSION}
|
set_target_properties(webpmux PROPERTIES VERSION ${PACKAGE_VERSION}
|
||||||
SOVERSION ${WEBP_MUX_SOVERSION})
|
SOVERSION ${WEBP_MUX_SOVERSION})
|
||||||
set_target_properties(webpmux PROPERTIES PUBLIC_HEADER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;"
|
|
||||||
)
|
|
||||||
list(APPEND INSTALLED_LIBRARIES webpmux)
|
list(APPEND INSTALLED_LIBRARIES webpmux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -314,8 +253,9 @@ if(WEBP_BUILD_GIF2WEBP)
|
|||||||
add_executable(gif2webp ${GIF2WEBP_SRCS})
|
add_executable(gif2webp ${GIF2WEBP_SRCS})
|
||||||
target_link_libraries(gif2webp exampleutil imageioutil webp webpmux
|
target_link_libraries(gif2webp exampleutil imageioutil webp webpmux
|
||||||
${WEBP_DEP_GIF_LIBRARIES})
|
${WEBP_DEP_GIF_LIBRARIES})
|
||||||
target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
|
install(TARGETS gif2webp RUNTIME DESTINATION bin)
|
||||||
install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
set_property(TARGET gif2webp PROPERTY INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WEBP_BUILD_IMG2WEBP)
|
if(WEBP_BUILD_IMG2WEBP)
|
||||||
@@ -325,8 +265,9 @@ if(WEBP_BUILD_IMG2WEBP)
|
|||||||
"img2webp")
|
"img2webp")
|
||||||
add_executable(img2webp ${IMG2WEBP_SRCS})
|
add_executable(img2webp ${IMG2WEBP_SRCS})
|
||||||
target_link_libraries(img2webp exampleutil imagedec imageioutil webp webpmux)
|
target_link_libraries(img2webp exampleutil imagedec imageioutil webp webpmux)
|
||||||
target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
|
install(TARGETS img2webp RUNTIME DESTINATION bin)
|
||||||
install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
set_property(TARGET img2webp PROPERTY INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WEBP_BUILD_WEBPINFO)
|
if (WEBP_BUILD_WEBPINFO)
|
||||||
@@ -336,51 +277,53 @@ if (WEBP_BUILD_WEBPINFO)
|
|||||||
"webpinfo")
|
"webpinfo")
|
||||||
add_executable(webpinfo ${WEBPINFO_SRCS})
|
add_executable(webpinfo ${WEBPINFO_SRCS})
|
||||||
target_link_libraries(webpinfo exampleutil imageioutil)
|
target_link_libraries(webpinfo exampleutil imageioutil)
|
||||||
target_include_directories(webpinfo PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
|
install(TARGETS webpinfo RUNTIME DESTINATION bin)
|
||||||
install(TARGETS webpinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
set_property(TARGET webpinfo PROPERTY INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WEBP_BUILD_WEBP_JS)
|
if(WEBP_BUILD_WEBP_JS)
|
||||||
# JavaScript version
|
# JavaScript version
|
||||||
add_executable(webp_js ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c)
|
add_executable(webp_js
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c)
|
||||||
target_link_libraries(webp_js webpdecoder SDL)
|
target_link_libraries(webp_js webpdecoder SDL)
|
||||||
target_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
||||||
set(WEBP_HAVE_SDL 1)
|
set(WEBP_HAVE_SDL 1)
|
||||||
set_target_properties(webp_js PROPERTIES LINK_FLAGS
|
set_target_properties(webp_js PROPERTIES LINK_FLAGS
|
||||||
"-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \
|
"-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0")
|
||||||
-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'")
|
|
||||||
set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp)
|
set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp)
|
||||||
target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
||||||
|
|
||||||
# WASM version
|
# WASM version
|
||||||
add_executable(webp_wasm ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c)
|
add_executable(webp_wasm
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c)
|
||||||
target_link_libraries(webp_wasm webpdecoder SDL)
|
target_link_libraries(webp_wasm webpdecoder SDL)
|
||||||
target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
||||||
set_target_properties(webp_wasm PROPERTIES LINK_FLAGS
|
set_target_properties(webp_wasm PROPERTIES LINK_FLAGS
|
||||||
"-s WASM=1 -s 'BINARYEN_METHOD=\"native-wasm\"' \
|
"-s WASM=1 -s 'BINARYEN_METHOD=\"native-wasm\"' \
|
||||||
-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \
|
-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0")
|
||||||
-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'")
|
|
||||||
target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL)
|
||||||
|
|
||||||
target_compile_definitions(webpdspdecode PUBLIC EMSCRIPTEN)
|
target_compile_definitions(webpdecoder PUBLIC EMSCRIPTEN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Generate the config.h file.
|
||||||
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/src/webp/config.h)
|
||||||
|
add_definitions(-DHAVE_CONFIG_H)
|
||||||
|
# The webp folder is included as we reference config.h as
|
||||||
|
# ../webp/config.h or webp/config.h
|
||||||
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
# Install the different headers and libraries.
|
# Install the different headers and libraries.
|
||||||
include(GNUInstallDirs)
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h
|
||||||
install(
|
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/demux.h
|
||||||
TARGETS ${INSTALLED_LIBRARIES}
|
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/encode.h
|
||||||
EXPORT ${PROJECT_NAME}Targets
|
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
DESTINATION include/webp)
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
install(TARGETS ${INSTALLED_LIBRARIES}
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
LIBRARY DESTINATION lib
|
||||||
)
|
ARCHIVE DESTINATION lib)
|
||||||
set(ConfigPackageLocation ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake/)
|
|
||||||
install(EXPORT ${PROJECT_NAME}Targets
|
|
||||||
NAMESPACE ${PROJECT_NAME}::
|
|
||||||
DESTINATION ${ConfigPackageLocation}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Create the CMake version file.
|
# Create the CMake version file.
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
@@ -392,6 +335,7 @@ write_basic_package_version_file(
|
|||||||
|
|
||||||
# Create the Config file.
|
# Create the Config file.
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
set(ConfigPackageLocation share/WebP/cmake/)
|
||||||
configure_package_config_file(
|
configure_package_config_file(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/WebPConfig.cmake.in
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/WebPConfig.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake
|
||||||
@@ -418,7 +362,7 @@ foreach(I_MAN RANGE ${MAN_PAGES_RANGE})
|
|||||||
if(WEBP_BUILD_${EXEC_BUILD})
|
if(WEBP_BUILD_${EXEC_BUILD})
|
||||||
list(GET MAN_PAGES ${I_MAN} MAN_PAGE)
|
list(GET MAN_PAGES ${I_MAN} MAN_PAGE)
|
||||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/man/${MAN_PAGE}
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/man/${MAN_PAGE}
|
||||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
|
||||||
COMPONENT doc
|
COMPONENT doc
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
65
ChangeLog
65
ChangeLog
@@ -1,9 +1,74 @@
|
|||||||
|
e607dabc update AUTHORS
|
||||||
|
38410c08 [CFI] Remove function pointer casts
|
||||||
|
c57b2736 bump version to 1.0.0
|
||||||
|
cba28853 update NEWS
|
||||||
|
c909d531 Merge "remove some deprecation warning on MacOSX"
|
||||||
|
217443c7 remove some deprecation warning on MacOSX
|
||||||
|
b672bdfa configure: quiet glut deprecation warnings on OS X
|
||||||
|
daa9fcaf configure: use sdl-config if available
|
||||||
|
dd174cae Merge "imagedec: support metadata reading for WebP image decoding"
|
||||||
|
641cedcc imagedec: support metadata reading for WebP image decoding
|
||||||
|
065b2ce1 anim_diff: add a couple missing newlines in Help()
|
||||||
|
c4cc1147 Merge "gif2webp: force low duration frames to 100ms"
|
||||||
|
09333097 gif2webp: force low duration frames to 100ms
|
||||||
|
e03f0ec3 sharp_yuv: use 14b fixed-point precision for gamma
|
||||||
|
b2db361c image_enc,WebPWritePNG: move locals after setjmp
|
||||||
|
74e82ec6 Merge "WebPPictureDistortion: fix big-endian results order"
|
||||||
|
645d04ca Merge "cwebp,get_disto: report bpp"
|
||||||
|
120f58c3 Merge "lossless*sse2: improve non-const 16-bit vector creation"
|
||||||
|
a7fe9412 WebPPictureDistortion: fix big-endian results order
|
||||||
|
e26fe066 cwebp,get_disto: report bpp
|
||||||
|
9df64e28 Merge changes Id5b4a1a4,Ia20ce844
|
||||||
|
8043504f lossless*sse2: improve non-const 16-bit vector creation
|
||||||
|
1e3dfc48 Import: extract condition from loop
|
||||||
|
3b07d327 Import,RGBA: fix for BigEndian import
|
||||||
|
551948e4 Remove unused argument in VP8LBitsEntropy.
|
||||||
|
3005237a ReadWebP: fix for big-endian
|
||||||
|
499c395a Merge "anim_diff: expose the -max_diff option"
|
||||||
|
f69dcd69 Merge "remove WEBP_EXPERIMENTAL_FEATURES"
|
||||||
|
07d884d5 anim_diff: expose the -max_diff option
|
||||||
|
f4dd9256 remove WEBP_EXPERIMENTAL_FEATURES
|
||||||
|
94a8377b extract the command-line parsing helpers to example_util
|
||||||
|
fc09e6e2 PNM decoder: prevent unsupported depth=2 PAM case.
|
||||||
|
6de58603 MIPS64: Fix defined-but-not-used errors with WEBP_REDUCE_CSP
|
||||||
|
cbde5728 gif2webp: add support for reading from stdin
|
||||||
|
cf1c5054 Add an SSE4 version of some lossless color transforms.
|
||||||
|
45a8b5eb Fix lint error with man page.
|
||||||
|
cff38e8f Merge "PNG decoder: handle gAMA chunk"
|
||||||
|
59cb1a48 Merge "enable dc error-diffusion always"
|
||||||
|
78318b30 PNG decoder: handle gAMA chunk
|
||||||
|
664c21dd Merge "remove some TODOs"
|
||||||
|
815652de enable dc error-diffusion always
|
||||||
|
aec45cec remove some TODOs
|
||||||
|
5715dfce fix block-count[] increment in case of large image
|
||||||
|
c2d04f3e enable DC error-diffusion always for multi-pass
|
||||||
|
96bf07c5 use DC error diffusion for U/V at low-quality
|
||||||
|
1c59020b fix missing sse41 targets in makefile.unix
|
||||||
|
7a8e814b cosmetics: s/color_space/colorspace/
|
||||||
|
05f6fe24 upsampling: rm asserts w/REDUCE_CSP+OMIT_C_CODE
|
||||||
|
b4cf5597 Merge "Upsampling SSE2/SSE4 speedup."
|
||||||
|
ccbeb32c Makefile.vc: add missing sse41 files
|
||||||
|
55403a9a Upsampling SSE2/SSE4 speedup.
|
||||||
|
807b53c4 Implement the upsampling/yuv functions in SSE41
|
||||||
|
84101a81 Fix wasm WebP compilation
|
||||||
|
8bebd2a3 fix warning on MSVC
|
||||||
|
a7f93fe3 webpmux: allow reading argument from a file
|
||||||
|
b69f18a7 gif2webp.1: fix -loop_compatibility layout
|
||||||
|
72d530c0 Merge "fix lossless decoding w/WEBP_REDUCE_SIZE"
|
||||||
|
296c7dc4 fix lossless decoding w/WEBP_REDUCE_SIZE
|
||||||
|
0d5d029c Merge "ImgIoUtilReadFile: fix file leak upon error"
|
||||||
|
ae568ce7 ImgIoUtilReadFile: fix file leak upon error
|
||||||
|
796b5a8a Merge tag 'v0.6.1'
|
||||||
|
6b7a95fd update ChangeLog (tag: v0.6.1)
|
||||||
f66955de WEBP_REDUCE_CSP: restrict colorspace support
|
f66955de WEBP_REDUCE_CSP: restrict colorspace support
|
||||||
|
1af0df76 Merge "WEBP_REDUCE_CSP: restrict colorspace support"
|
||||||
|
6de20df0 WEBP_REDUCE_CSP: restrict colorspace support
|
||||||
a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
|
a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
|
||||||
c10a493c vwebp: disable double buffering on windows & mac
|
c10a493c vwebp: disable double buffering on windows & mac
|
||||||
0d4466c2 webp_to_sdl.c: fix file mode
|
0d4466c2 webp_to_sdl.c: fix file mode
|
||||||
1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
|
1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
|
||||||
126be109 webpinfo: add -version option
|
126be109 webpinfo: add -version option
|
||||||
|
0df22b9e WEBP_REDUCE_SIZE: disable all rescaler code
|
||||||
9add62b5 bump version to 0.6.1
|
9add62b5 bump version to 0.6.1
|
||||||
d3e26144 update NEWS
|
d3e26144 update NEWS
|
||||||
2edda639 README: add webpinfo section
|
2edda639 README: add webpinfo section
|
||||||
|
10
NEWS
10
NEWS
@@ -1,3 +1,13 @@
|
|||||||
|
- 4/2/2018: version 1.0.0
|
||||||
|
This is a binary compatible release.
|
||||||
|
* lossy encoder improvements to avoid chroma shifts in various circumstances
|
||||||
|
(issues #308, #340)
|
||||||
|
* big-endian fixes for decode, RGBA import and WebPPictureDistortion
|
||||||
|
Tool updates:
|
||||||
|
gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match
|
||||||
|
web browsers, transcoding tools (issue #379)
|
||||||
|
img2webp, webpmux - allow options to be passed in via a file (issue #355)
|
||||||
|
|
||||||
- 11/24/2017: version 0.6.1
|
- 11/24/2017: version 0.6.1
|
||||||
This is a binary compatible release.
|
This is a binary compatible release.
|
||||||
* lossless performance and compression improvements + a new 'cruncher' mode
|
* lossless performance and compression improvements + a new 'cruncher' mode
|
||||||
|
5
README
5
README
@@ -4,7 +4,7 @@
|
|||||||
\__\__/\____/\_____/__/ ____ ___
|
\__\__/\____/\_____/__/ ____ ___
|
||||||
/ _/ / \ \ / _ \/ _/
|
/ _/ / \ \ / _ \/ _/
|
||||||
/ \_/ / / \ \ __/ \__
|
/ \_/ / / \ \ __/ \__
|
||||||
\____/____/\_____/_____/____/v0.6.1
|
\____/____/\_____/_____/____/v1.0.0
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
============
|
============
|
||||||
@@ -524,6 +524,9 @@ Options:
|
|||||||
-min_psnr <float> ... minimum per-frame PSNR
|
-min_psnr <float> ... minimum per-frame PSNR
|
||||||
-raw_comparison ..... if this flag is not used, RGB is
|
-raw_comparison ..... if this flag is not used, RGB is
|
||||||
premultiplied before comparison
|
premultiplied before comparison
|
||||||
|
-max_diff <int> ..... maximum allowed difference per channel
|
||||||
|
between corresponding pixels in subsequent
|
||||||
|
frames
|
||||||
|
|
||||||
Building:
|
Building:
|
||||||
---------
|
---------
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
__ __ ____ ____ ____ __ __ _ __ __
|
__ __ ____ ____ ____ __ __ _ __ __
|
||||||
/ \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\
|
/ \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\
|
||||||
\ / __/ _ \ __/ / / (_/ /__
|
\ / __/ _ \ __/ / / (_/ /__
|
||||||
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v0.4.1
|
\__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.0.0
|
||||||
|
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
@@ -32,8 +32,7 @@ using Emscripten and CMake.
|
|||||||
webp.js.mem files generated.
|
webp.js.mem files generated.
|
||||||
|
|
||||||
The callable JavaScript function is WebPToSDL(), which decodes a raw WebP
|
The callable JavaScript function is WebPToSDL(), which decodes a raw WebP
|
||||||
bitstream into a canvas. See webp_js/index.html for a simple usage sample
|
bitstream into a canvas. See webp_js/index.html for a simple usage sample.
|
||||||
(see below for instructions).
|
|
||||||
|
|
||||||
Demo HTML page:
|
Demo HTML page:
|
||||||
===============
|
===============
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([libwebp], [0.6.1],
|
AC_INIT([libwebp], [1.0.0],
|
||||||
[https://bugs.chromium.org/p/webp],,
|
[https://bugs.chromium.org/p/webp],,
|
||||||
[http://developers.google.com/speed/webp])
|
[http://developers.google.com/speed/webp])
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
@@ -188,7 +188,7 @@ static void PrintExtraInfoLossless(const WebPPicture* const pic,
|
|||||||
fprintf(stderr, "File: %s\n", file_name);
|
fprintf(stderr, "File: %s\n", file_name);
|
||||||
fprintf(stderr, "Dimension: %d x %d\n", pic->width, pic->height);
|
fprintf(stderr, "Dimension: %d x %d\n", pic->width, pic->height);
|
||||||
fprintf(stderr, "Output: %d bytes (%.2f bpp)\n", stats->coded_size,
|
fprintf(stderr, "Output: %d bytes (%.2f bpp)\n", stats->coded_size,
|
||||||
8.f * stats->coded_size / pic->width / pic->height);
|
1.f * stats->coded_size / pic->width / pic->height);
|
||||||
PrintFullLosslessInfo(stats, "ARGB");
|
PrintFullLosslessInfo(stats, "ARGB");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,7 @@ static void PrintExtraInfoLossy(const WebPPicture* const pic, int short_output,
|
|||||||
" (%.2f bpp)\n",
|
" (%.2f bpp)\n",
|
||||||
stats->coded_size,
|
stats->coded_size,
|
||||||
stats->PSNR[0], stats->PSNR[1], stats->PSNR[2], stats->PSNR[3],
|
stats->PSNR[0], stats->PSNR[1], stats->PSNR[2], stats->PSNR[3],
|
||||||
8.f * stats->coded_size / pic->width / pic->height);
|
1.f * stats->coded_size / pic->width / pic->height);
|
||||||
if (total > 0) {
|
if (total > 0) {
|
||||||
int totals[4] = { 0, 0, 0, 0 };
|
int totals[4] = { 0, 0, 0, 0 };
|
||||||
fprintf(stderr, "block count: intra4: %6d (%.2f%%)\n"
|
fprintf(stderr, "block count: intra4: %6d (%.2f%%)\n"
|
||||||
|
@@ -16,9 +16,9 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define XTRA_MAJ_VERSION 0
|
#define XTRA_MAJ_VERSION 1
|
||||||
#define XTRA_MIN_VERSION 1
|
#define XTRA_MIN_VERSION 0
|
||||||
#define XTRA_REV_VERSION 1
|
#define XTRA_REV_VERSION 0
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -293,7 +293,7 @@ int main(int argc, const char *argv[]) {
|
|||||||
printf("%u %.2f %.2f %.2f %.2f %.2f [ %.2f bpp ]\n",
|
printf("%u %.2f %.2f %.2f %.2f %.2f [ %.2f bpp ]\n",
|
||||||
(unsigned int)size1,
|
(unsigned int)size1,
|
||||||
disto[4], disto[0], disto[1], disto[2], disto[3],
|
disto[4], disto[0], disto[1], disto[2], disto[3],
|
||||||
8.f * size1 / pic1.width / pic1.height);
|
1.f * size1 / pic1.width / pic1.height);
|
||||||
|
|
||||||
if (output != NULL) {
|
if (output != NULL) {
|
||||||
uint8_t* data = NULL;
|
uint8_t* data = NULL;
|
||||||
|
@@ -36,7 +36,7 @@ libwebp_la_LIBADD += utils/libwebputils.la
|
|||||||
# other than the ones listed on the command line, i.e., after linking, it will
|
# other than the ones listed on the command line, i.e., after linking, it will
|
||||||
# not have unresolved symbols. Some platforms (Windows among them) require all
|
# not have unresolved symbols. Some platforms (Windows among them) require all
|
||||||
# symbols in shared libraries to be resolved at library creation.
|
# symbols in shared libraries to be resolved at library creation.
|
||||||
libwebp_la_LDFLAGS = -no-undefined -version-info 7:1:0
|
libwebp_la_LDFLAGS = -no-undefined -version-info 7:2:0
|
||||||
libwebpincludedir = $(includedir)/webp
|
libwebpincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebp.pc
|
pkgconfig_DATA = libwebp.pc
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ if BUILD_LIBWEBPDECODER
|
|||||||
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la
|
libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la
|
||||||
libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la
|
libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la
|
||||||
|
|
||||||
libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 3:1:0
|
libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 3:2:0
|
||||||
pkgconfig_DATA += libwebpdecoder.pc
|
pkgconfig_DATA += libwebpdecoder.pc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
|||||||
// Various defines and enums
|
// Various defines and enums
|
||||||
|
|
||||||
// version numbers
|
// version numbers
|
||||||
#define DEC_MAJ_VERSION 0
|
#define DEC_MAJ_VERSION 1
|
||||||
#define DEC_MIN_VERSION 6
|
#define DEC_MIN_VERSION 0
|
||||||
#define DEC_REV_VERSION 1
|
#define DEC_REV_VERSION 0
|
||||||
|
|
||||||
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
||||||
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
||||||
|
@@ -10,6 +10,6 @@ libwebpdemuxinclude_HEADERS += ../webp/mux_types.h
|
|||||||
libwebpdemuxinclude_HEADERS += ../webp/types.h
|
libwebpdemuxinclude_HEADERS += ../webp/types.h
|
||||||
|
|
||||||
libwebpdemux_la_LIBADD = ../libwebp.la
|
libwebpdemux_la_LIBADD = ../libwebp.la
|
||||||
libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:3:0
|
libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:4:0
|
||||||
libwebpdemuxincludedir = $(includedir)/webp
|
libwebpdemuxincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebpdemux.pc
|
pkgconfig_DATA = libwebpdemux.pc
|
||||||
|
@@ -23,9 +23,9 @@
|
|||||||
#include "src/webp/demux.h"
|
#include "src/webp/demux.h"
|
||||||
#include "src/webp/format_constants.h"
|
#include "src/webp/format_constants.h"
|
||||||
|
|
||||||
#define DMUX_MAJ_VERSION 0
|
#define DMUX_MAJ_VERSION 1
|
||||||
#define DMUX_MIN_VERSION 3
|
#define DMUX_MIN_VERSION 0
|
||||||
#define DMUX_REV_VERSION 3
|
#define DMUX_REV_VERSION 0
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
size_t start_; // start location of the data
|
size_t start_; // start location of the data
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,3,0,3
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,3,0,3
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpdemux DLL"
|
VALUE "FileDescription", "libwebpdemux DLL"
|
||||||
VALUE "FileVersion", "0.3.3"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpdemux.dll"
|
VALUE "InternalName", "libwebpdemux.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpdemux.dll"
|
VALUE "OriginalFilename", "libwebpdemux.dll"
|
||||||
VALUE "ProductName", "WebP Image Demuxer"
|
VALUE "ProductName", "WebP Image Demuxer"
|
||||||
VALUE "ProductVersion", "0.3.3"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -1026,7 +1026,7 @@ int VP8LGetHistoImageSymbols(int xsize, int ysize,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(vrabaud): Optimize HistogramRemap for low-effort compression mode.
|
// TODO(vikasa): Optimize HistogramRemap for low-effort compression mode also.
|
||||||
// Find the optimal map from original histograms to the final ones.
|
// Find the optimal map from original histograms to the final ones.
|
||||||
HistogramRemap(orig_histo, image_histo, histogram_symbols);
|
HistogramRemap(orig_histo, image_histo, histogram_symbols);
|
||||||
|
|
||||||
|
@@ -30,9 +30,9 @@ extern "C" {
|
|||||||
// Various defines and enums
|
// Various defines and enums
|
||||||
|
|
||||||
// version numbers
|
// version numbers
|
||||||
#define ENC_MAJ_VERSION 0
|
#define ENC_MAJ_VERSION 1
|
||||||
#define ENC_MIN_VERSION 6
|
#define ENC_MIN_VERSION 0
|
||||||
#define ENC_REV_VERSION 1
|
#define ENC_REV_VERSION 0
|
||||||
|
|
||||||
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
enum { MAX_LF_LEVELS = 64, // Maximum loop filter level
|
||||||
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost
|
||||||
|
@@ -382,7 +382,8 @@ static int EncoderAnalyze(VP8LEncoder* const enc,
|
|||||||
AnalyzeAndCreatePalette(pic, low_effort,
|
AnalyzeAndCreatePalette(pic, low_effort,
|
||||||
enc->palette_, &enc->palette_size_);
|
enc->palette_, &enc->palette_size_);
|
||||||
|
|
||||||
// Empirical bit sizes.
|
// TODO(jyrki): replace the decision to be based on an actual estimate
|
||||||
|
// of entropy, or even spatial variance of entropy.
|
||||||
enc->histo_bits_ = GetHistoBits(method, use_palette,
|
enc->histo_bits_ = GetHistoBits(method, use_palette,
|
||||||
pic->width, pic->height);
|
pic->width, pic->height);
|
||||||
enc->transform_bits_ = GetTransformBits(method, enc->histo_bits_);
|
enc->transform_bits_ = GetTransformBits(method, enc->histo_bits_);
|
||||||
@@ -753,6 +754,7 @@ static WebPEncodingError StoreImageToBitMask(
|
|||||||
// Don't write the distance with the extra bits code since
|
// Don't write the distance with the extra bits code since
|
||||||
// the distance can be up to 18 bits of extra bits, and the prefix
|
// the distance can be up to 18 bits of extra bits, and the prefix
|
||||||
// 15 bits, totaling to 33, and our PutBits only supports up to 32 bits.
|
// 15 bits, totaling to 33, and our PutBits only supports up to 32 bits.
|
||||||
|
// TODO(jyrki): optimize this further.
|
||||||
VP8LPrefixEncode(distance, &code, &n_bits, &bits);
|
VP8LPrefixEncode(distance, &code, &n_bits, &bits);
|
||||||
WriteHuffmanCode(bw, codes + 4, code);
|
WriteHuffmanCode(bw, codes + 4, code);
|
||||||
VP8LPutBits(bw, bits, n_bits);
|
VP8LPutBits(bw, bits, n_bits);
|
||||||
@@ -1874,6 +1876,7 @@ int VP8LEncodeImage(const WebPConfig* const config,
|
|||||||
err = VP8LEncodeStream(config, picture, &bw, 1 /*use_cache*/);
|
err = VP8LEncodeStream(config, picture, &bw, 1 /*use_cache*/);
|
||||||
if (err != VP8_ENC_OK) goto Error;
|
if (err != VP8_ENC_OK) goto Error;
|
||||||
|
|
||||||
|
// TODO(skal): have a fine-grained progress report in VP8LEncodeStream().
|
||||||
if (!WebPReportProgress(picture, 90, &percent)) goto UserAbort;
|
if (!WebPReportProgress(picture, 90, &percent)) goto UserAbort;
|
||||||
|
|
||||||
// Finish the RIFF chunk.
|
// Finish the RIFF chunk.
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,6,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,6,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebp DLL"
|
VALUE "FileDescription", "libwebp DLL"
|
||||||
VALUE "FileVersion", "0.6.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebp.dll"
|
VALUE "InternalName", "libwebp.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebp.dll"
|
VALUE "OriginalFilename", "libwebp.dll"
|
||||||
VALUE "ProductName", "WebP Image Codec"
|
VALUE "ProductName", "WebP Image Codec"
|
||||||
VALUE "ProductVersion", "0.6.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,6,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,6,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpdecoder DLL"
|
VALUE "FileDescription", "libwebpdecoder DLL"
|
||||||
VALUE "FileVersion", "0.6.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpdecoder.dll"
|
VALUE "InternalName", "libwebpdecoder.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpdecoder.dll"
|
VALUE "OriginalFilename", "libwebpdecoder.dll"
|
||||||
VALUE "ProductName", "WebP Image Decoder"
|
VALUE "ProductName", "WebP Image Decoder"
|
||||||
VALUE "ProductVersion", "0.6.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -15,6 +15,6 @@ libwebpmuxinclude_HEADERS += ../webp/mux_types.h
|
|||||||
libwebpmuxinclude_HEADERS += ../webp/types.h
|
libwebpmuxinclude_HEADERS += ../webp/types.h
|
||||||
|
|
||||||
libwebpmux_la_LIBADD = ../libwebp.la
|
libwebpmux_la_LIBADD = ../libwebp.la
|
||||||
libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:1:0 -lm
|
libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:2:0 -lm
|
||||||
libwebpmuxincludedir = $(includedir)/webp
|
libwebpmuxincludedir = $(includedir)/webp
|
||||||
pkgconfig_DATA = libwebpmux.pc
|
pkgconfig_DATA = libwebpmux.pc
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,4,0,1
|
FILEVERSION 1,0,0,0
|
||||||
PRODUCTVERSION 0,4,0,1
|
PRODUCTVERSION 1,0,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
@@ -24,12 +24,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Google, Inc."
|
VALUE "CompanyName", "Google, Inc."
|
||||||
VALUE "FileDescription", "libwebpmux DLL"
|
VALUE "FileDescription", "libwebpmux DLL"
|
||||||
VALUE "FileVersion", "0.4.1"
|
VALUE "FileVersion", "1.0.0"
|
||||||
VALUE "InternalName", "libwebpmux.dll"
|
VALUE "InternalName", "libwebpmux.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2017"
|
VALUE "LegalCopyright", "Copyright (C) 2018"
|
||||||
VALUE "OriginalFilename", "libwebpmux.dll"
|
VALUE "OriginalFilename", "libwebpmux.dll"
|
||||||
VALUE "ProductName", "WebP Image Muxer"
|
VALUE "ProductName", "WebP Image Muxer"
|
||||||
VALUE "ProductVersion", "0.4.1"
|
VALUE "ProductVersion", "1.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
@@ -26,9 +26,9 @@ extern "C" {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Defines and constants.
|
// Defines and constants.
|
||||||
|
|
||||||
#define MUX_MAJ_VERSION 0
|
#define MUX_MAJ_VERSION 1
|
||||||
#define MUX_MIN_VERSION 4
|
#define MUX_MIN_VERSION 0
|
||||||
#define MUX_REV_VERSION 1
|
#define MUX_REV_VERSION 0
|
||||||
|
|
||||||
// Chunk object.
|
// Chunk object.
|
||||||
typedef struct WebPChunk WebPChunk;
|
typedef struct WebPChunk WebPChunk;
|
||||||
|
Reference in New Issue
Block a user