From e5771fc776d15e9cf45f6fe615f55109199bcf32 Mon Sep 17 00:00:00 2001 From: Andrew Udvare Date: Tue, 31 Dec 2024 02:24:46 -0500 Subject: [PATCH] media-video/video2x: add 6.3.1, drop 6.2.0 Signed-off-by: Andrew Udvare --- media-video/video2x/Manifest | 7 +- .../files/video2x-0001-build-system-fix.patch | 109 ++++++++---------- ...eo2x-6.2.0.ebuild => video2x-6.3.1.ebuild} | 10 +- 3 files changed, 58 insertions(+), 68 deletions(-) rename media-video/video2x/{video2x-6.2.0.ebuild => video2x-6.3.1.ebuild} (72%) diff --git a/media-video/video2x/Manifest b/media-video/video2x/Manifest index a889277b..088dcbc2 100644 --- a/media-video/video2x/Manifest +++ b/media-video/video2x/Manifest @@ -1,7 +1,8 @@ -AUX video2x-0001-build-system-fix.patch 5577 BLAKE2B ebc69780b973691183089373fadf04d5abff03d5f76d9ee3dc367a9a370638352e29e3932eae6c9ff95bdecc60c70ed6400396445e06aa8c9ce96e9ca4ca3c54 SHA512 c7937896e2569ab2d0226656a25d7a94b72fa475be2079c267dcf1386e68307333e983af8dafbeecfd3bf9eb7e2b801782ea09ecef3f6684a8f9d6ba06812839 -DIST video2x-6.2.0.tar.gz 472079658 BLAKE2B 70a9fd6b53fc2a288c879c5697b11b87bda9116b82848a5c6bb904fabb9c114ff7c8d4db27c39a6d0e1b41ce473a9cc2c141fce96990db9525d573eb4e0f0d23 SHA512 b14d72243541848431866c51e9ede5ec7bcd31a63b8b49d0cc5b2f4aecb6a54dbb35b9d21ef6d14746b616768449ac0f7e486fccfd8a17408ddc57cec6c78de4 +AUX video2x-0001-build-system-fix.patch 5686 BLAKE2B e5a35fabc32abaab853340d466a18ee322b4b3d6d17f6589c3b6295c141eb03783d56ff57c607d515c6444aca13486103294e78b07b0714d0a8c3b55b59c8c3d SHA512 2bf0a658f5770c473fcd8c021b43fe31cdbb711e4eacb4dfcaea0376f035443e34b59783542362e1b05020cadb80f15110d58803088b7f6c4060c40ed40c671f +DIST video2x-6.3.1.tar.gz 515762222 BLAKE2B 71489fbd75820f0cd60f6bb6ec95bdf55d76e0f65bf8cd2ed393045f8e87ae1aa530a85928265085ea5f6152f1538d0e69e87c03999282222ca47af7c9526a39 SHA512 427161f0c768276f0b6e7d685b78c83e1711e50337f32da628b9980d468a5a5a8b01b630e52e38b8895dac160061138e7d4d65f7600fcba47e8593372fc916b9 DIST video2x-libreal-esrgan-ncnn-vulkan-cd68df6f98f036fcc9e7d63597ea6faa427c2d2d.tar.gz 108374 BLAKE2B d7736dc1da75a59c267d40e51445a382d97708a02d760517492dc23a9cdf5b4b7195597aba9660bfe94b3e175f3cddaf3c67eea61b6acbc69f638b8bcf75b634 SHA512 8de2688c9b410911e253269f0456991334335e217ffcdf925dcfef563ab376a1d92179ddf82b5e8334f30bf51b16e0d0cf5d7c8b8af5e4e687e83a19f2bd7b50 +DIST video2x-librealcugan-ncnn-vulkan-52f598265a973fc8b17eb5e13cddc0e71c0a79dc.tar.gz 43800573 BLAKE2B a53567a6dc16f17aa30c3419af43ce50d8389513948e90e19fba9d5f4bfa9354e5f070463e92832cc283152155844c36f039938dbcd17d77f100a83e79efe31f SHA512 2f8e456f50c301a25892f773c53f94093f180e6f32f1487ae200c98d8461116b1372b052fe289704742c9eed9a7c52e50a9423e06b50daefc498e75dc3591a1c DIST video2x-librife-ncnn-vulkan-f2edda49a5fd817a7137509e54e70d2e30d9b684.tar.gz 428382218 BLAKE2B c5a79ba3e3729cadb03d6162e12a28e6afafaf427b2a5b78e9741ca0fc35b667b13baf799691d76d51d81d420ddc6712936ea3c491b3573a519d650848cb3b45 SHA512 73933e67757bb92ab7ee6f56203ee4d47f5dd3437505fb9b83ef82221e01605711f7a47765446e668787ef234c259cd0574bb8f9f03354c2a1be38d08b9d8d5b -EBUILD video2x-6.2.0.ebuild 1779 BLAKE2B d74dc41c5faa4e37408792218568fe5412df6b36a4408f5704c05491a3ae201a784816bb4b683f9087a568009bc0dd2ae97801a3702ceaa6c27eb3cee2a07729 SHA512 5e1329966742b8f6c33db15eb0a5114ee66958809d86a793c5bd0f18d825ffcc730986e73e0dad7c6a2aca0274559483914dbe5e6cb8c2faedaede3fe176e294 +EBUILD video2x-6.3.1.ebuild 2250 BLAKE2B 8358a9cff6479652de5167782a080a77408aa5aa2cc4df8d95065e20aa7f46eff600ddb02d64d7b81563271de38d06dd38b5533431b2e8b647489d473585edae SHA512 9a4cd874ae0f23bb20b59ee6289ffdad8e40b6eebd3c391db6e7122d608fc76ab4def62480d320cc9faf1a7cd9ee20ebeb61ff8fe69fbe5a6686456498b726ee MISC livecheck.json 52 BLAKE2B 0d59afccac4e1597d98fbda28bdeaf754940154b45d5ca0831f10e7dab90423befb11e2a5c56fe99d27ead33c4e79470d7fc0e269497beb573a2fdab1d64718f SHA512 73057960b1add426098a2142f32e29efd77a3c3359eb81186fd63ea0952755277eb733555278c59cb586bd03a6faf3d5fed0d2a378775d204d95e542eb0eae70 MISC metadata.xml 325 BLAKE2B 0ea7eb006fca13b5515153f44c1f20a4e5cece7344b0054a42e0281e07863b9179c6cba1a02752a14911721580748ad5a43eddf6008dc431b85cbc032eb77e68 SHA512 7c2ed36f4fb21ebac801eb4868f297b4723d4dff68f5aa4c742fcba16209bfc38955adea3ed300e5e2f6b780c95a74c974258c61b2172f48c9307f49286310bd diff --git a/media-video/video2x/files/video2x-0001-build-system-fix.patch b/media-video/video2x/files/video2x-0001-build-system-fix.patch index 409e782c..1ddd3f3e 100644 --- a/media-video/video2x/files/video2x-0001-build-system-fix.patch +++ b/media-video/video2x/files/video2x-0001-build-system-fix.patch @@ -1,30 +1,31 @@ -From ad838fbabc820a99c5d4ceb3102e82a0d9bfd499 Mon Sep 17 00:00:00 2001 +From 1d88808c0b8b8ba2d4fb6ab1f9e2b842e7ffbb28 Mon Sep 17 00:00:00 2001 From: Andrew Udvare Date: Sun, 27 Oct 2024 06:08:21 -0400 Subject: [PATCH] Build system fix --- - CMakeLists.txt | 52 ++++++---------------------------- + CMakeLists.txt | 70 ++++++---------------------------- src/encoder.cpp | 1 + - tools/video2x/src/argparse.cpp | 28 +----------------- - 3 files changed, 10 insertions(+), 71 deletions(-) + tools/video2x/src/argparse.cpp | 2 + + 3 files changed, 14 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3307f8a..c0a274a 100644 +index 0e89eca..cf29079 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -206,6 +206,9 @@ else() +@@ -207,6 +207,10 @@ else() add_subdirectory(third_party/ncnn) endif() +add_subdirectory(third_party/realesrgan) ++add_subdirectory(third_party/realcugan) +add_subdirectory(third_party/rife) + # spdlog if(USE_SYSTEM_SPDLOG) find_package(spdlog REQUIRED) -@@ -237,35 +240,6 @@ if(BUILD_VIDEO2X_CLI) - set(VULKAN_LIB Vulkan::Vulkan) +@@ -244,48 +248,6 @@ if(BUILD_VIDEO2X_CLI) + list(APPEND VIDEO2X_LIBS Boost::program_options) endif() -# Include ExternalProject module @@ -43,7 +44,20 @@ index 3307f8a..c0a274a 100644 - INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} -) - --# Add librealesrgan-ncnn-vulkan as an external project +-# Add librealcugan-ncnn-vulkan as an external project +-ExternalProject_Add( +- realcugan +- SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/librealcugan_ncnn_vulkan/src +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/realcugan_install +- -DCMAKE_POSITION_INDEPENDENT_CODE=ON +- -DUSE_SYSTEM_NCNN=${USE_SYSTEM_NCNN} +- BUILD_ALWAYS ON +- INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} +-) +- +-# Add librife-ncnn-vulkan as an external project -ExternalProject_Add( - rife - SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/librife_ncnn_vulkan/src @@ -57,40 +71,44 @@ index 3307f8a..c0a274a 100644 -) - # Remove duplicate entries - list(REMOVE_DUPLICATES ALL_INCLUDE_DIRS) - list(REMOVE_DUPLICATES ALL_LIBRARIES) -@@ -280,17 +254,14 @@ else() + list(REMOVE_DUPLICATES LIBVIDEO2X_INCLUDE_DIRS) + list(REMOVE_DUPLICATES LIBVIDEO2X_LIBS) +@@ -302,18 +264,15 @@ else() set_target_properties(libvideo2x PROPERTIES OUTPUT_NAME video2x) endif() -# Ensure that the shared library is built after the external projects --add_dependencies(libvideo2x realesrgan rife) +-add_dependencies(libvideo2x realesrgan realcugan rife) - # Include directories for the shared library target_include_directories(libvideo2x PRIVATE - ${ALL_INCLUDE_DIRS} + ${LIBVIDEO2X_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/include/libvideo2x - ${PROJECT_SOURCE_DIR}/third_party/librealesrgan_ncnn_vulkan/src +- ${PROJECT_SOURCE_DIR}/third_party/librealcugan_ncnn_vulkan/src - ${PROJECT_SOURCE_DIR}/third_party/librife_ncnn_vulkan/src + ${PROJECT_SOURCE_DIR}/third_party/realesrgan ++ ${PROJECT_SOURCE_DIR}/third_party/realcugan + ${PROJECT_SOURCE_DIR}/third_party/rife ) # Compile options for the shared library -@@ -305,8 +276,8 @@ if(WIN32) - set(REALESRGAN_LIB ${CMAKE_BINARY_DIR}/realesrgan_install/lib/librealesrgan-ncnn-vulkan.lib) +@@ -325,9 +284,9 @@ if(WIN32) + set(REALCUGAN_LIB ${CMAKE_BINARY_DIR}/realcugan_install/lib/librealcugan-ncnn-vulkan.lib) set(RIFE_LIB ${CMAKE_BINARY_DIR}/rife_install/lib/librife-ncnn-vulkan.lib) else() - set(REALESRGAN_LIB ${CMAKE_BINARY_DIR}/realesrgan_install/lib/librealesrgan-ncnn-vulkan.so) +- set(REALCUGAN_LIB ${CMAKE_BINARY_DIR}/realcugan_install/lib/librealcugan-ncnn-vulkan.so) - set(RIFE_LIB ${CMAKE_BINARY_DIR}/rife_install/lib/librife-ncnn-vulkan.so) + set(REALESRGAN_LIB ${CMAKE_BINARY_DIR}/third_party/realesrgan/librealesrgan-ncnn-vulkan.so) ++ set(REALCUGAN_LIB ${CMAKE_BINARY_DIR}/third_party/realcugan/librealcugan-ncnn-vulkan.so) + set(RIFE_LIB ${CMAKE_BINARY_DIR}/third_party/rife/librife-ncnn-vulkan.so) endif() - list(APPEND ALL_LIBRARIES ${REALESRGAN_LIB} ${RIFE_LIB}) + list(APPEND LIBVIDEO2X_LIBS ${REALESRGAN_LIB} ${REALCUGAN_LIB} ${RIFE_LIB}) -@@ -357,7 +328,7 @@ if(WIN32) +@@ -372,7 +331,7 @@ if(WIN32) else() set(BIN_DESTINATION_DEFAULT "bin") set(INCLUDE_DESTINATION_DEFAULT "include/libvideo2x") @@ -99,12 +117,12 @@ index 3307f8a..c0a274a 100644 set(MODEL_DESTINATION_DEFAULT "share/video2x") endif() -@@ -413,11 +384,4 @@ if(WIN32) +@@ -429,11 +388,4 @@ if(WIN32) GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) -else() -- install(FILES ${REALESRGAN_LIB} ${RIFE_LIB} +- install(FILES ${REALESRGAN_LIB} ${REALCUGAN_LIB} ${RIFE_LIB} - DESTINATION ${INSTALL_LIB_DESTINATION} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE @@ -112,63 +130,30 @@ index 3307f8a..c0a274a 100644 - ) endif() diff --git a/src/encoder.cpp b/src/encoder.cpp -index cf1195f..edeb642 100644 +index 7b732f3..115a74b 100644 --- a/src/encoder.cpp +++ b/src/encoder.cpp -@@ -8,6 +8,7 @@ extern "C" { +@@ -10,6 +10,7 @@ extern "C" { #include "avutils.h" #include "conversions.h" +#include "libvideo2x/fsutils.h" - Encoder::Encoder() - : ofmt_ctx_(nullptr), enc_ctx_(nullptr), out_vstream_idx_(-1), stream_map_(nullptr) {} + namespace video2x { + namespace encoder { diff --git a/tools/video2x/src/argparse.cpp b/tools/video2x/src/argparse.cpp -index ff9b532..8c52707 100644 +index b32c26e..0b8aecb 100644 --- a/tools/video2x/src/argparse.cpp +++ b/tools/video2x/src/argparse.cpp -@@ -12,6 +12,7 @@ - #include +@@ -12,6 +12,8 @@ + #include #include +#include "libvideo2x/fsutils.h" - #include "logging.h" ++#include "libvideo2x/logging.h" #include "validators.h" + #include "vulkan_utils.h" -@@ -24,33 +25,6 @@ - - namespace po = boost::program_options; - --#ifdef _WIN32 --std::string wstring_to_u8string(const std::wstring &wstr) { -- if (wstr.empty()) { -- return std::string(); -- } -- int size_needed = WideCharToMultiByte( -- CP_UTF8, 0, wstr.data(), static_cast(wstr.size()), nullptr, 0, nullptr, nullptr -- ); -- std::string converted_str(size_needed, 0); -- WideCharToMultiByte( -- CP_UTF8, -- 0, -- wstr.data(), -- static_cast(wstr.size()), -- &converted_str[0], -- size_needed, -- nullptr, -- nullptr -- ); -- return converted_str; --} --#else --std::string wstring_to_u8string(const std::string &str) { -- return str; --} --#endif -- - int parse_args( - int argc, - #ifdef _WIN32 -- 2.47.1 diff --git a/media-video/video2x/video2x-6.2.0.ebuild b/media-video/video2x/video2x-6.3.1.ebuild similarity index 72% rename from media-video/video2x/video2x-6.2.0.ebuild rename to media-video/video2x/video2x-6.3.1.ebuild index e77ad21f..36178178 100644 --- a/media-video/video2x/video2x-6.2.0.ebuild +++ b/media-video/video2x/video2x-6.3.1.ebuild @@ -9,9 +9,11 @@ DESCRIPTION="A lossless video/GIF/image upscaler." HOMEPAGE="https://video2x.org/ https://github.com/k4yt3x/video2x" LIBREAL_ESRGAN_NCNN_VULKAN_SHA="cd68df6f98f036fcc9e7d63597ea6faa427c2d2d" LIBRIFE_NCNN_VULKAN_SHA="f2edda49a5fd817a7137509e54e70d2e30d9b684" +LIBREALCUGAN_NCNN_VULKAN_SHA="52f598265a973fc8b17eb5e13cddc0e71c0a79dc" SRC_URI="https://github.com/k4yt3x/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz https://github.com/k4yt3x/libreal-esrgan-ncnn-vulkan/archive/${LIBREAL_ESRGAN_NCNN_VULKAN_SHA}.tar.gz -> ${PN}-libreal-esrgan-ncnn-vulkan-${LIBREAL_ESRGAN_NCNN_VULKAN_SHA}.tar.gz - https://github.com/k4yt3x/librife-ncnn-vulkan/archive/${LIBRIFE_NCNN_VULKAN_SHA}.tar.gz -> ${PN}-librife-ncnn-vulkan-${LIBRIFE_NCNN_VULKAN_SHA}.tar.gz" + https://github.com/k4yt3x/librife-ncnn-vulkan/archive/${LIBRIFE_NCNN_VULKAN_SHA}.tar.gz -> ${PN}-librife-ncnn-vulkan-${LIBRIFE_NCNN_VULKAN_SHA}.tar.gz + https://github.com/k4yt3x/librealcugan-ncnn-vulkan/archive/${LIBREALCUGAN_NCNN_VULKAN_SHA}.tar.gz -> ${PN}-librealcugan-ncnn-vulkan-${LIBREALCUGAN_NCNN_VULKAN_SHA}.tar.gz" LICENSE="GPL-3 LGPL-3" SLOT="0" @@ -28,11 +30,13 @@ DEPEND="dev-libs/boost:= PATCHES=( "${FILESDIR}/${PN}-0001-build-system-fix.patch" ) src_prepare() { - rmdir "${S}/third_party/lib"{realesrgan,rife}_ncnn_vulkan || die + rmdir "${S}/third_party/lib"{realesrgan,realcugan,rife}_ncnn_vulkan || die + mv "${WORKDIR}/librealcugan-ncnn-vulkan-${LIBREALCUGAN_NCNN_VULKAN_SHA}/src" "${S}/third_party/realcugan" || die mv "${WORKDIR}/librealesrgan-ncnn-vulkan-${LIBREAL_ESRGAN_NCNN_VULKAN_SHA}/src" "${S}/third_party/realesrgan" || die mv "${WORKDIR}/librife-ncnn-vulkan-${LIBRIFE_NCNN_VULKAN_SHA}/src" "${S}/third_party/rife" || die - sed -re 's/(LIBRARY|ARCHIVE) DESTINATION lib/\1 DESTINATION lib64/' -i third_party/{realesrgan,rife}/CMakeLists.txt || die + sed -re 's/(LIBRARY|ARCHIVE) DESTINATION lib/\1 DESTINATION lib64/' -i third_party/{realesrgan,realcugan,rife}/CMakeLists.txt || die sed -re 's/generate-spirv/generate-spirv2/g' -i third_party/rife/CMakeLists.txt || die + sed -re 's/generate-spirv/generate-spirv3/g' -i third_party/realcugan/CMakeLists.txt || die cmake_src_prepare }