This commit is contained in:
2026-06-12 05:03:51 +07:00
parent 099307e098
commit 26602a4698
57 changed files with 1350 additions and 496 deletions
+2
View File
@@ -7,6 +7,8 @@
<application
android:allowBackup="true"
android:icon="@drawable/kicon_circle"
android:roundIcon="@drawable/kicon_square"
android:label="KCompressor"
android:supportsRtl="true"
android:theme="@style/AppTheme">
+1 -8
View File
@@ -11,9 +11,6 @@ set(FFMPEG_INCLUDE_DIR
set(FFMPEG_LIB_DIR
${FFMPEG_ROOT}/lib)
# Output dari setup_image_compressor_android_*.sh:
# cpp/third_party/android-image-compres/<ABI>/include
# cpp/third_party/android-image-compres/<ABI>/lib
set(IMAGE_COMPRESS_ROOT
${CMAKE_SOURCE_DIR}/third_party/android-image-compres/${ANDROID_ABI})
@@ -29,11 +26,6 @@ add_library(kcompressor SHARED
video_compressor.cpp
image_compressor.cpp)
target_link_options(kcompressor PRIVATE
-Wl,--allow-multiple-definition
-Wl,--exclude-libs,libimagequant.a
-Wl,--exclude-libs,liboxipng_ffi.a)
target_include_directories(kcompressor PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${FFMPEG_INCLUDE_DIR}
@@ -68,6 +60,7 @@ import_static_required(sharpyuv ${IMAGE_COMPRESS_LIB_DIR} libsharpyuv.a)
import_static_required(avif ${IMAGE_COMPRESS_LIB_DIR} libavif.a)
import_static_required(aom ${IMAGE_COMPRESS_LIB_DIR} libaom.a)
import_static_required(yuv ${IMAGE_COMPRESS_LIB_DIR} libyuv.a)
# v12: libimagequant.a harus dari C-only 2.x, bukan libimagequant Rust v4/imagequant-sys.
import_static_required(imagequant ${IMAGE_COMPRESS_LIB_DIR} libimagequant.a)
import_static_required(oxipng_ffi ${IMAGE_COMPRESS_LIB_DIR} liboxipng_ffi.a)
import_static_required(kimage_png ${IMAGE_COMPRESS_LIB_DIR} libkimage_png.a)
@@ -13,8 +13,8 @@
#define LIQ_EXPORT extern
#endif
#define LIQ_VERSION 40003
#define LIQ_VERSION_STRING "4.0.3"
#define LIQ_VERSION 21800
#define LIQ_VERSION_STRING "2.18.0"
#ifndef LIQ_PRIVATE
#if defined(__GNUC__) || defined (__llvm__)
@@ -72,7 +72,7 @@ typedef struct liq_histogram_entry {
} liq_histogram_entry;
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create(void);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* removed, void *unsupported);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* (*malloc)(size_t), void (*free)(void*));
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_copy(const liq_attr *orig) LIQ_NONNULL;
LIQ_EXPORT void liq_attr_destroy(liq_attr *attr) LIQ_NONNULL;
@@ -121,7 +121,6 @@ LIQ_EXPORT void liq_image_destroy(liq_image *img) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_histogram_quantize(liq_histogram *const input_hist, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_image_quantize(liq_image *const input_image, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_result_from_palette(const liq_attr *options, const liq_color *palette, unsigned int palette_size, double gamma, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_dithering_level(liq_result *res, float dither_level) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_output_gamma(liq_result* res, double gamma) LIQ_NONNULL;
@@ -13,8 +13,8 @@
#define LIQ_EXPORT extern
#endif
#define LIQ_VERSION 40003
#define LIQ_VERSION_STRING "4.0.3"
#define LIQ_VERSION 21800
#define LIQ_VERSION_STRING "2.18.0"
#ifndef LIQ_PRIVATE
#if defined(__GNUC__) || defined (__llvm__)
@@ -72,7 +72,7 @@ typedef struct liq_histogram_entry {
} liq_histogram_entry;
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create(void);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* removed, void *unsupported);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* (*malloc)(size_t), void (*free)(void*));
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_copy(const liq_attr *orig) LIQ_NONNULL;
LIQ_EXPORT void liq_attr_destroy(liq_attr *attr) LIQ_NONNULL;
@@ -121,7 +121,6 @@ LIQ_EXPORT void liq_image_destroy(liq_image *img) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_histogram_quantize(liq_histogram *const input_hist, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_image_quantize(liq_image *const input_image, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_result_from_palette(const liq_attr *options, const liq_color *palette, unsigned int palette_size, double gamma, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_dithering_level(liq_result *res, float dither_level) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_output_gamma(liq_result* res, double gamma) LIQ_NONNULL;
@@ -13,8 +13,8 @@
#define LIQ_EXPORT extern
#endif
#define LIQ_VERSION 40003
#define LIQ_VERSION_STRING "4.0.3"
#define LIQ_VERSION 21800
#define LIQ_VERSION_STRING "2.18.0"
#ifndef LIQ_PRIVATE
#if defined(__GNUC__) || defined (__llvm__)
@@ -72,7 +72,7 @@ typedef struct liq_histogram_entry {
} liq_histogram_entry;
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create(void);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* removed, void *unsupported);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* (*malloc)(size_t), void (*free)(void*));
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_copy(const liq_attr *orig) LIQ_NONNULL;
LIQ_EXPORT void liq_attr_destroy(liq_attr *attr) LIQ_NONNULL;
@@ -121,7 +121,6 @@ LIQ_EXPORT void liq_image_destroy(liq_image *img) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_histogram_quantize(liq_histogram *const input_hist, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_image_quantize(liq_image *const input_image, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_result_from_palette(const liq_attr *options, const liq_color *palette, unsigned int palette_size, double gamma, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_dithering_level(liq_result *res, float dither_level) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_output_gamma(liq_result* res, double gamma) LIQ_NONNULL;
@@ -13,8 +13,8 @@
#define LIQ_EXPORT extern
#endif
#define LIQ_VERSION 40003
#define LIQ_VERSION_STRING "4.0.3"
#define LIQ_VERSION 21800
#define LIQ_VERSION_STRING "2.18.0"
#ifndef LIQ_PRIVATE
#if defined(__GNUC__) || defined (__llvm__)
@@ -72,7 +72,7 @@ typedef struct liq_histogram_entry {
} liq_histogram_entry;
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create(void);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* removed, void *unsupported);
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_create_with_allocator(void* (*malloc)(size_t), void (*free)(void*));
LIQ_EXPORT LIQ_USERESULT liq_attr* liq_attr_copy(const liq_attr *orig) LIQ_NONNULL;
LIQ_EXPORT void liq_attr_destroy(liq_attr *attr) LIQ_NONNULL;
@@ -121,7 +121,6 @@ LIQ_EXPORT void liq_image_destroy(liq_image *img) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_histogram_quantize(liq_histogram *const input_hist, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_image_quantize(liq_image *const input_image, liq_attr *const options, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT LIQ_USERESULT liq_error liq_result_from_palette(const liq_attr *options, const liq_color *palette, unsigned int palette_size, double gamma, liq_result **result_output) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_dithering_level(liq_result *res, float dither_level) LIQ_NONNULL;
LIQ_EXPORT liq_error liq_set_output_gamma(liq_result* res, double gamma) LIQ_NONNULL;
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 MiB