Anime4KCPP v3
Anime4KCPP是一个高性能的动漫画面放大工具。
Anime4KCPP v3使用基于CNN的算法,旨在简单高效。
构建
依赖
要构建Anime4KCPP v3,你需要CMake和支持C++17的编译器,如果你有网络连接,大多数依赖项将由CMake自动解决。
需要自行准备的依赖项列表:
依赖项 | CMake选项 | 模块 |
---|---|---|
CUDA工具包 | AC_CORE_WITH_CUDA | core(CUDA) |
libavcodec | AC_BUILD_VIDEO | video |
libavformat | AC_BUILD_VIDEO | video |
libavutil | AC_BUILD_VIDEO | video |
Qt | AC_BUILD_GUI | gui |
- CUDA工具包的最低测试版本为11
- libav的最低版本为ffmpeg 4
- Qt5和Qt6均可使用
可自动解决的依赖项列表:
依赖项 | CMake选项 | 模块 |
---|---|---|
Avisynth SDK | AC_BUILD_FILTER_AVISYNTH | filter(avisynth) |
CLI11 | AC_BUILD_CLI | cli |
DirectShow基类 | AC_BUILD_FILTER_DIRECTSHOW | filter(directshow) |
Eigen3 | AC_CORE_WITH_EIGEN3 | core(eigen3) |
OpenCL SDK | AC_CORE_WITH_OPENCL | core(opencl) |
pybind11 | AC_BUILD_BINDING_PYTHON | binding(python) |
ruapu | N/A | core |
stb | N/A | core |
VapourSynth SDK | AC_BUILD_FILTER_VAPOURSYNTH | filter(vapoursynth) |
平台
Windows
已在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
在Windows上为构建视频模块设置ffmpeg的libav时,建议向CMake添加AC_PATH_FFMPEG
变量,但你也可以使用Windows版的pkg-config
。AC_PATH_FFMPEG
应该是指向ffmpeg根目录的路径,该目录包含lib
和include
文件夹。
要向CMake添加AC_PATH_FFMPEG
,可以在cmake-gui
中点击Add Entry
按钮,或在终端中使用-DAC_PATH_FFMPEG="path/to/ffmpeg/root"
。
你可以从BtBN(ffmpeg-master-latest-win64-gpl-shared.zip
或ffmpeg-master-latest-win64-lgpl-shared.zip
)或gyan.dev(ffmpeg-release-full-shared.7z
)下载包含SDK的ffmpeg for Windows。
构建DirectShow滤镜需要MSVC,此功能仅在Windows上可用。
Linux
已在gcc和clang上测试通过。
mkdir build && cd build
cmake ..
cmake --build . --config Release -j8
cd bin
./ac_cli -v
Termux
要在Termux上支持OpenCL构建,你需要安装ocl-icd
包,Khronos的OpenCL SDK似乎无法在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
仅在Emscripten上进行过测试。请参阅wasm测试。
Mac OS
未经测试。如果您进行了测试,请提供反馈。
CMake选项
选项 | 描述 | 默认值 |
---|---|---|
AC_SHARED_LIB | 构建为共享库 | OFF |
AC_CORE_WITH_EIGEN3 | 使用eigen3构建核心 | OFF |
AC_CORE_WITH_SSE | 使用x86 SSE构建核心 | 自动检测 |
AC_CORE_WITH_AVX | 使用x86 AVX构建核心 | 自动检测 |
AC_CORE_WITH_FMA | 使用x86 FMA和AVX构建核心 | 自动检测 |
AC_CORE_WITH_NEON | 使用ARM NEON构建核心 | 自动检测 |
AC_CORE_WITH_WASM_SIMD128 | 使用WASM SIMD128构建核心 | 自动检测 |
AC_CORE_WITH_OPENCL | 使用OpenCL构建核心 | OFF |
AC_CORE_WITH_CUDA | 使用CUDA构建核心 | OFF |
AC_CORE_ENABLE_FAST_MATH | 为核心启用快速数学 | OFF |
AC_CORE_ENABLE_IMAGE_IO | 为核心启用图像文件读写 | ON |
AC_BUILD_CLI | 构建命令行界面 | ON |
AC_BUILD_GUI | 构建图形用户界面 | OFF |
AC_BUILD_VIDEO | 构建视频模块 | OFF |
AC_BUILD_FILTER_AVISYNTH | 构建AviSynth滤镜 | OFF |
AC_BUILD_FILTER_VAPOURSYNTH | 构建VapourSynth滤镜 | OFF |
AC_BUILD_FILTER_DIRECTSHOW | 构建DirectShow滤镜(仅限Windows MSVC) | OFF |
AC_BUILD_FILTER_AVISYNTH_VAPOURSYNTH | 构建AviSynth和VapourSynth通用滤镜 | OFF |
AC_BUILD_BINDING_C | 为核心构建C语言绑定 | OFF |
AC_BUILD_BINDING_PYTHON | 为核心构建Python绑定 | OFF |
AC_TOOLS_BENCHMARK | 构建基准测试 | OFF |
AC_TEST_UTIL | 构建工具模块测试 | OFF |
AC_TEST_VIDEO | 构建视频模块测试 | OFF |
AC_TEST_WASM | 构建WASM测试(仅限Emscripten) | OFF |
AC_ENABLE_LTO | 启用链接时优化 | OFF |
AC_ENABLE_STATIC_CRT | 启用静态链接CRT | OFF |
AC_DISABLE_RTTI | 禁用运行时类型信息 | OFF |
AC_DISABLE_EXCEPTION | 禁用异常 | OFF |
AC_DISABLE_PIC | 禁用位置无关代码或可执行文件 | OFF |
有一些方便的预设:
AC_PRESET_RELEASE
- AC_CORE_WITH_OPENCL
- AC_CORE_WITH_CUDA
- AC_CORE_ENABLE_FAST_MATH
- AC_CORE_ENABLE_IMAGE_IO
- AC_BUILD_CLI
- AC_BUILD_GUI
- AC_BUILD_VIDEO
- AC_BUILD_FILTER_AVISYNTH_VAPOURSYNTH
- AC_BUILD_FILTER_DIRECTSHOW(仅限MSVC)
许可证
视频模块采用GPLv3许可,任何使用视频模块构建的模块也采用GPLv3许可,其他模块采用MIT许可。 例如,如果命令行界面使用视频模块构建,则采用GPLv3许可;否则,采用MIT许可。