Feat: Updates to recorder to enable thumbnail generation in prod (#12878) fcbebb25e4 * Add ability to run recorder as a service * Fix includes * Further optimizations * ADd profiling * include profiler include * Make png compression level configurable * Add webp support * Fix webp build * Make webp lossless * productionise code * Fix writing * back to lossless * Fix up main * Clang format * PR feedback fixes * Split libweb enc * Fix PR feedback Co-authored-by: Arthur Vivian <arthur@rive.app>
diff --git a/.rive_head b/.rive_head index fecddeb..f2ece2f 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -0ed7a0a13d696f11d9a430c22a1edda12c4cc61c +fcbebb25e41ff16477bb48325bd5cd66d7f28038
diff --git a/dependencies/premake5_libwebp_v2.lua b/dependencies/premake5_libwebp_v2.lua index 00eb5f1..4750640 100644 --- a/dependencies/premake5_libwebp_v2.lua +++ b/dependencies/premake5_libwebp_v2.lua
@@ -164,3 +164,57 @@ buildoptions({ '-mssse3', '-msse4.1' }) end end + +-- Encoder front-end and sharpyuv live in a separate static lib so consumers +-- that only decode (e.g. unit tests with /fp:strict on MSVC) don't compile +-- sharpyuv_gamma.c. Set LIBWEBP_BUILD_ENCODER = true before dofile()ing this +-- script to emit the libwebp_enc project (recorder, texture_compressor). +if LIBWEBP_BUILD_ENCODER then + project('libwebp_enc') + do + kind('StaticLib') + optimize('Speed') + dependson('libwebp') + + includedirs({ libwebp }) + + files({ + libwebp .. '/sharpyuv/sharpyuv.c', + libwebp .. '/sharpyuv/sharpyuv_cpu.c', + libwebp .. '/sharpyuv/sharpyuv_csp.c', + libwebp .. '/sharpyuv/sharpyuv_dsp.c', + libwebp .. '/sharpyuv/sharpyuv_gamma.c', + libwebp .. '/sharpyuv/sharpyuv_neon.c', + libwebp .. '/sharpyuv/sharpyuv_sse2.c', + libwebp .. '/src/enc/alpha_enc.c', + libwebp .. '/src/enc/analysis_enc.c', + libwebp .. '/src/enc/backward_references_cost_enc.c', + libwebp .. '/src/enc/backward_references_enc.c', + libwebp .. '/src/enc/config_enc.c', + libwebp .. '/src/enc/cost_enc.c', + libwebp .. '/src/enc/filter_enc.c', + libwebp .. '/src/enc/frame_enc.c', + libwebp .. '/src/enc/histogram_enc.c', + libwebp .. '/src/enc/iterator_enc.c', + libwebp .. '/src/enc/near_lossless_enc.c', + libwebp .. '/src/enc/picture_csp_enc.c', + libwebp .. '/src/enc/picture_enc.c', + libwebp .. '/src/enc/picture_psnr_enc.c', + libwebp .. '/src/enc/picture_rescale_enc.c', + libwebp .. '/src/enc/picture_tools_enc.c', + libwebp .. '/src/enc/predictor_enc.c', + libwebp .. '/src/enc/quant_enc.c', + libwebp .. '/src/enc/syntax_enc.c', + libwebp .. '/src/enc/token_enc.c', + libwebp .. '/src/enc/tree_enc.c', + libwebp .. '/src/enc/vp8l_enc.c', + libwebp .. '/src/enc/webp_enc.c', + }) + + filter({ 'system:windows', 'toolset:clang' }) + do + buildoptions({ '-mssse3', '-msse4.1' }) + end + filter({}) + end +end