Anime4KCPP — высокопроизводительный инструмент для масштабирования аниме.
Anime4KCPP v3 использует алгоритм на основе CNN и стремится быть простым и эффективным.
Для сборки Anime4KCPP v3 вам понадобится CMake и компилятор C++17, и большинство зависимостей будут автоматически разрешены CMake, если у вас есть Интернет.
Список зависимостей, которые необходимо подготовить самостоятельно:
Зависимость | Параметр CMake | Модуль |
---|---|---|
Инструментарий CUDA | AC_CORE_WITH_CUDA | ядро (CUDA) |
libavcodec | AC_BUILD_VIDEO | видео |
libavformat | AC_BUILD_VIDEO | видео |
libavutil | AC_BUILD_VIDEO | видео |
Qt | AC_BUILD_GUI | графический интерфейс |
Список зависимостей, которые могут быть разрешены автоматически:
Зависимость | Параметр CMake | Модуль |
---|---|---|
Ависинт SDK | AC_BUILD_FILTER_AVISYNTH | фильтр(ависинт) |
CLI11 | AC_BUILD_CLI | Кли |
Базовые классы DirectShow | AC_BUILD_FILTER_DIRECTSHOW | фильтр (прямое шоу) |
Эйген3 | AC_CORE_WITH_EIGEN3 | ядро (собственный3) |
OpenCL SDK | AC_CORE_WITH_OPENCL | ядро (opencl) |
pybind11 | AC_BUILD_BINDING_PYTHON | привязка (питон) |
руапу | Н/Д | основной |
стб | Н/Д | основной |
ВапурСинт SDK | AC_BUILD_FILTER_VAPOURSYNTH | фильтр(вапурсинт) |
Протестировано с MinGW-w64 и MSVC.
Сборка с помощью MinGW-w64:
mkdir build; cd build
cmake - G " MinGW Makefiles " . . - DAC_ENABLE_STATIC_CRT = ON
cmake -- build . -- config Release - j8
cd bin
. / ac_cli - v
Чтобы настроить libav ffmpeg для создания видеомодуля в Windows, рекомендуется добавить переменную AC_PATH_FFMPEG
в CMake, но вы также можете использовать pkg-config
для Windows. AC_PATH_FFMPEG
должен быть путем к корневой папке ffmpeg, содержащей lib
и include
.
Чтобы добавить AC_PATH_FFMPEG
в CMake, нажмите кнопку Add Entry
в cmake-gui
или используйте -DAC_PATH_FFMPEG="path/to/ffmpeg/root"
в терминале.
Вы можете загрузить ffmpeg с SDK с BtBN ( ffmpeg-master-latest-win64-gpl-shared.zip
или ffmpeg-master-latest-win64-lgpl-shared.zip
) или gyan.dev ( ffmpeg-release-full-shared.7z
) для Windows.
Вам понадобится MSVC для создания фильтра DirectShow, который доступен только в Windows.
Протестировано с помощью gcc и clang.
mkdir build && cd build
cmake ..
cmake --build . --config Release -j8
cd bin
./ac_cli -v
Для сборки с поддержкой opencl вам необходимо установить пакет ocl-icd
, OpenCL SDK от Khronos, похоже, не работает с termux.
pkg install cmake clang ocl-icd opencl-clhpp opencl-headers
mkdir build && cd build
cmake .. -DAC_CORE_WITH_OPENCL=ON
cmake --build . --config Release -j8
cd bin
LD_LIBRARY_PATH=/vendor/lib64: $PREFIX /lib ./ac_cli -l
Проверено только с Эмскриптеном. См. тест Wasm.
Непроверенный. Если да, пожалуйста, оставьте отзыв.
Вариант | Описание | По умолчанию |
---|---|---|
AC_SHARED_LIB | построить как общую библиотеку | ВЫКЛЮЧЕННЫЙ |
AC_CORE_WITH_EIGEN3 | собрать ядро с помощью eigen3 | ВЫКЛЮЧЕННЫЙ |
AC_CORE_WITH_SSE | собрать ядро с помощью x86 sse | Автоматическое обнаружение |
AC_CORE_WITH_AVX | собрать ядро с помощью x86 avx | Автоматическое обнаружение |
AC_CORE_WITH_FMA | собрать ядро с помощью x86 fma и avx | Автоматическое обнаружение |
AC_CORE_WITH_NEON | построить ядро с рукой неон | Автоматическое обнаружение |
AC_CORE_WITH_WASM_SIMD128 | собрать ядро с помощью Wasm Simd128 | Автоматическое обнаружение |
AC_CORE_WITH_OPENCL | собрать ядро с помощью opencl | ВЫКЛЮЧЕННЫЙ |
AC_CORE_WITH_CUDA | собрать ядро с помощью cuda | ВЫКЛЮЧЕННЫЙ |
AC_CORE_ENABLE_FAST_MATH | включить быструю математику для ядра | ВЫКЛЮЧЕННЫЙ |
AC_CORE_ENABLE_IMAGE_IO | включить чтение и запись файла изображения для ядра | НА |
AC_BUILD_CLI | построить клиентский интерфейс | НА |
AC_BUILD_GUI | построить графический интерфейс | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_VIDEO | собрать видеомодуль | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_FILTER_AVISYNTH | построить фильтр avisynth | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_FILTER_VAPOURSYNTH | построить фильтр Vaoursynth | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_FILTER_DIRECTSHOW | построить фильтр DirectShow (только для Windows MSVC) | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_FILTER_AVISYNTH_VAPOURSYNTH | создать универсальный фильтр avisynth и vapoursynth | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_BINDING_C | построить привязку C для ядра | ВЫКЛЮЧЕННЫЙ |
AC_BUILD_BINDING_PYTHON | создать привязку Python для ядра | ВЫКЛЮЧЕННЫЙ |
AC_TOOLS_BENCHMARK | построить тест | ВЫКЛЮЧЕННЫЙ |
AC_TEST_UTIL | построить тест модуля util | ВЫКЛЮЧЕННЫЙ |
AC_TEST_VIDEO | построить тест видеомодуля | ВЫКЛЮЧЕННЫЙ |
AC_TEST_WASM | построить тест Wasm (только Emscripten) | ВЫКЛЮЧЕННЫЙ |
AC_ENABLE_LTO | включить LTO | ВЫКЛЮЧЕННЫЙ |
AC_ENABLE_STATIC_CRT | включить статическую ссылку crt | ВЫКЛЮЧЕННЫЙ |
AC_DISABLE_RTTI | отключить RTTI | ВЫКЛЮЧЕННЫЙ |
AC_DISABLE_EXCEPTION | отключить исключение | ВЫКЛЮЧЕННЫЙ |
AC_DISABLE_PIC | отключить картинку или пирог | ВЫКЛЮЧЕННЫЙ |
Есть несколько удобных пресетов:
AC_PRESET_RELEASE
Видеомодуль находится под лицензией GPLv3, любой модуль, созданный с использованием видеомодуля, также находится под лицензией GPLv3, остальные — под лицензией MIT. Например, если сборка cli содержит видеомодуль, она находится под лицензией GPLv3, в противном случае — под лицензией MIT.