summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2022-10-24 19:24:44 -0700
committerJames Zern <jzern@google.com>2022-10-28 19:15:32 -0700
commit3f73e8f7ac83e97a26346886b529b61809a839f5 (patch)
treefe0c16d885a2bd5f847eefa7b95fa2bad09cd0bf
parentce2f2d668e56f0aaca3550a28118eaba5ce861c5 (diff)
downloadlibwebp-3f73e8f7ac83e97a26346886b529b61809a839f5.tar.gz
sharpyuv: add SharpYuvGetVersion()
Change-Id: Ic7e93c7c3ec33b8ab0105a6e81b76a7869422b55
-rw-r--r--Android.mk2
-rw-r--r--CMakeLists.txt3
-rw-r--r--Makefile.vc2
-rw-r--r--examples/Makefile.am2
-rw-r--r--examples/cwebp.c5
-rw-r--r--sharpyuv/libsharpyuv.rc8
-rw-r--r--sharpyuv/sharpyuv.c6
-rw-r--r--sharpyuv/sharpyuv.h6
8 files changed, 25 insertions, 9 deletions
diff --git a/Android.mk b/Android.mk
index 9215c901..b53ee294 100644
--- a/Android.mk
+++ b/Android.mk
@@ -219,7 +219,7 @@ LOCAL_SRC_FILES := \
$(utils_enc_srcs) \
LOCAL_CFLAGS := $(WEBP_CFLAGS)
-LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src
+LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src $(LOCAL_PATH)
# prefer arm over thumb mode for performance gains
LOCAL_ARM_MODE := arm
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9383c213..15f69b59 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -496,7 +496,8 @@ if(WEBP_BUILD_CWEBP)
parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "CWEBP_SRCS" "cwebp")
add_executable(cwebp ${CWEBP_SRCS})
target_link_libraries(cwebp exampleutil imagedec webp)
- target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
+ target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src
+ ${CMAKE_CURRENT_SOURCE_DIR})
install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
diff --git a/Makefile.vc b/Makefile.vc
index 8e3aed45..00d899e7 100644
--- a/Makefile.vc
+++ b/Makefile.vc
@@ -382,7 +382,7 @@ $(DIRBIN)\anim_dump.exe: $(EX_GIF_DEC_OBJS) $(LIBWEBPDEMUX) $(LIBWEBP)
$(DIRBIN)\anim_dump.exe: $(IMAGEIO_ENC_OBJS)
$(DIRBIN)\cwebp.exe: $(DIROBJ)\examples\cwebp.obj $(IMAGEIO_DEC_OBJS)
$(DIRBIN)\cwebp.exe: $(IMAGEIO_UTIL_OBJS)
-$(DIRBIN)\cwebp.exe: $(LIBWEBPDEMUX)
+$(DIRBIN)\cwebp.exe: $(LIBWEBPDEMUX) $(LIBSHARPYUV)
$(DIRBIN)\dwebp.exe: $(DIROBJ)\examples\dwebp.obj $(IMAGEIO_DEC_OBJS)
$(DIRBIN)\dwebp.exe: $(IMAGEIO_ENC_OBJS)
$(DIRBIN)\dwebp.exe: $(IMAGEIO_UTIL_OBJS)
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 8d52589f..72aa9f91 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -47,7 +47,7 @@ anim_dump_LDADD += ../imageio/libimageenc.la
anim_dump_LDADD += $(PNG_LIBS) $(GIF_LIBS) $(TIFF_LIBS) -lm
cwebp_SOURCES = cwebp.c stopwatch.h
-cwebp_CPPFLAGS = $(AM_CPPFLAGS)
+cwebp_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)
cwebp_LDADD =
cwebp_LDADD += libexample_util.la
cwebp_LDADD += ../imageio/libimageio_util.la
diff --git a/examples/cwebp.c b/examples/cwebp.c
index a06b233a..9adb31ec 100644
--- a/examples/cwebp.c
+++ b/examples/cwebp.c
@@ -27,6 +27,7 @@
#include "../imageio/webpdec.h"
#include "./stopwatch.h"
#include "./unicode.h"
+#include "sharpyuv/sharpyuv.h"
#include "webp/encode.h"
#ifndef WEBP_DLL
@@ -832,8 +833,12 @@ int main(int argc, const char* argv[]) {
#endif
} else if (!strcmp(argv[c], "-version")) {
const int version = WebPGetEncoderVersion();
+ const int sharpyuv_version = SharpYuvGetVersion();
printf("%d.%d.%d\n",
(version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff);
+ printf("libsharpyuv: %d.%d.%d\n",
+ (sharpyuv_version >> 24) & 0xff, (sharpyuv_version >> 16) & 0xffff,
+ sharpyuv_version & 0xff);
FREE_WARGV_AND_RETURN(0);
} else if (!strcmp(argv[c], "-progress")) {
show_progress = 1;
diff --git a/sharpyuv/libsharpyuv.rc b/sharpyuv/libsharpyuv.rc
index 02a8a3a0..7f1df723 100644
--- a/sharpyuv/libsharpyuv.rc
+++ b/sharpyuv/libsharpyuv.rc
@@ -6,8 +6,8 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,0,1,0
- PRODUCTVERSION 0,0,1,0
+ FILEVERSION 0,0,2,0
+ PRODUCTVERSION 0,0,2,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -24,12 +24,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Google, Inc."
VALUE "FileDescription", "libsharpyuv DLL"
- VALUE "FileVersion", "0.1.0"
+ VALUE "FileVersion", "0.2.0"
VALUE "InternalName", "libsharpyuv.dll"
VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "libsharpyuv.dll"
VALUE "ProductName", "SharpYuv Library"
- VALUE "ProductVersion", "0.1.0"
+ VALUE "ProductVersion", "0.2.0"
END
END
BLOCK "VarFileInfo"
diff --git a/sharpyuv/sharpyuv.c b/sharpyuv/sharpyuv.c
index 38153cce..7de34fb0 100644
--- a/sharpyuv/sharpyuv.c
+++ b/sharpyuv/sharpyuv.c
@@ -25,6 +25,12 @@
#include "sharpyuv/sharpyuv_gamma.h"
//------------------------------------------------------------------------------
+
+int SharpYuvGetVersion(void) {
+ return SHARPYUV_VERSION;
+}
+
+//------------------------------------------------------------------------------
// Sharp RGB->YUV conversion
static const int kNumIterations = 4;
diff --git a/sharpyuv/sharpyuv.h b/sharpyuv/sharpyuv.h
index 28040a1d..181b20a0 100644
--- a/sharpyuv/sharpyuv.h
+++ b/sharpyuv/sharpyuv.h
@@ -36,7 +36,7 @@ extern "C" {
// SharpYUV API version following the convention from semver.org
#define SHARPYUV_VERSION_MAJOR 0
-#define SHARPYUV_VERSION_MINOR 1
+#define SHARPYUV_VERSION_MINOR 2
#define SHARPYUV_VERSION_PATCH 0
// Version as a uint32_t. The major number is the high 8 bits.
// The minor number is the middle 8 bits. The patch number is the low 16 bits.
@@ -46,6 +46,10 @@ extern "C" {
SHARPYUV_MAKE_VERSION(SHARPYUV_VERSION_MAJOR, SHARPYUV_VERSION_MINOR, \
SHARPYUV_VERSION_PATCH)
+// Returns the library's version number, packed in hexadecimal. See
+// SHARPYUV_VERSION.
+SHARPYUV_EXTERN int SharpYuvGetVersion(void);
+
// RGB to YUV conversion matrix, in 16 bit fixed point.
// y = rgb_to_y[0] * r + rgb_to_y[1] * g + rgb_to_y[2] * b + rgb_to_y[3]
// u = rgb_to_u[0] * r + rgb_to_u[1] * g + rgb_to_u[2] * b + rgb_to_u[3]