diff --git a/.gitmodules b/.gitmodules index 8f5e9a1..ad06135 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "third_party/boost"] path = third_party/boost url = https://github.com/boostorg/boost.git +[submodule "third_party/librife_ncnn_vulkan"] + path = third_party/librife_ncnn_vulkan + url = https://github.com/k4yt3x/librife-ncnn-vulkan.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 26361bb..0ed758d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -253,6 +253,19 @@ ExternalProject_Add( INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} ) +# Add librealesrgan-ncnn-vulkan as an external project +ExternalProject_Add( + rife + SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/librife_ncnn_vulkan/src + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/rife_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} +) + # Remove duplicate entries list(REMOVE_DUPLICATES ALL_INCLUDE_DIRS) list(REMOVE_DUPLICATES ALL_LIBRARIES) @@ -267,8 +280,8 @@ else() set_target_properties(libvideo2x PROPERTIES OUTPUT_NAME video2x) endif() -# Ensure libvideo2x depends on realesrgan being built and installed -add_dependencies(libvideo2x realesrgan) +# Ensure that the shared library is built after the external projects +add_dependencies(libvideo2x realesrgan rife) # Include directories for the shared library target_include_directories(libvideo2x PRIVATE @@ -277,6 +290,7 @@ target_include_directories(libvideo2x PRIVATE ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/include/libvideo2x ${PROJECT_SOURCE_DIR}/third_party/librealesrgan_ncnn_vulkan/src + ${PROJECT_SOURCE_DIR}/third_party/librife_ncnn_vulkan/src ) # Compile options for the shared library @@ -286,14 +300,15 @@ target_compile_options(libvideo2x PRIVATE $<$:-g -DDEBUG> ) -# Define the path to the built libresrgan-ncnn-vulkan library +# Define the paths to the shared libraries if(WIN32) set(REALESRGAN_LIB ${CMAKE_BINARY_DIR}/realesrgan_install/lib/librealesrgan-ncnn-vulkan.lib) - list(APPEND ALL_LIBRARIES ${REALESRGAN_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) - list(APPEND ALL_LIBRARIES ${REALESRGAN_LIB}) + set(RIFE_LIB ${CMAKE_BINARY_DIR}/rife_install/lib/librife-ncnn-vulkan.so) endif() +list(APPEND ALL_LIBRARIES ${REALESRGAN_LIB} ${RIFE_LIB}) # Link the shared library with the dependencies target_link_libraries(libvideo2x PRIVATE ${ALL_LIBRARIES}) @@ -392,6 +407,7 @@ if(WIN32) install(FILES ${CMAKE_BINARY_DIR}/realesrgan_install/bin/librealesrgan-ncnn-vulkan.dll + ${CMAKE_BINARY_DIR}/rife_install/bin/librife-ncnn-vulkan.dll ${FFMPEG_DLLS} ${NCNN_BASE_PATH}/bin/ncnn.dll ${BOOST_DLL_PATH} @@ -401,7 +417,7 @@ if(WIN32) WORLD_READ WORLD_EXECUTE ) else() - install(FILES ${REALESRGAN_LIB} + install(FILES ${REALESRGAN_LIB} ${RIFE_LIB} DESTINATION ${INSTALL_LIB_DESTINATION} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE diff --git a/include/libvideo2x/filter.h b/include/libvideo2x/filter.h deleted file mode 100644 index c927f6d..0000000 --- a/include/libvideo2x/filter.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef FILTER_H -#define FILTER_H - -#include - -extern "C" { -#include -#include -#include -} - -// Abstract base class for filters -class Filter { - public: - virtual ~Filter() = default; - virtual int init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *hw_ctx) = 0; - virtual int process_frame(AVFrame *in_frame, AVFrame **out_frame) = 0; - virtual int flush(std::vector &_) { return 0; } -}; - -#endif // FILTER_H diff --git a/include/libvideo2x/libplacebo_filter.h b/include/libvideo2x/filter_libplacebo.h similarity index 68% rename from include/libvideo2x/libplacebo_filter.h rename to include/libvideo2x/filter_libplacebo.h index aed1b4f..5a128da 100644 --- a/include/libvideo2x/libplacebo_filter.h +++ b/include/libvideo2x/filter_libplacebo.h @@ -1,5 +1,5 @@ -#ifndef LIBPLACEBO_FILTER_H -#define LIBPLACEBO_FILTER_H +#ifndef FILTER_LIBPLACEBO_H +#define FILTER_LIBPLACEBO_H #include @@ -9,10 +9,10 @@ extern "C" { #include } -#include "filter.h" +#include "processor.h" -// LibplaceboFilter class definition -class LibplaceboFilter : public Filter { +// FilterLibplacebo class definition +class FilterLibplacebo : public Filter { private: AVFilterGraph *filter_graph; AVFilterContext *buffersrc_ctx; @@ -26,7 +26,7 @@ class LibplaceboFilter : public Filter { public: // Constructor - LibplaceboFilter( + FilterLibplacebo( uint32_t vk_device_index, const std::filesystem::path &shader_path, int width, @@ -34,16 +34,19 @@ class LibplaceboFilter : public Filter { ); // Destructor - virtual ~LibplaceboFilter() override; + virtual ~FilterLibplacebo() override; // Initializes the filter with decoder and encoder contexts int init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *hw_ctx) override; // Processes an input frame and returns the processed frame - int process_frame(AVFrame *in_frame, AVFrame **out_frame) override; + int filter(AVFrame *in_frame, AVFrame **out_frame) override; // Flushes any remaining frames int flush(std::vector &flushed_frames) override; + + // Returns the filter's type + FilterType get_filter_type() const override { return FILTER_LIBPLACEBO; } }; -#endif // LIBPLACEBO_FILTER_H +#endif // FILTER_LIBPLACEBO_H diff --git a/include/libvideo2x/realesrgan_filter.h b/include/libvideo2x/filter_realesrgan.h similarity index 63% rename from include/libvideo2x/realesrgan_filter.h rename to include/libvideo2x/filter_realesrgan.h index a3486b1..bb9f978 100644 --- a/include/libvideo2x/realesrgan_filter.h +++ b/include/libvideo2x/filter_realesrgan.h @@ -1,16 +1,16 @@ -#ifndef REALSRGAN_FILTER_H -#define REALSRGAN_FILTER_H +#ifndef FILTER_REALESRGAN_H +#define FILTER_REALESRGAN_H extern "C" { #include } #include "char_defs.h" -#include "filter.h" +#include "processor.h" #include "realesrgan.h" -// RealesrganFilter class definition -class RealesrganFilter : public Filter { +// FilterRealesrgan class definition +class FilterRealesrgan : public Filter { private: RealESRGAN *realesrgan; int gpuid; @@ -23,7 +23,7 @@ class RealesrganFilter : public Filter { public: // Constructor - RealesrganFilter( + FilterRealesrgan( int gpuid = 0, bool tta_mode = false, int scaling_factor = 4, @@ -31,13 +31,16 @@ class RealesrganFilter : public Filter { ); // Destructor - virtual ~RealesrganFilter() override; + virtual ~FilterRealesrgan() override; // Initializes the filter with decoder and encoder contexts int init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *hw_ctx) override; // Processes an input frame and returns the processed frame - int process_frame(AVFrame *in_frame, AVFrame **out_frame) override; + int filter(AVFrame *in_frame, AVFrame **out_frame) override; + + // Returns the filter's type + FilterType get_filter_type() const override { return FILTER_REALESRGAN; } }; -#endif +#endif // FILTER_REALESRGAN_H diff --git a/include/libvideo2x/interpolator_rife.h b/include/libvideo2x/interpolator_rife.h new file mode 100644 index 0000000..44815f9 --- /dev/null +++ b/include/libvideo2x/interpolator_rife.h @@ -0,0 +1,48 @@ +#ifndef INTERPOLATOR_RIFE_H +#define INTERPOLATOR_RIFE_H + +extern "C" { +#include +} + +#include "char_defs.h" +#include "filter.h" +#include "realesrgan.h" + +// InterpolatorRIFE class definition +class InterpolatorRIFE : public Interpolator { + private: + RealESRGAN *realesrgan; + int gpuid; + bool tta_mode; + int scaling_factor; + const StringType model_name; + AVRational in_time_base; + AVRational out_time_base; + AVPixelFormat out_pix_fmt; + + public: + // Constructor + InterpolatorRIFE( + int gpuid = 0, + bool tta_mode = false, + bool tta_temporal_mode = false, + bool uhd_mode = false, + int num_threads = 1, + bool rife_v2 = false, + bool rife_v4 = true, + const StringType model_name = STR("rife-v4.6"), + float time_step = 0.5f + ); + + // Destructor + virtual ~InterpolatorRIFE() override; + + // Initializes the filter with decoder and encoder contexts + int init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *hw_ctx) override; + + // Processes an input frame and returns the processed frame + int interpolate(AVFrame *in_frame, AVFrame *prev_frame, AVFrame **out_frame) override; +}; + +#endif // INTERPOLATOR_RIFE_H diff --git a/include/libvideo2x/libvideo2x.h b/include/libvideo2x/libvideo2x.h index 221e1f4..234f78b 100644 --- a/include/libvideo2x/libvideo2x.h +++ b/include/libvideo2x/libvideo2x.h @@ -30,13 +30,20 @@ extern "C" { extern "C" { #endif -// Enum to specify filter type +enum ProcessingMode { + PROCESSING_MODE_FILTER, + PROCESSING_MODE_INTERPOLATE, +}; + enum FilterType { FILTER_LIBPLACEBO, FILTER_REALESRGAN }; -// Enum to specify log level +enum InterpolatorType { + INTERPOLATOR_RIFE, +}; + enum Libvideo2xLogLevel { LIBVIDEO2X_LOG_LEVEL_TRACE, LIBVIDEO2X_LOG_LEVEL_DEBUG, @@ -47,26 +54,36 @@ enum Libvideo2xLogLevel { LIBVIDEO2X_LOG_LEVEL_OFF }; -// Configuration for Libplacebo filter struct LibplaceboConfig { - int out_width; - int out_height; + int width; + int height; const CharType *shader_path; }; -// Configuration for RealESRGAN filter struct RealESRGANConfig { bool tta_mode; int scaling_factor; const CharType *model_name; }; +struct RIFEConfig { + bool tta_mode; + bool tta_temporal_mode; + bool uhd_mode; + int num_threads; + bool rife_v2; + bool rife_v4; + const CharType *model_name; + float time_step; +}; + // Unified filter configuration struct FilterConfig { enum FilterType filter_type; union { struct LibplaceboConfig libplacebo; struct RealESRGANConfig realesrgan; + struct RIFEConfig rife; } config; }; diff --git a/include/libvideo2x/processor.h b/include/libvideo2x/processor.h new file mode 100644 index 0000000..d4951e4 --- /dev/null +++ b/include/libvideo2x/processor.h @@ -0,0 +1,38 @@ +#ifndef PROCESSOR_H +#define PROCESSOR_H + +#include + +extern "C" { +#include +#include +#include +} + +#include "libvideo2x.h" + +class Processor { + public: + virtual ~Processor() = default; + virtual int init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *hw_ctx) = 0; + virtual ProcessingMode get_processing_mode() const = 0; + virtual int flush(std::vector &_) { return 0; } +}; + +// Abstract base class for filters +class Filter : public Processor { + public: + ProcessingMode get_processing_mode() const override { return PROCESSING_MODE_FILTER; } + virtual int filter(AVFrame *in_frame, AVFrame **out_frame) = 0; + virtual FilterType get_filter_type() const = 0; +}; + +// Abstract base class for interpolators +class Interpolator : public Processor { + public: + ProcessingMode get_processing_mode() const override { return PROCESSING_MODE_INTERPOLATE; } + virtual int interpolate(AVFrame *in_frame, AVFrame *prev_frame, AVFrame **out_frame) = 0; + virtual InterpolatorType get_interpolator_type() const = 0; +}; + +#endif // PROCESSOR_H diff --git a/models/rife/rife-HD/contextnet.bin b/models/rife/rife-HD/contextnet.bin new file mode 100644 index 0000000..7f37f33 Binary files /dev/null and b/models/rife/rife-HD/contextnet.bin differ diff --git a/models/rife/rife-HD/contextnet.param b/models/rife/rife-HD/contextnet.param new file mode 100644 index 0000000..a522d67 --- /dev/null +++ b/models/rife/rife-HD/contextnet.param @@ -0,0 +1,70 @@ +7767517 +68 82 +Input input.1 0 1 input.1 +Input flow.1 0 1 flow.1 +UnaryOp flow.0 1 1 flow.1 flow.0 0=1 +Convolution Conv_0 1 1 input.1 45 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 45 47 0=32 +Split splitncnn_0 1 2 47 47_splitncnn_0 47_splitncnn_1 +Convolution Conv_2 1 1 47_splitncnn_1 48 0=32 1=3 3=2 4=1 6=9216 +Convolution Conv_3 1 1 47_splitncnn_0 49 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_4 1 1 49 51 0=32 +Convolution Conv_5 1 1 51 52 0=32 1=3 4=1 5=1 6=9216 +Split splitncnn_1 1 2 52 52_splitncnn_0 52_splitncnn_1 +Pooling ReduceMean_7 1 1 52_splitncnn_1 54 0=1 4=1 +InnerProduct Conv_8 1 1 54 57 0=16 2=512 9=2 -23310=1,1.143919e+00 +InnerProduct Conv_10 1 1 57 59 0=32 2=512 9=4 +BinaryOp Mul_12 2 1 52_splitncnn_0 59 60 0=2 +BinaryOp Add_13 2 1 60 48 61 +PReLU PRelu_14 1 1 61 63 0=32 +Split splitncnn_2 1 3 63 63_splitncnn_0 63_splitncnn_1 63_splitncnn_2 +Interp Resize_16 1 1 flow.0 73 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_18 1 1 73 75 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 75 75_splitncnn_0 75_splitncnn_1 +rife.Warp Warp_24 2 1 63_splitncnn_2 75_splitncnn_1 f1 +Convolution Conv_25 1 1 63_splitncnn_1 82 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_26 1 1 63_splitncnn_0 83 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_27 1 1 83 85 0=64 +Convolution Conv_28 1 1 85 86 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 86 86_splitncnn_0 86_splitncnn_1 +Pooling ReduceMean_30 1 1 86_splitncnn_1 88 0=1 4=1 +InnerProduct Conv_31 1 1 88 91 0=16 2=1024 9=2 -23310=1,3.006833e-01 +InnerProduct Conv_33 1 1 91 93 0=64 2=1024 9=4 +BinaryOp Mul_35 2 1 86_splitncnn_0 93 94 0=2 +BinaryOp Add_36 2 1 94 82 95 +PReLU PRelu_37 1 1 95 97 0=64 +Split splitncnn_5 1 3 97 97_splitncnn_0 97_splitncnn_1 97_splitncnn_2 +Interp Resize_39 1 1 75_splitncnn_0 107 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_41 1 1 107 109 0=2 1=1 2=5.000000e-01 +Split splitncnn_6 1 2 109 109_splitncnn_0 109_splitncnn_1 +rife.Warp Warp_47 2 1 97_splitncnn_2 109_splitncnn_1 f2 +Convolution Conv_48 1 1 97_splitncnn_1 116 0=128 1=3 3=2 4=1 6=73728 +Convolution Conv_49 1 1 97_splitncnn_0 117 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_50 1 1 117 119 0=128 +Convolution Conv_51 1 1 119 120 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 120 120_splitncnn_0 120_splitncnn_1 +Pooling ReduceMean_53 1 1 120_splitncnn_1 122 0=1 4=1 +InnerProduct Conv_54 1 1 122 125 0=16 2=2048 9=2 -23310=1,7.002444e-02 +InnerProduct Conv_56 1 1 125 127 0=128 2=2048 9=4 +BinaryOp Mul_58 2 1 120_splitncnn_0 127 128 0=2 +BinaryOp Add_59 2 1 128 116 129 +PReLU PRelu_60 1 1 129 131 0=128 +Split splitncnn_8 1 3 131 131_splitncnn_0 131_splitncnn_1 131_splitncnn_2 +Interp Resize_62 1 1 109_splitncnn_0 141 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_64 1 1 141 143 0=2 1=1 2=5.000000e-01 +Split splitncnn_9 1 2 143 143_splitncnn_0 143_splitncnn_1 +rife.Warp Warp_70 2 1 131_splitncnn_2 143_splitncnn_1 f3 +Convolution Conv_71 1 1 131_splitncnn_1 150 0=256 1=3 3=2 4=1 6=294912 +Convolution Conv_72 1 1 131_splitncnn_0 151 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_73 1 1 151 153 0=256 +Convolution Conv_74 1 1 153 154 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 154 154_splitncnn_0 154_splitncnn_1 +Pooling ReduceMean_76 1 1 154_splitncnn_1 156 0=1 4=1 +InnerProduct Conv_77 1 1 156 159 0=16 2=4096 9=2 -23310=1,6.568319e-02 +InnerProduct Conv_79 1 1 159 161 0=256 2=4096 9=4 +BinaryOp Mul_81 2 1 154_splitncnn_0 161 162 0=2 +BinaryOp Add_82 2 1 162 150 163 +PReLU PRelu_83 1 1 163 165 0=256 +Interp Resize_85 1 1 143_splitncnn_0 175 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_87 1 1 175 177 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_93 2 1 165 177 f4 diff --git a/models/rife/rife-HD/flownet.bin b/models/rife/rife-HD/flownet.bin new file mode 100644 index 0000000..d08533a Binary files /dev/null and b/models/rife/rife-HD/flownet.bin differ diff --git a/models/rife/rife-HD/flownet.param b/models/rife/rife-HD/flownet.param new file mode 100644 index 0000000..ac3b0c9 --- /dev/null +++ b/models/rife/rife-HD/flownet.param @@ -0,0 +1,322 @@ +7767517 +320 386 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 454 0=2 1=5.000000e-01 2=5.000000e-01 +Split splitncnn_0 1 7 454 454_splitncnn_0 454_splitncnn_1 454_splitncnn_2 454_splitncnn_3 454_splitncnn_4 454_splitncnn_5 454_splitncnn_6 +Interp Resize_3 1 1 454_splitncnn_6 464 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_4 1 1 464 466 0=192 1=5 3=2 4=2 5=1 6=28800 +PReLU PRelu_6 1 1 466 468 0=192 +Split splitncnn_1 1 2 468 468_splitncnn_0 468_splitncnn_1 +Convolution Conv_7 1 1 468_splitncnn_1 470 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_9 1 1 470 472 0=192 +Convolution Conv_10 1 1 472 474 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_2 1 2 474 474_splitncnn_0 474_splitncnn_1 +Pooling ReduceMean_13 1 1 474_splitncnn_1 476 0=1 4=1 +InnerProduct Conv_14 1 1 476 479 0=16 2=3072 9=2 -23310=1,1.428942e-02 +InnerProduct Conv_16 1 1 479 481 0=192 2=3072 9=4 +BinaryOp Mul_18 2 1 474_splitncnn_0 481 482 0=2 +BinaryOp Add_19 2 1 482 468_splitncnn_0 483 +PReLU PRelu_20 1 1 483 485 0=192 +Split splitncnn_3 1 2 485 485_splitncnn_0 485_splitncnn_1 +Convolution Conv_21 1 1 485_splitncnn_1 487 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_23 1 1 487 489 0=192 +Convolution Conv_24 1 1 489 491 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_4 1 2 491 491_splitncnn_0 491_splitncnn_1 +Pooling ReduceMean_27 1 1 491_splitncnn_1 493 0=1 4=1 +InnerProduct Conv_28 1 1 493 496 0=16 2=3072 9=2 -23310=1,3.543398e-01 +InnerProduct Conv_30 1 1 496 498 0=192 2=3072 9=4 +BinaryOp Mul_32 2 1 491_splitncnn_0 498 499 0=2 +BinaryOp Add_33 2 1 499 485_splitncnn_0 500 +PReLU PRelu_34 1 1 500 502 0=192 +Split splitncnn_5 1 2 502 502_splitncnn_0 502_splitncnn_1 +Convolution Conv_35 1 1 502_splitncnn_1 504 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_37 1 1 504 506 0=192 +Convolution Conv_38 1 1 506 508 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_6 1 2 508 508_splitncnn_0 508_splitncnn_1 +Pooling ReduceMean_41 1 1 508_splitncnn_1 510 0=1 4=1 +InnerProduct Conv_42 1 1 510 513 0=16 2=3072 9=2 -23310=1,5.366787e-01 +InnerProduct Conv_44 1 1 513 515 0=192 2=3072 9=4 +BinaryOp Mul_46 2 1 508_splitncnn_0 515 516 0=2 +BinaryOp Add_47 2 1 516 502_splitncnn_0 517 +PReLU PRelu_48 1 1 517 519 0=192 +Split splitncnn_7 1 2 519 519_splitncnn_0 519_splitncnn_1 +Convolution Conv_49 1 1 519_splitncnn_1 521 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_51 1 1 521 523 0=192 +Convolution Conv_52 1 1 523 525 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_8 1 2 525 525_splitncnn_0 525_splitncnn_1 +Pooling ReduceMean_55 1 1 525_splitncnn_1 527 0=1 4=1 +InnerProduct Conv_56 1 1 527 530 0=16 2=3072 9=2 -23310=1,-4.889974e-03 +InnerProduct Conv_58 1 1 530 532 0=192 2=3072 9=4 +BinaryOp Mul_60 2 1 525_splitncnn_0 532 533 0=2 +BinaryOp Add_61 2 1 533 519_splitncnn_0 534 +PReLU PRelu_62 1 1 534 536 0=192 +Split splitncnn_9 1 2 536 536_splitncnn_0 536_splitncnn_1 +Convolution Conv_63 1 1 536_splitncnn_1 538 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_65 1 1 538 540 0=192 +Convolution Conv_66 1 1 540 542 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_10 1 2 542 542_splitncnn_0 542_splitncnn_1 +Pooling ReduceMean_69 1 1 542_splitncnn_1 544 0=1 4=1 +InnerProduct Conv_70 1 1 544 547 0=16 2=3072 9=2 -23310=1,-1.182169e-02 +InnerProduct Conv_72 1 1 547 549 0=192 2=3072 9=4 +BinaryOp Mul_74 2 1 542_splitncnn_0 549 550 0=2 +BinaryOp Add_75 2 1 550 536_splitncnn_0 551 +PReLU PRelu_76 1 1 551 553 0=192 +Split splitncnn_11 1 2 553 553_splitncnn_0 553_splitncnn_1 +Convolution Conv_77 1 1 553_splitncnn_1 555 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_79 1 1 555 557 0=192 +Convolution Conv_80 1 1 557 559 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_12 1 2 559 559_splitncnn_0 559_splitncnn_1 +Pooling ReduceMean_83 1 1 559_splitncnn_1 561 0=1 4=1 +InnerProduct Conv_84 1 1 561 564 0=16 2=3072 9=2 -23310=1,2.179182e-01 +InnerProduct Conv_86 1 1 564 566 0=192 2=3072 9=4 +BinaryOp Mul_88 2 1 559_splitncnn_0 566 567 0=2 +BinaryOp Add_89 2 1 567 553_splitncnn_0 568 +PReLU PRelu_90 1 1 568 570 0=192 +Convolution Conv_91 1 1 570 571 0=8 1=3 4=1 5=1 6=13824 +PixelShuffle DepthToSpace_92 1 1 571 572 0=2 +Interp Resize_94 1 1 572 582 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_13 1 6 582 582_splitncnn_0 582_splitncnn_1 582_splitncnn_2 582_splitncnn_3 582_splitncnn_4 582_splitncnn_5 +Crop Slice_99 1 1 454_splitncnn_5 587 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_105 2 1 587 582_splitncnn_5 593 +Crop Slice_110 1 1 454_splitncnn_4 598 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_111 1 1 582_splitncnn_4 599 0=1 +rife.Warp Warp_117 2 1 598 599 605 +Concat Concat_118 3 1 593 605 582_splitncnn_3 606 +Interp Resize_120 1 1 606 616 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_121 1 1 616 618 0=128 1=5 3=2 4=2 5=1 6=25600 +PReLU PRelu_123 1 1 618 620 0=128 +Split splitncnn_14 1 2 620 620_splitncnn_0 620_splitncnn_1 +Convolution Conv_124 1 1 620_splitncnn_1 622 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_126 1 1 622 624 0=128 +Convolution Conv_127 1 1 624 626 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_15 1 2 626 626_splitncnn_0 626_splitncnn_1 +Pooling ReduceMean_130 1 1 626_splitncnn_1 628 0=1 4=1 +InnerProduct Conv_131 1 1 628 631 0=16 2=2048 9=2 -23310=1,-3.599843e-03 +InnerProduct Conv_133 1 1 631 633 0=128 2=2048 9=4 +BinaryOp Mul_135 2 1 626_splitncnn_0 633 634 0=2 +BinaryOp Add_136 2 1 634 620_splitncnn_0 635 +PReLU PRelu_137 1 1 635 637 0=128 +Split splitncnn_16 1 2 637 637_splitncnn_0 637_splitncnn_1 +Convolution Conv_138 1 1 637_splitncnn_1 639 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_140 1 1 639 641 0=128 +Convolution Conv_141 1 1 641 643 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_17 1 2 643 643_splitncnn_0 643_splitncnn_1 +Pooling ReduceMean_144 1 1 643_splitncnn_1 645 0=1 4=1 +InnerProduct Conv_145 1 1 645 648 0=16 2=2048 9=2 -23310=1,2.117399e-01 +InnerProduct Conv_147 1 1 648 650 0=128 2=2048 9=4 +BinaryOp Mul_149 2 1 643_splitncnn_0 650 651 0=2 +BinaryOp Add_150 2 1 651 637_splitncnn_0 652 +PReLU PRelu_151 1 1 652 654 0=128 +Split splitncnn_18 1 2 654 654_splitncnn_0 654_splitncnn_1 +Convolution Conv_152 1 1 654_splitncnn_1 656 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_154 1 1 656 658 0=128 +Convolution Conv_155 1 1 658 660 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_19 1 2 660 660_splitncnn_0 660_splitncnn_1 +Pooling ReduceMean_158 1 1 660_splitncnn_1 662 0=1 4=1 +InnerProduct Conv_159 1 1 662 665 0=16 2=2048 9=2 -23310=1,2.712289e-01 +InnerProduct Conv_161 1 1 665 667 0=128 2=2048 9=4 +BinaryOp Mul_163 2 1 660_splitncnn_0 667 668 0=2 +BinaryOp Add_164 2 1 668 654_splitncnn_0 669 +PReLU PRelu_165 1 1 669 671 0=128 +Split splitncnn_20 1 2 671 671_splitncnn_0 671_splitncnn_1 +Convolution Conv_166 1 1 671_splitncnn_1 673 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_168 1 1 673 675 0=128 +Convolution Conv_169 1 1 675 677 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_21 1 2 677 677_splitncnn_0 677_splitncnn_1 +Pooling ReduceMean_172 1 1 677_splitncnn_1 679 0=1 4=1 +InnerProduct Conv_173 1 1 679 682 0=16 2=2048 9=2 -23310=1,8.141350e-02 +InnerProduct Conv_175 1 1 682 684 0=128 2=2048 9=4 +BinaryOp Mul_177 2 1 677_splitncnn_0 684 685 0=2 +BinaryOp Add_178 2 1 685 671_splitncnn_0 686 +PReLU PRelu_179 1 1 686 688 0=128 +Split splitncnn_22 1 2 688 688_splitncnn_0 688_splitncnn_1 +Convolution Conv_180 1 1 688_splitncnn_1 690 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_182 1 1 690 692 0=128 +Convolution Conv_183 1 1 692 694 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_23 1 2 694 694_splitncnn_0 694_splitncnn_1 +Pooling ReduceMean_186 1 1 694_splitncnn_1 696 0=1 4=1 +InnerProduct Conv_187 1 1 696 699 0=16 2=2048 9=2 -23310=1,4.956326e-02 +InnerProduct Conv_189 1 1 699 701 0=128 2=2048 9=4 +BinaryOp Mul_191 2 1 694_splitncnn_0 701 702 0=2 +BinaryOp Add_192 2 1 702 688_splitncnn_0 703 +PReLU PRelu_193 1 1 703 705 0=128 +Split splitncnn_24 1 2 705 705_splitncnn_0 705_splitncnn_1 +Convolution Conv_194 1 1 705_splitncnn_1 707 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_196 1 1 707 709 0=128 +Convolution Conv_197 1 1 709 711 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_25 1 2 711 711_splitncnn_0 711_splitncnn_1 +Pooling ReduceMean_200 1 1 711_splitncnn_1 713 0=1 4=1 +InnerProduct Conv_201 1 1 713 716 0=16 2=2048 9=2 -23310=1,1.553750e-01 +InnerProduct Conv_203 1 1 716 718 0=128 2=2048 9=4 +BinaryOp Mul_205 2 1 711_splitncnn_0 718 719 0=2 +BinaryOp Add_206 2 1 719 705_splitncnn_0 720 +PReLU PRelu_207 1 1 720 722 0=128 +Convolution Conv_208 1 1 722 723 0=8 1=3 4=1 5=1 6=9216 +PixelShuffle DepthToSpace_209 1 1 723 724 0=2 +Interp Resize_211 1 1 724 734 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_26 1 3 734 734_splitncnn_0 734_splitncnn_1 734_splitncnn_2 +BinaryOp Add_212 2 1 582_splitncnn_2 734_splitncnn_2 735 +Split splitncnn_27 1 3 735 735_splitncnn_0 735_splitncnn_1 735_splitncnn_2 +Crop Slice_217 1 1 454_splitncnn_3 740 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_223 2 1 740 735_splitncnn_2 746 +Crop Slice_228 1 1 454_splitncnn_2 751 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_229 1 1 735_splitncnn_1 752 0=1 +rife.Warp Warp_235 2 1 751 752 758 +Concat Concat_236 3 1 746 758 735_splitncnn_0 759 +Interp Resize_238 1 1 759 769 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_239 1 1 769 771 0=96 1=5 3=2 4=2 5=1 6=19200 +PReLU PRelu_241 1 1 771 773 0=96 +Split splitncnn_28 1 2 773 773_splitncnn_0 773_splitncnn_1 +Convolution Conv_242 1 1 773_splitncnn_1 775 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_244 1 1 775 777 0=96 +Convolution Conv_245 1 1 777 779 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_29 1 2 779 779_splitncnn_0 779_splitncnn_1 +Pooling ReduceMean_248 1 1 779_splitncnn_1 781 0=1 4=1 +InnerProduct Conv_249 1 1 781 784 0=16 2=1536 9=2 -23310=1,1.670981e-03 +InnerProduct Conv_251 1 1 784 786 0=96 2=1536 9=4 +BinaryOp Mul_253 2 1 779_splitncnn_0 786 787 0=2 +BinaryOp Add_254 2 1 787 773_splitncnn_0 788 +PReLU PRelu_255 1 1 788 790 0=96 +Split splitncnn_30 1 2 790 790_splitncnn_0 790_splitncnn_1 +Convolution Conv_256 1 1 790_splitncnn_1 792 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_258 1 1 792 794 0=96 +Convolution Conv_259 1 1 794 796 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_31 1 2 796 796_splitncnn_0 796_splitncnn_1 +Pooling ReduceMean_262 1 1 796_splitncnn_1 798 0=1 4=1 +InnerProduct Conv_263 1 1 798 801 0=16 2=1536 9=2 -23310=1,3.868800e-01 +InnerProduct Conv_265 1 1 801 803 0=96 2=1536 9=4 +BinaryOp Mul_267 2 1 796_splitncnn_0 803 804 0=2 +BinaryOp Add_268 2 1 804 790_splitncnn_0 805 +PReLU PRelu_269 1 1 805 807 0=96 +Split splitncnn_32 1 2 807 807_splitncnn_0 807_splitncnn_1 +Convolution Conv_270 1 1 807_splitncnn_1 809 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_272 1 1 809 811 0=96 +Convolution Conv_273 1 1 811 813 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_33 1 2 813 813_splitncnn_0 813_splitncnn_1 +Pooling ReduceMean_276 1 1 813_splitncnn_1 815 0=1 4=1 +InnerProduct Conv_277 1 1 815 818 0=16 2=1536 9=2 -23310=1,3.475277e-01 +InnerProduct Conv_279 1 1 818 820 0=96 2=1536 9=4 +BinaryOp Mul_281 2 1 813_splitncnn_0 820 821 0=2 +BinaryOp Add_282 2 1 821 807_splitncnn_0 822 +PReLU PRelu_283 1 1 822 824 0=96 +Split splitncnn_34 1 2 824 824_splitncnn_0 824_splitncnn_1 +Convolution Conv_284 1 1 824_splitncnn_1 826 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_286 1 1 826 828 0=96 +Convolution Conv_287 1 1 828 830 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_35 1 2 830 830_splitncnn_0 830_splitncnn_1 +Pooling ReduceMean_290 1 1 830_splitncnn_1 832 0=1 4=1 +InnerProduct Conv_291 1 1 832 835 0=16 2=1536 9=2 -23310=1,7.044167e-02 +InnerProduct Conv_293 1 1 835 837 0=96 2=1536 9=4 +BinaryOp Mul_295 2 1 830_splitncnn_0 837 838 0=2 +BinaryOp Add_296 2 1 838 824_splitncnn_0 839 +PReLU PRelu_297 1 1 839 841 0=96 +Split splitncnn_36 1 2 841 841_splitncnn_0 841_splitncnn_1 +Convolution Conv_298 1 1 841_splitncnn_1 843 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_300 1 1 843 845 0=96 +Convolution Conv_301 1 1 845 847 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_37 1 2 847 847_splitncnn_0 847_splitncnn_1 +Pooling ReduceMean_304 1 1 847_splitncnn_1 849 0=1 4=1 +InnerProduct Conv_305 1 1 849 852 0=16 2=1536 9=2 -23310=1,1.834324e-01 +InnerProduct Conv_307 1 1 852 854 0=96 2=1536 9=4 +BinaryOp Mul_309 2 1 847_splitncnn_0 854 855 0=2 +BinaryOp Add_310 2 1 855 841_splitncnn_0 856 +PReLU PRelu_311 1 1 856 858 0=96 +Split splitncnn_38 1 2 858 858_splitncnn_0 858_splitncnn_1 +Convolution Conv_312 1 1 858_splitncnn_1 860 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_314 1 1 860 862 0=96 +Convolution Conv_315 1 1 862 864 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_39 1 2 864 864_splitncnn_0 864_splitncnn_1 +Pooling ReduceMean_318 1 1 864_splitncnn_1 866 0=1 4=1 +InnerProduct Conv_319 1 1 866 869 0=16 2=1536 9=2 -23310=1,3.572731e-01 +InnerProduct Conv_321 1 1 869 871 0=96 2=1536 9=4 +BinaryOp Mul_323 2 1 864_splitncnn_0 871 872 0=2 +BinaryOp Add_324 2 1 872 858_splitncnn_0 873 +PReLU PRelu_325 1 1 873 875 0=96 +Convolution Conv_326 1 1 875 876 0=8 1=3 4=1 5=1 6=6912 +PixelShuffle DepthToSpace_327 1 1 876 877 0=2 +Interp Resize_329 1 1 877 887 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_40 1 2 887 887_splitncnn_0 887_splitncnn_1 +BinaryOp Add_330 2 1 582_splitncnn_1 734_splitncnn_1 888 +BinaryOp Add_331 2 1 888 887_splitncnn_1 889 +Split splitncnn_41 1 3 889 889_splitncnn_0 889_splitncnn_1 889_splitncnn_2 +Crop Slice_336 1 1 454_splitncnn_1 894 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_342 2 1 894 889_splitncnn_2 900 +Crop Slice_347 1 1 454_splitncnn_0 905 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_348 1 1 889_splitncnn_1 906 0=1 +rife.Warp Warp_354 2 1 905 906 912 +Concat Concat_355 3 1 900 912 889_splitncnn_0 913 +Convolution Conv_356 1 1 913 915 0=48 1=5 3=2 4=2 5=1 6=9600 +PReLU PRelu_358 1 1 915 917 0=48 +Split splitncnn_42 1 2 917 917_splitncnn_0 917_splitncnn_1 +Convolution Conv_359 1 1 917_splitncnn_1 919 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_361 1 1 919 921 0=48 +Convolution Conv_362 1 1 921 923 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_43 1 2 923 923_splitncnn_0 923_splitncnn_1 +Pooling ReduceMean_365 1 1 923_splitncnn_1 925 0=1 4=1 +InnerProduct Conv_366 1 1 925 928 0=16 2=768 9=2 -23310=1,2.075541e-02 +InnerProduct Conv_368 1 1 928 930 0=48 2=768 9=4 +BinaryOp Mul_370 2 1 923_splitncnn_0 930 931 0=2 +BinaryOp Add_371 2 1 931 917_splitncnn_0 932 +PReLU PRelu_372 1 1 932 934 0=48 +Split splitncnn_44 1 2 934 934_splitncnn_0 934_splitncnn_1 +Convolution Conv_373 1 1 934_splitncnn_1 936 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_375 1 1 936 938 0=48 +Convolution Conv_376 1 1 938 940 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_45 1 2 940 940_splitncnn_0 940_splitncnn_1 +Pooling ReduceMean_379 1 1 940_splitncnn_1 942 0=1 4=1 +InnerProduct Conv_380 1 1 942 945 0=16 2=768 9=2 -23310=1,7.201483e-01 +InnerProduct Conv_382 1 1 945 947 0=48 2=768 9=4 +BinaryOp Mul_384 2 1 940_splitncnn_0 947 948 0=2 +BinaryOp Add_385 2 1 948 934_splitncnn_0 949 +PReLU PRelu_386 1 1 949 951 0=48 +Split splitncnn_46 1 2 951 951_splitncnn_0 951_splitncnn_1 +Convolution Conv_387 1 1 951_splitncnn_1 953 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_389 1 1 953 955 0=48 +Convolution Conv_390 1 1 955 957 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_47 1 2 957 957_splitncnn_0 957_splitncnn_1 +Pooling ReduceMean_393 1 1 957_splitncnn_1 959 0=1 4=1 +InnerProduct Conv_394 1 1 959 962 0=16 2=768 9=2 -23310=1,2.671039e-01 +InnerProduct Conv_396 1 1 962 964 0=48 2=768 9=4 +BinaryOp Mul_398 2 1 957_splitncnn_0 964 965 0=2 +BinaryOp Add_399 2 1 965 951_splitncnn_0 966 +PReLU PRelu_400 1 1 966 968 0=48 +Split splitncnn_48 1 2 968 968_splitncnn_0 968_splitncnn_1 +Convolution Conv_401 1 1 968_splitncnn_1 970 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_403 1 1 970 972 0=48 +Convolution Conv_404 1 1 972 974 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_49 1 2 974 974_splitncnn_0 974_splitncnn_1 +Pooling ReduceMean_407 1 1 974_splitncnn_1 976 0=1 4=1 +InnerProduct Conv_408 1 1 976 979 0=16 2=768 9=2 -23310=1,1.908224e-01 +InnerProduct Conv_410 1 1 979 981 0=48 2=768 9=4 +BinaryOp Mul_412 2 1 974_splitncnn_0 981 982 0=2 +BinaryOp Add_413 2 1 982 968_splitncnn_0 983 +PReLU PRelu_414 1 1 983 985 0=48 +Split splitncnn_50 1 2 985 985_splitncnn_0 985_splitncnn_1 +Convolution Conv_415 1 1 985_splitncnn_1 987 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_417 1 1 987 989 0=48 +Convolution Conv_418 1 1 989 991 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_51 1 2 991 991_splitncnn_0 991_splitncnn_1 +Pooling ReduceMean_421 1 1 991_splitncnn_1 993 0=1 4=1 +InnerProduct Conv_422 1 1 993 996 0=16 2=768 9=2 -23310=1,6.525763e-01 +InnerProduct Conv_424 1 1 996 998 0=48 2=768 9=4 +BinaryOp Mul_426 2 1 991_splitncnn_0 998 999 0=2 +BinaryOp Add_427 2 1 999 985_splitncnn_0 1000 +PReLU PRelu_428 1 1 1000 1002 0=48 +Split splitncnn_52 1 2 1002 1002_splitncnn_0 1002_splitncnn_1 +Convolution Conv_429 1 1 1002_splitncnn_1 1004 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_431 1 1 1004 1006 0=48 +Convolution Conv_432 1 1 1006 1008 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_53 1 2 1008 1008_splitncnn_0 1008_splitncnn_1 +Pooling ReduceMean_435 1 1 1008_splitncnn_1 1010 0=1 4=1 +InnerProduct Conv_436 1 1 1010 1013 0=16 2=768 9=2 -23310=1,5.485489e-01 +InnerProduct Conv_438 1 1 1013 1015 0=48 2=768 9=4 +BinaryOp Mul_440 2 1 1008_splitncnn_0 1015 1016 0=2 +BinaryOp Add_441 2 1 1016 1002_splitncnn_0 1017 +PReLU PRelu_442 1 1 1017 1019 0=48 +Convolution Conv_443 1 1 1019 1020 0=8 1=3 4=1 5=1 6=3456 +PixelShuffle DepthToSpace_444 1 1 1020 1021 0=2 +BinaryOp Add_445 2 1 582_splitncnn_0 734_splitncnn_0 1022 +BinaryOp Add_446 2 1 1022 887_splitncnn_0 1023 +BinaryOp Add_447 2 1 1023 1021 flow diff --git a/models/rife/rife-HD/fusionnet.bin b/models/rife/rife-HD/fusionnet.bin new file mode 100644 index 0000000..bcc7a2d Binary files /dev/null and b/models/rife/rife-HD/fusionnet.bin differ diff --git a/models/rife/rife-HD/fusionnet.param b/models/rife/rife-HD/fusionnet.param new file mode 100644 index 0000000..4799ffc --- /dev/null +++ b/models/rife/rife-HD/fusionnet.param @@ -0,0 +1,105 @@ +7767517 +103 120 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 77 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 77 79 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 79 79_splitncnn_0 79_splitncnn_1 79_splitncnn_2 +rife.Warp Warp_9 2 1 img0 79_splitncnn_2 85 +Split splitncnn_1 1 2 85 85_splitncnn_0 85_splitncnn_1 +UnaryOp Neg_10 1 1 79_splitncnn_1 86 0=1 +rife.Warp Warp_16 2 1 img1 86 92 +Split splitncnn_2 1 2 92 92_splitncnn_0 92_splitncnn_1 +Concat Concat_17 3 1 85_splitncnn_1 92_splitncnn_1 79_splitncnn_0 93 +Convolution Conv_18 1 1 93 94 0=32 1=3 3=2 4=1 5=1 6=2304 +PReLU PRelu_19 1 1 94 96 0=32 +Split splitncnn_3 1 2 96 96_splitncnn_0 96_splitncnn_1 +Convolution Conv_20 1 1 96_splitncnn_1 97 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_21 1 1 96_splitncnn_0 98 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_22 1 1 98 100 0=64 +Convolution Conv_23 1 1 100 101 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 101 101_splitncnn_0 101_splitncnn_1 +Pooling ReduceMean_25 1 1 101_splitncnn_1 103 0=1 4=1 +InnerProduct Conv_26 1 1 103 106 0=16 2=1024 9=2 -23310=1,1.541520e-01 +InnerProduct Conv_28 1 1 106 108 0=64 2=1024 9=4 +BinaryOp Mul_30 2 1 101_splitncnn_0 108 109 0=2 +BinaryOp Add_31 2 1 109 97 110 +PReLU PRelu_32 1 1 110 112 0=64 +Split splitncnn_5 1 2 112 112_splitncnn_0 112_splitncnn_1 +Concat Concat_33 3 1 112_splitncnn_1 3 7 113 +Split splitncnn_6 1 2 113 113_splitncnn_0 113_splitncnn_1 +Convolution Conv_34 1 1 113_splitncnn_1 114 0=128 1=3 3=2 4=1 6=147456 +Convolution Conv_35 1 1 113_splitncnn_0 115 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_36 1 1 115 117 0=128 +Convolution Conv_37 1 1 117 118 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 118 118_splitncnn_0 118_splitncnn_1 +Pooling ReduceMean_39 1 1 118_splitncnn_1 120 0=1 4=1 +InnerProduct Conv_40 1 1 120 123 0=16 2=2048 9=2 -23310=1,4.722085e-02 +InnerProduct Conv_42 1 1 123 125 0=128 2=2048 9=4 +BinaryOp Mul_44 2 1 118_splitncnn_0 125 126 0=2 +BinaryOp Add_45 2 1 126 114 127 +PReLU PRelu_46 1 1 127 129 0=128 +Split splitncnn_8 1 2 129 129_splitncnn_0 129_splitncnn_1 +Concat Concat_47 3 1 129_splitncnn_1 4 8 130 +Split splitncnn_9 1 2 130 130_splitncnn_0 130_splitncnn_1 +Convolution Conv_48 1 1 130_splitncnn_1 131 0=256 1=3 3=2 4=1 6=589824 +Convolution Conv_49 1 1 130_splitncnn_0 132 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_50 1 1 132 134 0=256 +Convolution Conv_51 1 1 134 135 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 135 135_splitncnn_0 135_splitncnn_1 +Pooling ReduceMean_53 1 1 135_splitncnn_1 137 0=1 4=1 +InnerProduct Conv_54 1 1 137 140 0=16 2=4096 9=2 -23310=1,8.144739e-02 +InnerProduct Conv_56 1 1 140 142 0=256 2=4096 9=4 +BinaryOp Mul_58 2 1 135_splitncnn_0 142 143 0=2 +BinaryOp Add_59 2 1 143 131 144 +PReLU PRelu_60 1 1 144 146 0=256 +Split splitncnn_11 1 2 146 146_splitncnn_0 146_splitncnn_1 +Concat Concat_61 3 1 146_splitncnn_1 5 9 147 +Split splitncnn_12 1 2 147 147_splitncnn_0 147_splitncnn_1 +Convolution Conv_62 1 1 147_splitncnn_1 148 0=512 1=3 3=2 4=1 6=2359296 +Convolution Conv_63 1 1 147_splitncnn_0 149 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_64 1 1 149 151 0=512 +Convolution Conv_65 1 1 151 152 0=512 1=3 4=1 5=1 6=2359296 +Split splitncnn_13 1 2 152 152_splitncnn_0 152_splitncnn_1 +Pooling ReduceMean_67 1 1 152_splitncnn_1 154 0=1 4=1 +InnerProduct Conv_68 1 1 154 157 0=16 2=8192 9=2 -23310=1,7.700763e-02 +InnerProduct Conv_70 1 1 157 159 0=512 2=8192 9=4 +BinaryOp Mul_72 2 1 152_splitncnn_0 159 160 0=2 +BinaryOp Add_73 2 1 160 148 161 +PReLU PRelu_74 1 1 161 163 0=512 +Concat Concat_75 3 1 163 6 10 164 +Deconvolution ConvTranspose_76 1 1 164 165 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_77 1 1 165 167 0=256 +Concat Concat_78 2 1 167 146_splitncnn_0 168 +Deconvolution ConvTranspose_79 1 1 168 169 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_80 1 1 169 171 0=128 +Concat Concat_81 2 1 171 129_splitncnn_0 172 +Deconvolution ConvTranspose_82 1 1 172 173 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_83 1 1 173 175 0=64 +Concat Concat_84 2 1 175 112_splitncnn_0 176 +Deconvolution ConvTranspose_85 1 1 176 177 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_86 1 1 177 179 0=32 +Convolution Conv_87 1 1 179 180 0=16 1=3 4=1 5=1 6=4608 +PixelShuffle DepthToSpace_88 1 1 180 181 0=2 +Sigmoid Sigmoid_89 1 1 181 182 +Split splitncnn_14 1 2 182 182_splitncnn_0 182_splitncnn_1 +Crop Slice_94 1 1 182_splitncnn_1 187 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_96 1 1 187 189 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_98 1 1 189 191 0=1 1=1 2=1.000000e+00 +Crop Slice_103 1 1 182_splitncnn_0 196 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_15 1 2 196 196_splitncnn_0 196_splitncnn_1 +BinaryOp Mul_104 2 1 85_splitncnn_0 196_splitncnn_1 197 0=2 +BinaryOp Sub_106 1 1 196_splitncnn_0 199 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_107 2 1 92_splitncnn_0 199 200 0=2 +BinaryOp Add_108 2 1 197 200 201 +BinaryOp Add_109 2 1 201 191 202 +Clip Clip_110 1 1 202 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-UHD/contextnet.bin b/models/rife/rife-UHD/contextnet.bin new file mode 100644 index 0000000..311b5ed Binary files /dev/null and b/models/rife/rife-UHD/contextnet.bin differ diff --git a/models/rife/rife-UHD/contextnet.param b/models/rife/rife-UHD/contextnet.param new file mode 100644 index 0000000..a522d67 --- /dev/null +++ b/models/rife/rife-UHD/contextnet.param @@ -0,0 +1,70 @@ +7767517 +68 82 +Input input.1 0 1 input.1 +Input flow.1 0 1 flow.1 +UnaryOp flow.0 1 1 flow.1 flow.0 0=1 +Convolution Conv_0 1 1 input.1 45 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 45 47 0=32 +Split splitncnn_0 1 2 47 47_splitncnn_0 47_splitncnn_1 +Convolution Conv_2 1 1 47_splitncnn_1 48 0=32 1=3 3=2 4=1 6=9216 +Convolution Conv_3 1 1 47_splitncnn_0 49 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_4 1 1 49 51 0=32 +Convolution Conv_5 1 1 51 52 0=32 1=3 4=1 5=1 6=9216 +Split splitncnn_1 1 2 52 52_splitncnn_0 52_splitncnn_1 +Pooling ReduceMean_7 1 1 52_splitncnn_1 54 0=1 4=1 +InnerProduct Conv_8 1 1 54 57 0=16 2=512 9=2 -23310=1,1.143919e+00 +InnerProduct Conv_10 1 1 57 59 0=32 2=512 9=4 +BinaryOp Mul_12 2 1 52_splitncnn_0 59 60 0=2 +BinaryOp Add_13 2 1 60 48 61 +PReLU PRelu_14 1 1 61 63 0=32 +Split splitncnn_2 1 3 63 63_splitncnn_0 63_splitncnn_1 63_splitncnn_2 +Interp Resize_16 1 1 flow.0 73 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_18 1 1 73 75 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 75 75_splitncnn_0 75_splitncnn_1 +rife.Warp Warp_24 2 1 63_splitncnn_2 75_splitncnn_1 f1 +Convolution Conv_25 1 1 63_splitncnn_1 82 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_26 1 1 63_splitncnn_0 83 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_27 1 1 83 85 0=64 +Convolution Conv_28 1 1 85 86 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 86 86_splitncnn_0 86_splitncnn_1 +Pooling ReduceMean_30 1 1 86_splitncnn_1 88 0=1 4=1 +InnerProduct Conv_31 1 1 88 91 0=16 2=1024 9=2 -23310=1,3.006833e-01 +InnerProduct Conv_33 1 1 91 93 0=64 2=1024 9=4 +BinaryOp Mul_35 2 1 86_splitncnn_0 93 94 0=2 +BinaryOp Add_36 2 1 94 82 95 +PReLU PRelu_37 1 1 95 97 0=64 +Split splitncnn_5 1 3 97 97_splitncnn_0 97_splitncnn_1 97_splitncnn_2 +Interp Resize_39 1 1 75_splitncnn_0 107 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_41 1 1 107 109 0=2 1=1 2=5.000000e-01 +Split splitncnn_6 1 2 109 109_splitncnn_0 109_splitncnn_1 +rife.Warp Warp_47 2 1 97_splitncnn_2 109_splitncnn_1 f2 +Convolution Conv_48 1 1 97_splitncnn_1 116 0=128 1=3 3=2 4=1 6=73728 +Convolution Conv_49 1 1 97_splitncnn_0 117 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_50 1 1 117 119 0=128 +Convolution Conv_51 1 1 119 120 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 120 120_splitncnn_0 120_splitncnn_1 +Pooling ReduceMean_53 1 1 120_splitncnn_1 122 0=1 4=1 +InnerProduct Conv_54 1 1 122 125 0=16 2=2048 9=2 -23310=1,7.002444e-02 +InnerProduct Conv_56 1 1 125 127 0=128 2=2048 9=4 +BinaryOp Mul_58 2 1 120_splitncnn_0 127 128 0=2 +BinaryOp Add_59 2 1 128 116 129 +PReLU PRelu_60 1 1 129 131 0=128 +Split splitncnn_8 1 3 131 131_splitncnn_0 131_splitncnn_1 131_splitncnn_2 +Interp Resize_62 1 1 109_splitncnn_0 141 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_64 1 1 141 143 0=2 1=1 2=5.000000e-01 +Split splitncnn_9 1 2 143 143_splitncnn_0 143_splitncnn_1 +rife.Warp Warp_70 2 1 131_splitncnn_2 143_splitncnn_1 f3 +Convolution Conv_71 1 1 131_splitncnn_1 150 0=256 1=3 3=2 4=1 6=294912 +Convolution Conv_72 1 1 131_splitncnn_0 151 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_73 1 1 151 153 0=256 +Convolution Conv_74 1 1 153 154 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 154 154_splitncnn_0 154_splitncnn_1 +Pooling ReduceMean_76 1 1 154_splitncnn_1 156 0=1 4=1 +InnerProduct Conv_77 1 1 156 159 0=16 2=4096 9=2 -23310=1,6.568319e-02 +InnerProduct Conv_79 1 1 159 161 0=256 2=4096 9=4 +BinaryOp Mul_81 2 1 154_splitncnn_0 161 162 0=2 +BinaryOp Add_82 2 1 162 150 163 +PReLU PRelu_83 1 1 163 165 0=256 +Interp Resize_85 1 1 143_splitncnn_0 175 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_87 1 1 175 177 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_93 2 1 165 177 f4 diff --git a/models/rife/rife-UHD/flownet.bin b/models/rife/rife-UHD/flownet.bin new file mode 100644 index 0000000..53132da Binary files /dev/null and b/models/rife/rife-UHD/flownet.bin differ diff --git a/models/rife/rife-UHD/flownet.param b/models/rife/rife-UHD/flownet.param new file mode 100644 index 0000000..ac3b0c9 --- /dev/null +++ b/models/rife/rife-UHD/flownet.param @@ -0,0 +1,322 @@ +7767517 +320 386 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 454 0=2 1=5.000000e-01 2=5.000000e-01 +Split splitncnn_0 1 7 454 454_splitncnn_0 454_splitncnn_1 454_splitncnn_2 454_splitncnn_3 454_splitncnn_4 454_splitncnn_5 454_splitncnn_6 +Interp Resize_3 1 1 454_splitncnn_6 464 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_4 1 1 464 466 0=192 1=5 3=2 4=2 5=1 6=28800 +PReLU PRelu_6 1 1 466 468 0=192 +Split splitncnn_1 1 2 468 468_splitncnn_0 468_splitncnn_1 +Convolution Conv_7 1 1 468_splitncnn_1 470 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_9 1 1 470 472 0=192 +Convolution Conv_10 1 1 472 474 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_2 1 2 474 474_splitncnn_0 474_splitncnn_1 +Pooling ReduceMean_13 1 1 474_splitncnn_1 476 0=1 4=1 +InnerProduct Conv_14 1 1 476 479 0=16 2=3072 9=2 -23310=1,1.428942e-02 +InnerProduct Conv_16 1 1 479 481 0=192 2=3072 9=4 +BinaryOp Mul_18 2 1 474_splitncnn_0 481 482 0=2 +BinaryOp Add_19 2 1 482 468_splitncnn_0 483 +PReLU PRelu_20 1 1 483 485 0=192 +Split splitncnn_3 1 2 485 485_splitncnn_0 485_splitncnn_1 +Convolution Conv_21 1 1 485_splitncnn_1 487 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_23 1 1 487 489 0=192 +Convolution Conv_24 1 1 489 491 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_4 1 2 491 491_splitncnn_0 491_splitncnn_1 +Pooling ReduceMean_27 1 1 491_splitncnn_1 493 0=1 4=1 +InnerProduct Conv_28 1 1 493 496 0=16 2=3072 9=2 -23310=1,3.543398e-01 +InnerProduct Conv_30 1 1 496 498 0=192 2=3072 9=4 +BinaryOp Mul_32 2 1 491_splitncnn_0 498 499 0=2 +BinaryOp Add_33 2 1 499 485_splitncnn_0 500 +PReLU PRelu_34 1 1 500 502 0=192 +Split splitncnn_5 1 2 502 502_splitncnn_0 502_splitncnn_1 +Convolution Conv_35 1 1 502_splitncnn_1 504 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_37 1 1 504 506 0=192 +Convolution Conv_38 1 1 506 508 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_6 1 2 508 508_splitncnn_0 508_splitncnn_1 +Pooling ReduceMean_41 1 1 508_splitncnn_1 510 0=1 4=1 +InnerProduct Conv_42 1 1 510 513 0=16 2=3072 9=2 -23310=1,5.366787e-01 +InnerProduct Conv_44 1 1 513 515 0=192 2=3072 9=4 +BinaryOp Mul_46 2 1 508_splitncnn_0 515 516 0=2 +BinaryOp Add_47 2 1 516 502_splitncnn_0 517 +PReLU PRelu_48 1 1 517 519 0=192 +Split splitncnn_7 1 2 519 519_splitncnn_0 519_splitncnn_1 +Convolution Conv_49 1 1 519_splitncnn_1 521 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_51 1 1 521 523 0=192 +Convolution Conv_52 1 1 523 525 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_8 1 2 525 525_splitncnn_0 525_splitncnn_1 +Pooling ReduceMean_55 1 1 525_splitncnn_1 527 0=1 4=1 +InnerProduct Conv_56 1 1 527 530 0=16 2=3072 9=2 -23310=1,-4.889974e-03 +InnerProduct Conv_58 1 1 530 532 0=192 2=3072 9=4 +BinaryOp Mul_60 2 1 525_splitncnn_0 532 533 0=2 +BinaryOp Add_61 2 1 533 519_splitncnn_0 534 +PReLU PRelu_62 1 1 534 536 0=192 +Split splitncnn_9 1 2 536 536_splitncnn_0 536_splitncnn_1 +Convolution Conv_63 1 1 536_splitncnn_1 538 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_65 1 1 538 540 0=192 +Convolution Conv_66 1 1 540 542 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_10 1 2 542 542_splitncnn_0 542_splitncnn_1 +Pooling ReduceMean_69 1 1 542_splitncnn_1 544 0=1 4=1 +InnerProduct Conv_70 1 1 544 547 0=16 2=3072 9=2 -23310=1,-1.182169e-02 +InnerProduct Conv_72 1 1 547 549 0=192 2=3072 9=4 +BinaryOp Mul_74 2 1 542_splitncnn_0 549 550 0=2 +BinaryOp Add_75 2 1 550 536_splitncnn_0 551 +PReLU PRelu_76 1 1 551 553 0=192 +Split splitncnn_11 1 2 553 553_splitncnn_0 553_splitncnn_1 +Convolution Conv_77 1 1 553_splitncnn_1 555 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_79 1 1 555 557 0=192 +Convolution Conv_80 1 1 557 559 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_12 1 2 559 559_splitncnn_0 559_splitncnn_1 +Pooling ReduceMean_83 1 1 559_splitncnn_1 561 0=1 4=1 +InnerProduct Conv_84 1 1 561 564 0=16 2=3072 9=2 -23310=1,2.179182e-01 +InnerProduct Conv_86 1 1 564 566 0=192 2=3072 9=4 +BinaryOp Mul_88 2 1 559_splitncnn_0 566 567 0=2 +BinaryOp Add_89 2 1 567 553_splitncnn_0 568 +PReLU PRelu_90 1 1 568 570 0=192 +Convolution Conv_91 1 1 570 571 0=8 1=3 4=1 5=1 6=13824 +PixelShuffle DepthToSpace_92 1 1 571 572 0=2 +Interp Resize_94 1 1 572 582 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_13 1 6 582 582_splitncnn_0 582_splitncnn_1 582_splitncnn_2 582_splitncnn_3 582_splitncnn_4 582_splitncnn_5 +Crop Slice_99 1 1 454_splitncnn_5 587 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_105 2 1 587 582_splitncnn_5 593 +Crop Slice_110 1 1 454_splitncnn_4 598 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_111 1 1 582_splitncnn_4 599 0=1 +rife.Warp Warp_117 2 1 598 599 605 +Concat Concat_118 3 1 593 605 582_splitncnn_3 606 +Interp Resize_120 1 1 606 616 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_121 1 1 616 618 0=128 1=5 3=2 4=2 5=1 6=25600 +PReLU PRelu_123 1 1 618 620 0=128 +Split splitncnn_14 1 2 620 620_splitncnn_0 620_splitncnn_1 +Convolution Conv_124 1 1 620_splitncnn_1 622 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_126 1 1 622 624 0=128 +Convolution Conv_127 1 1 624 626 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_15 1 2 626 626_splitncnn_0 626_splitncnn_1 +Pooling ReduceMean_130 1 1 626_splitncnn_1 628 0=1 4=1 +InnerProduct Conv_131 1 1 628 631 0=16 2=2048 9=2 -23310=1,-3.599843e-03 +InnerProduct Conv_133 1 1 631 633 0=128 2=2048 9=4 +BinaryOp Mul_135 2 1 626_splitncnn_0 633 634 0=2 +BinaryOp Add_136 2 1 634 620_splitncnn_0 635 +PReLU PRelu_137 1 1 635 637 0=128 +Split splitncnn_16 1 2 637 637_splitncnn_0 637_splitncnn_1 +Convolution Conv_138 1 1 637_splitncnn_1 639 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_140 1 1 639 641 0=128 +Convolution Conv_141 1 1 641 643 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_17 1 2 643 643_splitncnn_0 643_splitncnn_1 +Pooling ReduceMean_144 1 1 643_splitncnn_1 645 0=1 4=1 +InnerProduct Conv_145 1 1 645 648 0=16 2=2048 9=2 -23310=1,2.117399e-01 +InnerProduct Conv_147 1 1 648 650 0=128 2=2048 9=4 +BinaryOp Mul_149 2 1 643_splitncnn_0 650 651 0=2 +BinaryOp Add_150 2 1 651 637_splitncnn_0 652 +PReLU PRelu_151 1 1 652 654 0=128 +Split splitncnn_18 1 2 654 654_splitncnn_0 654_splitncnn_1 +Convolution Conv_152 1 1 654_splitncnn_1 656 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_154 1 1 656 658 0=128 +Convolution Conv_155 1 1 658 660 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_19 1 2 660 660_splitncnn_0 660_splitncnn_1 +Pooling ReduceMean_158 1 1 660_splitncnn_1 662 0=1 4=1 +InnerProduct Conv_159 1 1 662 665 0=16 2=2048 9=2 -23310=1,2.712289e-01 +InnerProduct Conv_161 1 1 665 667 0=128 2=2048 9=4 +BinaryOp Mul_163 2 1 660_splitncnn_0 667 668 0=2 +BinaryOp Add_164 2 1 668 654_splitncnn_0 669 +PReLU PRelu_165 1 1 669 671 0=128 +Split splitncnn_20 1 2 671 671_splitncnn_0 671_splitncnn_1 +Convolution Conv_166 1 1 671_splitncnn_1 673 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_168 1 1 673 675 0=128 +Convolution Conv_169 1 1 675 677 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_21 1 2 677 677_splitncnn_0 677_splitncnn_1 +Pooling ReduceMean_172 1 1 677_splitncnn_1 679 0=1 4=1 +InnerProduct Conv_173 1 1 679 682 0=16 2=2048 9=2 -23310=1,8.141350e-02 +InnerProduct Conv_175 1 1 682 684 0=128 2=2048 9=4 +BinaryOp Mul_177 2 1 677_splitncnn_0 684 685 0=2 +BinaryOp Add_178 2 1 685 671_splitncnn_0 686 +PReLU PRelu_179 1 1 686 688 0=128 +Split splitncnn_22 1 2 688 688_splitncnn_0 688_splitncnn_1 +Convolution Conv_180 1 1 688_splitncnn_1 690 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_182 1 1 690 692 0=128 +Convolution Conv_183 1 1 692 694 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_23 1 2 694 694_splitncnn_0 694_splitncnn_1 +Pooling ReduceMean_186 1 1 694_splitncnn_1 696 0=1 4=1 +InnerProduct Conv_187 1 1 696 699 0=16 2=2048 9=2 -23310=1,4.956326e-02 +InnerProduct Conv_189 1 1 699 701 0=128 2=2048 9=4 +BinaryOp Mul_191 2 1 694_splitncnn_0 701 702 0=2 +BinaryOp Add_192 2 1 702 688_splitncnn_0 703 +PReLU PRelu_193 1 1 703 705 0=128 +Split splitncnn_24 1 2 705 705_splitncnn_0 705_splitncnn_1 +Convolution Conv_194 1 1 705_splitncnn_1 707 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_196 1 1 707 709 0=128 +Convolution Conv_197 1 1 709 711 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_25 1 2 711 711_splitncnn_0 711_splitncnn_1 +Pooling ReduceMean_200 1 1 711_splitncnn_1 713 0=1 4=1 +InnerProduct Conv_201 1 1 713 716 0=16 2=2048 9=2 -23310=1,1.553750e-01 +InnerProduct Conv_203 1 1 716 718 0=128 2=2048 9=4 +BinaryOp Mul_205 2 1 711_splitncnn_0 718 719 0=2 +BinaryOp Add_206 2 1 719 705_splitncnn_0 720 +PReLU PRelu_207 1 1 720 722 0=128 +Convolution Conv_208 1 1 722 723 0=8 1=3 4=1 5=1 6=9216 +PixelShuffle DepthToSpace_209 1 1 723 724 0=2 +Interp Resize_211 1 1 724 734 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_26 1 3 734 734_splitncnn_0 734_splitncnn_1 734_splitncnn_2 +BinaryOp Add_212 2 1 582_splitncnn_2 734_splitncnn_2 735 +Split splitncnn_27 1 3 735 735_splitncnn_0 735_splitncnn_1 735_splitncnn_2 +Crop Slice_217 1 1 454_splitncnn_3 740 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_223 2 1 740 735_splitncnn_2 746 +Crop Slice_228 1 1 454_splitncnn_2 751 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_229 1 1 735_splitncnn_1 752 0=1 +rife.Warp Warp_235 2 1 751 752 758 +Concat Concat_236 3 1 746 758 735_splitncnn_0 759 +Interp Resize_238 1 1 759 769 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_239 1 1 769 771 0=96 1=5 3=2 4=2 5=1 6=19200 +PReLU PRelu_241 1 1 771 773 0=96 +Split splitncnn_28 1 2 773 773_splitncnn_0 773_splitncnn_1 +Convolution Conv_242 1 1 773_splitncnn_1 775 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_244 1 1 775 777 0=96 +Convolution Conv_245 1 1 777 779 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_29 1 2 779 779_splitncnn_0 779_splitncnn_1 +Pooling ReduceMean_248 1 1 779_splitncnn_1 781 0=1 4=1 +InnerProduct Conv_249 1 1 781 784 0=16 2=1536 9=2 -23310=1,1.670981e-03 +InnerProduct Conv_251 1 1 784 786 0=96 2=1536 9=4 +BinaryOp Mul_253 2 1 779_splitncnn_0 786 787 0=2 +BinaryOp Add_254 2 1 787 773_splitncnn_0 788 +PReLU PRelu_255 1 1 788 790 0=96 +Split splitncnn_30 1 2 790 790_splitncnn_0 790_splitncnn_1 +Convolution Conv_256 1 1 790_splitncnn_1 792 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_258 1 1 792 794 0=96 +Convolution Conv_259 1 1 794 796 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_31 1 2 796 796_splitncnn_0 796_splitncnn_1 +Pooling ReduceMean_262 1 1 796_splitncnn_1 798 0=1 4=1 +InnerProduct Conv_263 1 1 798 801 0=16 2=1536 9=2 -23310=1,3.868800e-01 +InnerProduct Conv_265 1 1 801 803 0=96 2=1536 9=4 +BinaryOp Mul_267 2 1 796_splitncnn_0 803 804 0=2 +BinaryOp Add_268 2 1 804 790_splitncnn_0 805 +PReLU PRelu_269 1 1 805 807 0=96 +Split splitncnn_32 1 2 807 807_splitncnn_0 807_splitncnn_1 +Convolution Conv_270 1 1 807_splitncnn_1 809 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_272 1 1 809 811 0=96 +Convolution Conv_273 1 1 811 813 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_33 1 2 813 813_splitncnn_0 813_splitncnn_1 +Pooling ReduceMean_276 1 1 813_splitncnn_1 815 0=1 4=1 +InnerProduct Conv_277 1 1 815 818 0=16 2=1536 9=2 -23310=1,3.475277e-01 +InnerProduct Conv_279 1 1 818 820 0=96 2=1536 9=4 +BinaryOp Mul_281 2 1 813_splitncnn_0 820 821 0=2 +BinaryOp Add_282 2 1 821 807_splitncnn_0 822 +PReLU PRelu_283 1 1 822 824 0=96 +Split splitncnn_34 1 2 824 824_splitncnn_0 824_splitncnn_1 +Convolution Conv_284 1 1 824_splitncnn_1 826 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_286 1 1 826 828 0=96 +Convolution Conv_287 1 1 828 830 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_35 1 2 830 830_splitncnn_0 830_splitncnn_1 +Pooling ReduceMean_290 1 1 830_splitncnn_1 832 0=1 4=1 +InnerProduct Conv_291 1 1 832 835 0=16 2=1536 9=2 -23310=1,7.044167e-02 +InnerProduct Conv_293 1 1 835 837 0=96 2=1536 9=4 +BinaryOp Mul_295 2 1 830_splitncnn_0 837 838 0=2 +BinaryOp Add_296 2 1 838 824_splitncnn_0 839 +PReLU PRelu_297 1 1 839 841 0=96 +Split splitncnn_36 1 2 841 841_splitncnn_0 841_splitncnn_1 +Convolution Conv_298 1 1 841_splitncnn_1 843 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_300 1 1 843 845 0=96 +Convolution Conv_301 1 1 845 847 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_37 1 2 847 847_splitncnn_0 847_splitncnn_1 +Pooling ReduceMean_304 1 1 847_splitncnn_1 849 0=1 4=1 +InnerProduct Conv_305 1 1 849 852 0=16 2=1536 9=2 -23310=1,1.834324e-01 +InnerProduct Conv_307 1 1 852 854 0=96 2=1536 9=4 +BinaryOp Mul_309 2 1 847_splitncnn_0 854 855 0=2 +BinaryOp Add_310 2 1 855 841_splitncnn_0 856 +PReLU PRelu_311 1 1 856 858 0=96 +Split splitncnn_38 1 2 858 858_splitncnn_0 858_splitncnn_1 +Convolution Conv_312 1 1 858_splitncnn_1 860 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_314 1 1 860 862 0=96 +Convolution Conv_315 1 1 862 864 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_39 1 2 864 864_splitncnn_0 864_splitncnn_1 +Pooling ReduceMean_318 1 1 864_splitncnn_1 866 0=1 4=1 +InnerProduct Conv_319 1 1 866 869 0=16 2=1536 9=2 -23310=1,3.572731e-01 +InnerProduct Conv_321 1 1 869 871 0=96 2=1536 9=4 +BinaryOp Mul_323 2 1 864_splitncnn_0 871 872 0=2 +BinaryOp Add_324 2 1 872 858_splitncnn_0 873 +PReLU PRelu_325 1 1 873 875 0=96 +Convolution Conv_326 1 1 875 876 0=8 1=3 4=1 5=1 6=6912 +PixelShuffle DepthToSpace_327 1 1 876 877 0=2 +Interp Resize_329 1 1 877 887 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_40 1 2 887 887_splitncnn_0 887_splitncnn_1 +BinaryOp Add_330 2 1 582_splitncnn_1 734_splitncnn_1 888 +BinaryOp Add_331 2 1 888 887_splitncnn_1 889 +Split splitncnn_41 1 3 889 889_splitncnn_0 889_splitncnn_1 889_splitncnn_2 +Crop Slice_336 1 1 454_splitncnn_1 894 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_342 2 1 894 889_splitncnn_2 900 +Crop Slice_347 1 1 454_splitncnn_0 905 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_348 1 1 889_splitncnn_1 906 0=1 +rife.Warp Warp_354 2 1 905 906 912 +Concat Concat_355 3 1 900 912 889_splitncnn_0 913 +Convolution Conv_356 1 1 913 915 0=48 1=5 3=2 4=2 5=1 6=9600 +PReLU PRelu_358 1 1 915 917 0=48 +Split splitncnn_42 1 2 917 917_splitncnn_0 917_splitncnn_1 +Convolution Conv_359 1 1 917_splitncnn_1 919 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_361 1 1 919 921 0=48 +Convolution Conv_362 1 1 921 923 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_43 1 2 923 923_splitncnn_0 923_splitncnn_1 +Pooling ReduceMean_365 1 1 923_splitncnn_1 925 0=1 4=1 +InnerProduct Conv_366 1 1 925 928 0=16 2=768 9=2 -23310=1,2.075541e-02 +InnerProduct Conv_368 1 1 928 930 0=48 2=768 9=4 +BinaryOp Mul_370 2 1 923_splitncnn_0 930 931 0=2 +BinaryOp Add_371 2 1 931 917_splitncnn_0 932 +PReLU PRelu_372 1 1 932 934 0=48 +Split splitncnn_44 1 2 934 934_splitncnn_0 934_splitncnn_1 +Convolution Conv_373 1 1 934_splitncnn_1 936 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_375 1 1 936 938 0=48 +Convolution Conv_376 1 1 938 940 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_45 1 2 940 940_splitncnn_0 940_splitncnn_1 +Pooling ReduceMean_379 1 1 940_splitncnn_1 942 0=1 4=1 +InnerProduct Conv_380 1 1 942 945 0=16 2=768 9=2 -23310=1,7.201483e-01 +InnerProduct Conv_382 1 1 945 947 0=48 2=768 9=4 +BinaryOp Mul_384 2 1 940_splitncnn_0 947 948 0=2 +BinaryOp Add_385 2 1 948 934_splitncnn_0 949 +PReLU PRelu_386 1 1 949 951 0=48 +Split splitncnn_46 1 2 951 951_splitncnn_0 951_splitncnn_1 +Convolution Conv_387 1 1 951_splitncnn_1 953 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_389 1 1 953 955 0=48 +Convolution Conv_390 1 1 955 957 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_47 1 2 957 957_splitncnn_0 957_splitncnn_1 +Pooling ReduceMean_393 1 1 957_splitncnn_1 959 0=1 4=1 +InnerProduct Conv_394 1 1 959 962 0=16 2=768 9=2 -23310=1,2.671039e-01 +InnerProduct Conv_396 1 1 962 964 0=48 2=768 9=4 +BinaryOp Mul_398 2 1 957_splitncnn_0 964 965 0=2 +BinaryOp Add_399 2 1 965 951_splitncnn_0 966 +PReLU PRelu_400 1 1 966 968 0=48 +Split splitncnn_48 1 2 968 968_splitncnn_0 968_splitncnn_1 +Convolution Conv_401 1 1 968_splitncnn_1 970 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_403 1 1 970 972 0=48 +Convolution Conv_404 1 1 972 974 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_49 1 2 974 974_splitncnn_0 974_splitncnn_1 +Pooling ReduceMean_407 1 1 974_splitncnn_1 976 0=1 4=1 +InnerProduct Conv_408 1 1 976 979 0=16 2=768 9=2 -23310=1,1.908224e-01 +InnerProduct Conv_410 1 1 979 981 0=48 2=768 9=4 +BinaryOp Mul_412 2 1 974_splitncnn_0 981 982 0=2 +BinaryOp Add_413 2 1 982 968_splitncnn_0 983 +PReLU PRelu_414 1 1 983 985 0=48 +Split splitncnn_50 1 2 985 985_splitncnn_0 985_splitncnn_1 +Convolution Conv_415 1 1 985_splitncnn_1 987 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_417 1 1 987 989 0=48 +Convolution Conv_418 1 1 989 991 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_51 1 2 991 991_splitncnn_0 991_splitncnn_1 +Pooling ReduceMean_421 1 1 991_splitncnn_1 993 0=1 4=1 +InnerProduct Conv_422 1 1 993 996 0=16 2=768 9=2 -23310=1,6.525763e-01 +InnerProduct Conv_424 1 1 996 998 0=48 2=768 9=4 +BinaryOp Mul_426 2 1 991_splitncnn_0 998 999 0=2 +BinaryOp Add_427 2 1 999 985_splitncnn_0 1000 +PReLU PRelu_428 1 1 1000 1002 0=48 +Split splitncnn_52 1 2 1002 1002_splitncnn_0 1002_splitncnn_1 +Convolution Conv_429 1 1 1002_splitncnn_1 1004 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_431 1 1 1004 1006 0=48 +Convolution Conv_432 1 1 1006 1008 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_53 1 2 1008 1008_splitncnn_0 1008_splitncnn_1 +Pooling ReduceMean_435 1 1 1008_splitncnn_1 1010 0=1 4=1 +InnerProduct Conv_436 1 1 1010 1013 0=16 2=768 9=2 -23310=1,5.485489e-01 +InnerProduct Conv_438 1 1 1013 1015 0=48 2=768 9=4 +BinaryOp Mul_440 2 1 1008_splitncnn_0 1015 1016 0=2 +BinaryOp Add_441 2 1 1016 1002_splitncnn_0 1017 +PReLU PRelu_442 1 1 1017 1019 0=48 +Convolution Conv_443 1 1 1019 1020 0=8 1=3 4=1 5=1 6=3456 +PixelShuffle DepthToSpace_444 1 1 1020 1021 0=2 +BinaryOp Add_445 2 1 582_splitncnn_0 734_splitncnn_0 1022 +BinaryOp Add_446 2 1 1022 887_splitncnn_0 1023 +BinaryOp Add_447 2 1 1023 1021 flow diff --git a/models/rife/rife-UHD/fusionnet.bin b/models/rife/rife-UHD/fusionnet.bin new file mode 100644 index 0000000..2c4c030 Binary files /dev/null and b/models/rife/rife-UHD/fusionnet.bin differ diff --git a/models/rife/rife-UHD/fusionnet.param b/models/rife/rife-UHD/fusionnet.param new file mode 100644 index 0000000..4799ffc --- /dev/null +++ b/models/rife/rife-UHD/fusionnet.param @@ -0,0 +1,105 @@ +7767517 +103 120 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 77 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 77 79 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 79 79_splitncnn_0 79_splitncnn_1 79_splitncnn_2 +rife.Warp Warp_9 2 1 img0 79_splitncnn_2 85 +Split splitncnn_1 1 2 85 85_splitncnn_0 85_splitncnn_1 +UnaryOp Neg_10 1 1 79_splitncnn_1 86 0=1 +rife.Warp Warp_16 2 1 img1 86 92 +Split splitncnn_2 1 2 92 92_splitncnn_0 92_splitncnn_1 +Concat Concat_17 3 1 85_splitncnn_1 92_splitncnn_1 79_splitncnn_0 93 +Convolution Conv_18 1 1 93 94 0=32 1=3 3=2 4=1 5=1 6=2304 +PReLU PRelu_19 1 1 94 96 0=32 +Split splitncnn_3 1 2 96 96_splitncnn_0 96_splitncnn_1 +Convolution Conv_20 1 1 96_splitncnn_1 97 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_21 1 1 96_splitncnn_0 98 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_22 1 1 98 100 0=64 +Convolution Conv_23 1 1 100 101 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 101 101_splitncnn_0 101_splitncnn_1 +Pooling ReduceMean_25 1 1 101_splitncnn_1 103 0=1 4=1 +InnerProduct Conv_26 1 1 103 106 0=16 2=1024 9=2 -23310=1,1.541520e-01 +InnerProduct Conv_28 1 1 106 108 0=64 2=1024 9=4 +BinaryOp Mul_30 2 1 101_splitncnn_0 108 109 0=2 +BinaryOp Add_31 2 1 109 97 110 +PReLU PRelu_32 1 1 110 112 0=64 +Split splitncnn_5 1 2 112 112_splitncnn_0 112_splitncnn_1 +Concat Concat_33 3 1 112_splitncnn_1 3 7 113 +Split splitncnn_6 1 2 113 113_splitncnn_0 113_splitncnn_1 +Convolution Conv_34 1 1 113_splitncnn_1 114 0=128 1=3 3=2 4=1 6=147456 +Convolution Conv_35 1 1 113_splitncnn_0 115 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_36 1 1 115 117 0=128 +Convolution Conv_37 1 1 117 118 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 118 118_splitncnn_0 118_splitncnn_1 +Pooling ReduceMean_39 1 1 118_splitncnn_1 120 0=1 4=1 +InnerProduct Conv_40 1 1 120 123 0=16 2=2048 9=2 -23310=1,4.722085e-02 +InnerProduct Conv_42 1 1 123 125 0=128 2=2048 9=4 +BinaryOp Mul_44 2 1 118_splitncnn_0 125 126 0=2 +BinaryOp Add_45 2 1 126 114 127 +PReLU PRelu_46 1 1 127 129 0=128 +Split splitncnn_8 1 2 129 129_splitncnn_0 129_splitncnn_1 +Concat Concat_47 3 1 129_splitncnn_1 4 8 130 +Split splitncnn_9 1 2 130 130_splitncnn_0 130_splitncnn_1 +Convolution Conv_48 1 1 130_splitncnn_1 131 0=256 1=3 3=2 4=1 6=589824 +Convolution Conv_49 1 1 130_splitncnn_0 132 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_50 1 1 132 134 0=256 +Convolution Conv_51 1 1 134 135 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 135 135_splitncnn_0 135_splitncnn_1 +Pooling ReduceMean_53 1 1 135_splitncnn_1 137 0=1 4=1 +InnerProduct Conv_54 1 1 137 140 0=16 2=4096 9=2 -23310=1,8.144739e-02 +InnerProduct Conv_56 1 1 140 142 0=256 2=4096 9=4 +BinaryOp Mul_58 2 1 135_splitncnn_0 142 143 0=2 +BinaryOp Add_59 2 1 143 131 144 +PReLU PRelu_60 1 1 144 146 0=256 +Split splitncnn_11 1 2 146 146_splitncnn_0 146_splitncnn_1 +Concat Concat_61 3 1 146_splitncnn_1 5 9 147 +Split splitncnn_12 1 2 147 147_splitncnn_0 147_splitncnn_1 +Convolution Conv_62 1 1 147_splitncnn_1 148 0=512 1=3 3=2 4=1 6=2359296 +Convolution Conv_63 1 1 147_splitncnn_0 149 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_64 1 1 149 151 0=512 +Convolution Conv_65 1 1 151 152 0=512 1=3 4=1 5=1 6=2359296 +Split splitncnn_13 1 2 152 152_splitncnn_0 152_splitncnn_1 +Pooling ReduceMean_67 1 1 152_splitncnn_1 154 0=1 4=1 +InnerProduct Conv_68 1 1 154 157 0=16 2=8192 9=2 -23310=1,7.700763e-02 +InnerProduct Conv_70 1 1 157 159 0=512 2=8192 9=4 +BinaryOp Mul_72 2 1 152_splitncnn_0 159 160 0=2 +BinaryOp Add_73 2 1 160 148 161 +PReLU PRelu_74 1 1 161 163 0=512 +Concat Concat_75 3 1 163 6 10 164 +Deconvolution ConvTranspose_76 1 1 164 165 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_77 1 1 165 167 0=256 +Concat Concat_78 2 1 167 146_splitncnn_0 168 +Deconvolution ConvTranspose_79 1 1 168 169 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_80 1 1 169 171 0=128 +Concat Concat_81 2 1 171 129_splitncnn_0 172 +Deconvolution ConvTranspose_82 1 1 172 173 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_83 1 1 173 175 0=64 +Concat Concat_84 2 1 175 112_splitncnn_0 176 +Deconvolution ConvTranspose_85 1 1 176 177 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_86 1 1 177 179 0=32 +Convolution Conv_87 1 1 179 180 0=16 1=3 4=1 5=1 6=4608 +PixelShuffle DepthToSpace_88 1 1 180 181 0=2 +Sigmoid Sigmoid_89 1 1 181 182 +Split splitncnn_14 1 2 182 182_splitncnn_0 182_splitncnn_1 +Crop Slice_94 1 1 182_splitncnn_1 187 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_96 1 1 187 189 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_98 1 1 189 191 0=1 1=1 2=1.000000e+00 +Crop Slice_103 1 1 182_splitncnn_0 196 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_15 1 2 196 196_splitncnn_0 196_splitncnn_1 +BinaryOp Mul_104 2 1 85_splitncnn_0 196_splitncnn_1 197 0=2 +BinaryOp Sub_106 1 1 196_splitncnn_0 199 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_107 2 1 92_splitncnn_0 199 200 0=2 +BinaryOp Add_108 2 1 197 200 201 +BinaryOp Add_109 2 1 201 191 202 +Clip Clip_110 1 1 202 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-anime/contextnet.bin b/models/rife/rife-anime/contextnet.bin new file mode 100644 index 0000000..e6bd19e Binary files /dev/null and b/models/rife/rife-anime/contextnet.bin differ diff --git a/models/rife/rife-anime/contextnet.param b/models/rife/rife-anime/contextnet.param new file mode 100644 index 0000000..a522d67 --- /dev/null +++ b/models/rife/rife-anime/contextnet.param @@ -0,0 +1,70 @@ +7767517 +68 82 +Input input.1 0 1 input.1 +Input flow.1 0 1 flow.1 +UnaryOp flow.0 1 1 flow.1 flow.0 0=1 +Convolution Conv_0 1 1 input.1 45 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 45 47 0=32 +Split splitncnn_0 1 2 47 47_splitncnn_0 47_splitncnn_1 +Convolution Conv_2 1 1 47_splitncnn_1 48 0=32 1=3 3=2 4=1 6=9216 +Convolution Conv_3 1 1 47_splitncnn_0 49 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_4 1 1 49 51 0=32 +Convolution Conv_5 1 1 51 52 0=32 1=3 4=1 5=1 6=9216 +Split splitncnn_1 1 2 52 52_splitncnn_0 52_splitncnn_1 +Pooling ReduceMean_7 1 1 52_splitncnn_1 54 0=1 4=1 +InnerProduct Conv_8 1 1 54 57 0=16 2=512 9=2 -23310=1,1.143919e+00 +InnerProduct Conv_10 1 1 57 59 0=32 2=512 9=4 +BinaryOp Mul_12 2 1 52_splitncnn_0 59 60 0=2 +BinaryOp Add_13 2 1 60 48 61 +PReLU PRelu_14 1 1 61 63 0=32 +Split splitncnn_2 1 3 63 63_splitncnn_0 63_splitncnn_1 63_splitncnn_2 +Interp Resize_16 1 1 flow.0 73 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_18 1 1 73 75 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 75 75_splitncnn_0 75_splitncnn_1 +rife.Warp Warp_24 2 1 63_splitncnn_2 75_splitncnn_1 f1 +Convolution Conv_25 1 1 63_splitncnn_1 82 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_26 1 1 63_splitncnn_0 83 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_27 1 1 83 85 0=64 +Convolution Conv_28 1 1 85 86 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 86 86_splitncnn_0 86_splitncnn_1 +Pooling ReduceMean_30 1 1 86_splitncnn_1 88 0=1 4=1 +InnerProduct Conv_31 1 1 88 91 0=16 2=1024 9=2 -23310=1,3.006833e-01 +InnerProduct Conv_33 1 1 91 93 0=64 2=1024 9=4 +BinaryOp Mul_35 2 1 86_splitncnn_0 93 94 0=2 +BinaryOp Add_36 2 1 94 82 95 +PReLU PRelu_37 1 1 95 97 0=64 +Split splitncnn_5 1 3 97 97_splitncnn_0 97_splitncnn_1 97_splitncnn_2 +Interp Resize_39 1 1 75_splitncnn_0 107 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_41 1 1 107 109 0=2 1=1 2=5.000000e-01 +Split splitncnn_6 1 2 109 109_splitncnn_0 109_splitncnn_1 +rife.Warp Warp_47 2 1 97_splitncnn_2 109_splitncnn_1 f2 +Convolution Conv_48 1 1 97_splitncnn_1 116 0=128 1=3 3=2 4=1 6=73728 +Convolution Conv_49 1 1 97_splitncnn_0 117 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_50 1 1 117 119 0=128 +Convolution Conv_51 1 1 119 120 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 120 120_splitncnn_0 120_splitncnn_1 +Pooling ReduceMean_53 1 1 120_splitncnn_1 122 0=1 4=1 +InnerProduct Conv_54 1 1 122 125 0=16 2=2048 9=2 -23310=1,7.002444e-02 +InnerProduct Conv_56 1 1 125 127 0=128 2=2048 9=4 +BinaryOp Mul_58 2 1 120_splitncnn_0 127 128 0=2 +BinaryOp Add_59 2 1 128 116 129 +PReLU PRelu_60 1 1 129 131 0=128 +Split splitncnn_8 1 3 131 131_splitncnn_0 131_splitncnn_1 131_splitncnn_2 +Interp Resize_62 1 1 109_splitncnn_0 141 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_64 1 1 141 143 0=2 1=1 2=5.000000e-01 +Split splitncnn_9 1 2 143 143_splitncnn_0 143_splitncnn_1 +rife.Warp Warp_70 2 1 131_splitncnn_2 143_splitncnn_1 f3 +Convolution Conv_71 1 1 131_splitncnn_1 150 0=256 1=3 3=2 4=1 6=294912 +Convolution Conv_72 1 1 131_splitncnn_0 151 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_73 1 1 151 153 0=256 +Convolution Conv_74 1 1 153 154 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 154 154_splitncnn_0 154_splitncnn_1 +Pooling ReduceMean_76 1 1 154_splitncnn_1 156 0=1 4=1 +InnerProduct Conv_77 1 1 156 159 0=16 2=4096 9=2 -23310=1,6.568319e-02 +InnerProduct Conv_79 1 1 159 161 0=256 2=4096 9=4 +BinaryOp Mul_81 2 1 154_splitncnn_0 161 162 0=2 +BinaryOp Add_82 2 1 162 150 163 +PReLU PRelu_83 1 1 163 165 0=256 +Interp Resize_85 1 1 143_splitncnn_0 175 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_87 1 1 175 177 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_93 2 1 165 177 f4 diff --git a/models/rife/rife-anime/flownet.bin b/models/rife/rife-anime/flownet.bin new file mode 100644 index 0000000..dc2ce94 Binary files /dev/null and b/models/rife/rife-anime/flownet.bin differ diff --git a/models/rife/rife-anime/flownet.param b/models/rife/rife-anime/flownet.param new file mode 100644 index 0000000..ac3b0c9 --- /dev/null +++ b/models/rife/rife-anime/flownet.param @@ -0,0 +1,322 @@ +7767517 +320 386 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 454 0=2 1=5.000000e-01 2=5.000000e-01 +Split splitncnn_0 1 7 454 454_splitncnn_0 454_splitncnn_1 454_splitncnn_2 454_splitncnn_3 454_splitncnn_4 454_splitncnn_5 454_splitncnn_6 +Interp Resize_3 1 1 454_splitncnn_6 464 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_4 1 1 464 466 0=192 1=5 3=2 4=2 5=1 6=28800 +PReLU PRelu_6 1 1 466 468 0=192 +Split splitncnn_1 1 2 468 468_splitncnn_0 468_splitncnn_1 +Convolution Conv_7 1 1 468_splitncnn_1 470 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_9 1 1 470 472 0=192 +Convolution Conv_10 1 1 472 474 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_2 1 2 474 474_splitncnn_0 474_splitncnn_1 +Pooling ReduceMean_13 1 1 474_splitncnn_1 476 0=1 4=1 +InnerProduct Conv_14 1 1 476 479 0=16 2=3072 9=2 -23310=1,1.428942e-02 +InnerProduct Conv_16 1 1 479 481 0=192 2=3072 9=4 +BinaryOp Mul_18 2 1 474_splitncnn_0 481 482 0=2 +BinaryOp Add_19 2 1 482 468_splitncnn_0 483 +PReLU PRelu_20 1 1 483 485 0=192 +Split splitncnn_3 1 2 485 485_splitncnn_0 485_splitncnn_1 +Convolution Conv_21 1 1 485_splitncnn_1 487 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_23 1 1 487 489 0=192 +Convolution Conv_24 1 1 489 491 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_4 1 2 491 491_splitncnn_0 491_splitncnn_1 +Pooling ReduceMean_27 1 1 491_splitncnn_1 493 0=1 4=1 +InnerProduct Conv_28 1 1 493 496 0=16 2=3072 9=2 -23310=1,3.543398e-01 +InnerProduct Conv_30 1 1 496 498 0=192 2=3072 9=4 +BinaryOp Mul_32 2 1 491_splitncnn_0 498 499 0=2 +BinaryOp Add_33 2 1 499 485_splitncnn_0 500 +PReLU PRelu_34 1 1 500 502 0=192 +Split splitncnn_5 1 2 502 502_splitncnn_0 502_splitncnn_1 +Convolution Conv_35 1 1 502_splitncnn_1 504 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_37 1 1 504 506 0=192 +Convolution Conv_38 1 1 506 508 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_6 1 2 508 508_splitncnn_0 508_splitncnn_1 +Pooling ReduceMean_41 1 1 508_splitncnn_1 510 0=1 4=1 +InnerProduct Conv_42 1 1 510 513 0=16 2=3072 9=2 -23310=1,5.366787e-01 +InnerProduct Conv_44 1 1 513 515 0=192 2=3072 9=4 +BinaryOp Mul_46 2 1 508_splitncnn_0 515 516 0=2 +BinaryOp Add_47 2 1 516 502_splitncnn_0 517 +PReLU PRelu_48 1 1 517 519 0=192 +Split splitncnn_7 1 2 519 519_splitncnn_0 519_splitncnn_1 +Convolution Conv_49 1 1 519_splitncnn_1 521 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_51 1 1 521 523 0=192 +Convolution Conv_52 1 1 523 525 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_8 1 2 525 525_splitncnn_0 525_splitncnn_1 +Pooling ReduceMean_55 1 1 525_splitncnn_1 527 0=1 4=1 +InnerProduct Conv_56 1 1 527 530 0=16 2=3072 9=2 -23310=1,-4.889974e-03 +InnerProduct Conv_58 1 1 530 532 0=192 2=3072 9=4 +BinaryOp Mul_60 2 1 525_splitncnn_0 532 533 0=2 +BinaryOp Add_61 2 1 533 519_splitncnn_0 534 +PReLU PRelu_62 1 1 534 536 0=192 +Split splitncnn_9 1 2 536 536_splitncnn_0 536_splitncnn_1 +Convolution Conv_63 1 1 536_splitncnn_1 538 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_65 1 1 538 540 0=192 +Convolution Conv_66 1 1 540 542 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_10 1 2 542 542_splitncnn_0 542_splitncnn_1 +Pooling ReduceMean_69 1 1 542_splitncnn_1 544 0=1 4=1 +InnerProduct Conv_70 1 1 544 547 0=16 2=3072 9=2 -23310=1,-1.182169e-02 +InnerProduct Conv_72 1 1 547 549 0=192 2=3072 9=4 +BinaryOp Mul_74 2 1 542_splitncnn_0 549 550 0=2 +BinaryOp Add_75 2 1 550 536_splitncnn_0 551 +PReLU PRelu_76 1 1 551 553 0=192 +Split splitncnn_11 1 2 553 553_splitncnn_0 553_splitncnn_1 +Convolution Conv_77 1 1 553_splitncnn_1 555 0=192 1=5 4=2 5=1 6=921600 +PReLU PRelu_79 1 1 555 557 0=192 +Convolution Conv_80 1 1 557 559 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_12 1 2 559 559_splitncnn_0 559_splitncnn_1 +Pooling ReduceMean_83 1 1 559_splitncnn_1 561 0=1 4=1 +InnerProduct Conv_84 1 1 561 564 0=16 2=3072 9=2 -23310=1,2.179182e-01 +InnerProduct Conv_86 1 1 564 566 0=192 2=3072 9=4 +BinaryOp Mul_88 2 1 559_splitncnn_0 566 567 0=2 +BinaryOp Add_89 2 1 567 553_splitncnn_0 568 +PReLU PRelu_90 1 1 568 570 0=192 +Convolution Conv_91 1 1 570 571 0=8 1=3 4=1 5=1 6=13824 +PixelShuffle DepthToSpace_92 1 1 571 572 0=2 +Interp Resize_94 1 1 572 582 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_13 1 6 582 582_splitncnn_0 582_splitncnn_1 582_splitncnn_2 582_splitncnn_3 582_splitncnn_4 582_splitncnn_5 +Crop Slice_99 1 1 454_splitncnn_5 587 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_105 2 1 587 582_splitncnn_5 593 +Crop Slice_110 1 1 454_splitncnn_4 598 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_111 1 1 582_splitncnn_4 599 0=1 +rife.Warp Warp_117 2 1 598 599 605 +Concat Concat_118 3 1 593 605 582_splitncnn_3 606 +Interp Resize_120 1 1 606 616 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_121 1 1 616 618 0=128 1=5 3=2 4=2 5=1 6=25600 +PReLU PRelu_123 1 1 618 620 0=128 +Split splitncnn_14 1 2 620 620_splitncnn_0 620_splitncnn_1 +Convolution Conv_124 1 1 620_splitncnn_1 622 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_126 1 1 622 624 0=128 +Convolution Conv_127 1 1 624 626 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_15 1 2 626 626_splitncnn_0 626_splitncnn_1 +Pooling ReduceMean_130 1 1 626_splitncnn_1 628 0=1 4=1 +InnerProduct Conv_131 1 1 628 631 0=16 2=2048 9=2 -23310=1,-3.599843e-03 +InnerProduct Conv_133 1 1 631 633 0=128 2=2048 9=4 +BinaryOp Mul_135 2 1 626_splitncnn_0 633 634 0=2 +BinaryOp Add_136 2 1 634 620_splitncnn_0 635 +PReLU PRelu_137 1 1 635 637 0=128 +Split splitncnn_16 1 2 637 637_splitncnn_0 637_splitncnn_1 +Convolution Conv_138 1 1 637_splitncnn_1 639 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_140 1 1 639 641 0=128 +Convolution Conv_141 1 1 641 643 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_17 1 2 643 643_splitncnn_0 643_splitncnn_1 +Pooling ReduceMean_144 1 1 643_splitncnn_1 645 0=1 4=1 +InnerProduct Conv_145 1 1 645 648 0=16 2=2048 9=2 -23310=1,2.117399e-01 +InnerProduct Conv_147 1 1 648 650 0=128 2=2048 9=4 +BinaryOp Mul_149 2 1 643_splitncnn_0 650 651 0=2 +BinaryOp Add_150 2 1 651 637_splitncnn_0 652 +PReLU PRelu_151 1 1 652 654 0=128 +Split splitncnn_18 1 2 654 654_splitncnn_0 654_splitncnn_1 +Convolution Conv_152 1 1 654_splitncnn_1 656 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_154 1 1 656 658 0=128 +Convolution Conv_155 1 1 658 660 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_19 1 2 660 660_splitncnn_0 660_splitncnn_1 +Pooling ReduceMean_158 1 1 660_splitncnn_1 662 0=1 4=1 +InnerProduct Conv_159 1 1 662 665 0=16 2=2048 9=2 -23310=1,2.712289e-01 +InnerProduct Conv_161 1 1 665 667 0=128 2=2048 9=4 +BinaryOp Mul_163 2 1 660_splitncnn_0 667 668 0=2 +BinaryOp Add_164 2 1 668 654_splitncnn_0 669 +PReLU PRelu_165 1 1 669 671 0=128 +Split splitncnn_20 1 2 671 671_splitncnn_0 671_splitncnn_1 +Convolution Conv_166 1 1 671_splitncnn_1 673 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_168 1 1 673 675 0=128 +Convolution Conv_169 1 1 675 677 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_21 1 2 677 677_splitncnn_0 677_splitncnn_1 +Pooling ReduceMean_172 1 1 677_splitncnn_1 679 0=1 4=1 +InnerProduct Conv_173 1 1 679 682 0=16 2=2048 9=2 -23310=1,8.141350e-02 +InnerProduct Conv_175 1 1 682 684 0=128 2=2048 9=4 +BinaryOp Mul_177 2 1 677_splitncnn_0 684 685 0=2 +BinaryOp Add_178 2 1 685 671_splitncnn_0 686 +PReLU PRelu_179 1 1 686 688 0=128 +Split splitncnn_22 1 2 688 688_splitncnn_0 688_splitncnn_1 +Convolution Conv_180 1 1 688_splitncnn_1 690 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_182 1 1 690 692 0=128 +Convolution Conv_183 1 1 692 694 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_23 1 2 694 694_splitncnn_0 694_splitncnn_1 +Pooling ReduceMean_186 1 1 694_splitncnn_1 696 0=1 4=1 +InnerProduct Conv_187 1 1 696 699 0=16 2=2048 9=2 -23310=1,4.956326e-02 +InnerProduct Conv_189 1 1 699 701 0=128 2=2048 9=4 +BinaryOp Mul_191 2 1 694_splitncnn_0 701 702 0=2 +BinaryOp Add_192 2 1 702 688_splitncnn_0 703 +PReLU PRelu_193 1 1 703 705 0=128 +Split splitncnn_24 1 2 705 705_splitncnn_0 705_splitncnn_1 +Convolution Conv_194 1 1 705_splitncnn_1 707 0=128 1=5 4=2 5=1 6=409600 +PReLU PRelu_196 1 1 707 709 0=128 +Convolution Conv_197 1 1 709 711 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_25 1 2 711 711_splitncnn_0 711_splitncnn_1 +Pooling ReduceMean_200 1 1 711_splitncnn_1 713 0=1 4=1 +InnerProduct Conv_201 1 1 713 716 0=16 2=2048 9=2 -23310=1,1.553750e-01 +InnerProduct Conv_203 1 1 716 718 0=128 2=2048 9=4 +BinaryOp Mul_205 2 1 711_splitncnn_0 718 719 0=2 +BinaryOp Add_206 2 1 719 705_splitncnn_0 720 +PReLU PRelu_207 1 1 720 722 0=128 +Convolution Conv_208 1 1 722 723 0=8 1=3 4=1 5=1 6=9216 +PixelShuffle DepthToSpace_209 1 1 723 724 0=2 +Interp Resize_211 1 1 724 734 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_26 1 3 734 734_splitncnn_0 734_splitncnn_1 734_splitncnn_2 +BinaryOp Add_212 2 1 582_splitncnn_2 734_splitncnn_2 735 +Split splitncnn_27 1 3 735 735_splitncnn_0 735_splitncnn_1 735_splitncnn_2 +Crop Slice_217 1 1 454_splitncnn_3 740 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_223 2 1 740 735_splitncnn_2 746 +Crop Slice_228 1 1 454_splitncnn_2 751 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_229 1 1 735_splitncnn_1 752 0=1 +rife.Warp Warp_235 2 1 751 752 758 +Concat Concat_236 3 1 746 758 735_splitncnn_0 759 +Interp Resize_238 1 1 759 769 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_239 1 1 769 771 0=96 1=5 3=2 4=2 5=1 6=19200 +PReLU PRelu_241 1 1 771 773 0=96 +Split splitncnn_28 1 2 773 773_splitncnn_0 773_splitncnn_1 +Convolution Conv_242 1 1 773_splitncnn_1 775 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_244 1 1 775 777 0=96 +Convolution Conv_245 1 1 777 779 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_29 1 2 779 779_splitncnn_0 779_splitncnn_1 +Pooling ReduceMean_248 1 1 779_splitncnn_1 781 0=1 4=1 +InnerProduct Conv_249 1 1 781 784 0=16 2=1536 9=2 -23310=1,1.670981e-03 +InnerProduct Conv_251 1 1 784 786 0=96 2=1536 9=4 +BinaryOp Mul_253 2 1 779_splitncnn_0 786 787 0=2 +BinaryOp Add_254 2 1 787 773_splitncnn_0 788 +PReLU PRelu_255 1 1 788 790 0=96 +Split splitncnn_30 1 2 790 790_splitncnn_0 790_splitncnn_1 +Convolution Conv_256 1 1 790_splitncnn_1 792 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_258 1 1 792 794 0=96 +Convolution Conv_259 1 1 794 796 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_31 1 2 796 796_splitncnn_0 796_splitncnn_1 +Pooling ReduceMean_262 1 1 796_splitncnn_1 798 0=1 4=1 +InnerProduct Conv_263 1 1 798 801 0=16 2=1536 9=2 -23310=1,3.868800e-01 +InnerProduct Conv_265 1 1 801 803 0=96 2=1536 9=4 +BinaryOp Mul_267 2 1 796_splitncnn_0 803 804 0=2 +BinaryOp Add_268 2 1 804 790_splitncnn_0 805 +PReLU PRelu_269 1 1 805 807 0=96 +Split splitncnn_32 1 2 807 807_splitncnn_0 807_splitncnn_1 +Convolution Conv_270 1 1 807_splitncnn_1 809 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_272 1 1 809 811 0=96 +Convolution Conv_273 1 1 811 813 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_33 1 2 813 813_splitncnn_0 813_splitncnn_1 +Pooling ReduceMean_276 1 1 813_splitncnn_1 815 0=1 4=1 +InnerProduct Conv_277 1 1 815 818 0=16 2=1536 9=2 -23310=1,3.475277e-01 +InnerProduct Conv_279 1 1 818 820 0=96 2=1536 9=4 +BinaryOp Mul_281 2 1 813_splitncnn_0 820 821 0=2 +BinaryOp Add_282 2 1 821 807_splitncnn_0 822 +PReLU PRelu_283 1 1 822 824 0=96 +Split splitncnn_34 1 2 824 824_splitncnn_0 824_splitncnn_1 +Convolution Conv_284 1 1 824_splitncnn_1 826 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_286 1 1 826 828 0=96 +Convolution Conv_287 1 1 828 830 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_35 1 2 830 830_splitncnn_0 830_splitncnn_1 +Pooling ReduceMean_290 1 1 830_splitncnn_1 832 0=1 4=1 +InnerProduct Conv_291 1 1 832 835 0=16 2=1536 9=2 -23310=1,7.044167e-02 +InnerProduct Conv_293 1 1 835 837 0=96 2=1536 9=4 +BinaryOp Mul_295 2 1 830_splitncnn_0 837 838 0=2 +BinaryOp Add_296 2 1 838 824_splitncnn_0 839 +PReLU PRelu_297 1 1 839 841 0=96 +Split splitncnn_36 1 2 841 841_splitncnn_0 841_splitncnn_1 +Convolution Conv_298 1 1 841_splitncnn_1 843 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_300 1 1 843 845 0=96 +Convolution Conv_301 1 1 845 847 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_37 1 2 847 847_splitncnn_0 847_splitncnn_1 +Pooling ReduceMean_304 1 1 847_splitncnn_1 849 0=1 4=1 +InnerProduct Conv_305 1 1 849 852 0=16 2=1536 9=2 -23310=1,1.834324e-01 +InnerProduct Conv_307 1 1 852 854 0=96 2=1536 9=4 +BinaryOp Mul_309 2 1 847_splitncnn_0 854 855 0=2 +BinaryOp Add_310 2 1 855 841_splitncnn_0 856 +PReLU PRelu_311 1 1 856 858 0=96 +Split splitncnn_38 1 2 858 858_splitncnn_0 858_splitncnn_1 +Convolution Conv_312 1 1 858_splitncnn_1 860 0=96 1=5 4=2 5=1 6=230400 +PReLU PRelu_314 1 1 860 862 0=96 +Convolution Conv_315 1 1 862 864 0=96 1=3 4=1 5=1 6=82944 +Split splitncnn_39 1 2 864 864_splitncnn_0 864_splitncnn_1 +Pooling ReduceMean_318 1 1 864_splitncnn_1 866 0=1 4=1 +InnerProduct Conv_319 1 1 866 869 0=16 2=1536 9=2 -23310=1,3.572731e-01 +InnerProduct Conv_321 1 1 869 871 0=96 2=1536 9=4 +BinaryOp Mul_323 2 1 864_splitncnn_0 871 872 0=2 +BinaryOp Add_324 2 1 872 858_splitncnn_0 873 +PReLU PRelu_325 1 1 873 875 0=96 +Convolution Conv_326 1 1 875 876 0=8 1=3 4=1 5=1 6=6912 +PixelShuffle DepthToSpace_327 1 1 876 877 0=2 +Interp Resize_329 1 1 877 887 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_40 1 2 887 887_splitncnn_0 887_splitncnn_1 +BinaryOp Add_330 2 1 582_splitncnn_1 734_splitncnn_1 888 +BinaryOp Add_331 2 1 888 887_splitncnn_1 889 +Split splitncnn_41 1 3 889 889_splitncnn_0 889_splitncnn_1 889_splitncnn_2 +Crop Slice_336 1 1 454_splitncnn_1 894 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_342 2 1 894 889_splitncnn_2 900 +Crop Slice_347 1 1 454_splitncnn_0 905 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_348 1 1 889_splitncnn_1 906 0=1 +rife.Warp Warp_354 2 1 905 906 912 +Concat Concat_355 3 1 900 912 889_splitncnn_0 913 +Convolution Conv_356 1 1 913 915 0=48 1=5 3=2 4=2 5=1 6=9600 +PReLU PRelu_358 1 1 915 917 0=48 +Split splitncnn_42 1 2 917 917_splitncnn_0 917_splitncnn_1 +Convolution Conv_359 1 1 917_splitncnn_1 919 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_361 1 1 919 921 0=48 +Convolution Conv_362 1 1 921 923 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_43 1 2 923 923_splitncnn_0 923_splitncnn_1 +Pooling ReduceMean_365 1 1 923_splitncnn_1 925 0=1 4=1 +InnerProduct Conv_366 1 1 925 928 0=16 2=768 9=2 -23310=1,2.075541e-02 +InnerProduct Conv_368 1 1 928 930 0=48 2=768 9=4 +BinaryOp Mul_370 2 1 923_splitncnn_0 930 931 0=2 +BinaryOp Add_371 2 1 931 917_splitncnn_0 932 +PReLU PRelu_372 1 1 932 934 0=48 +Split splitncnn_44 1 2 934 934_splitncnn_0 934_splitncnn_1 +Convolution Conv_373 1 1 934_splitncnn_1 936 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_375 1 1 936 938 0=48 +Convolution Conv_376 1 1 938 940 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_45 1 2 940 940_splitncnn_0 940_splitncnn_1 +Pooling ReduceMean_379 1 1 940_splitncnn_1 942 0=1 4=1 +InnerProduct Conv_380 1 1 942 945 0=16 2=768 9=2 -23310=1,7.201483e-01 +InnerProduct Conv_382 1 1 945 947 0=48 2=768 9=4 +BinaryOp Mul_384 2 1 940_splitncnn_0 947 948 0=2 +BinaryOp Add_385 2 1 948 934_splitncnn_0 949 +PReLU PRelu_386 1 1 949 951 0=48 +Split splitncnn_46 1 2 951 951_splitncnn_0 951_splitncnn_1 +Convolution Conv_387 1 1 951_splitncnn_1 953 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_389 1 1 953 955 0=48 +Convolution Conv_390 1 1 955 957 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_47 1 2 957 957_splitncnn_0 957_splitncnn_1 +Pooling ReduceMean_393 1 1 957_splitncnn_1 959 0=1 4=1 +InnerProduct Conv_394 1 1 959 962 0=16 2=768 9=2 -23310=1,2.671039e-01 +InnerProduct Conv_396 1 1 962 964 0=48 2=768 9=4 +BinaryOp Mul_398 2 1 957_splitncnn_0 964 965 0=2 +BinaryOp Add_399 2 1 965 951_splitncnn_0 966 +PReLU PRelu_400 1 1 966 968 0=48 +Split splitncnn_48 1 2 968 968_splitncnn_0 968_splitncnn_1 +Convolution Conv_401 1 1 968_splitncnn_1 970 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_403 1 1 970 972 0=48 +Convolution Conv_404 1 1 972 974 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_49 1 2 974 974_splitncnn_0 974_splitncnn_1 +Pooling ReduceMean_407 1 1 974_splitncnn_1 976 0=1 4=1 +InnerProduct Conv_408 1 1 976 979 0=16 2=768 9=2 -23310=1,1.908224e-01 +InnerProduct Conv_410 1 1 979 981 0=48 2=768 9=4 +BinaryOp Mul_412 2 1 974_splitncnn_0 981 982 0=2 +BinaryOp Add_413 2 1 982 968_splitncnn_0 983 +PReLU PRelu_414 1 1 983 985 0=48 +Split splitncnn_50 1 2 985 985_splitncnn_0 985_splitncnn_1 +Convolution Conv_415 1 1 985_splitncnn_1 987 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_417 1 1 987 989 0=48 +Convolution Conv_418 1 1 989 991 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_51 1 2 991 991_splitncnn_0 991_splitncnn_1 +Pooling ReduceMean_421 1 1 991_splitncnn_1 993 0=1 4=1 +InnerProduct Conv_422 1 1 993 996 0=16 2=768 9=2 -23310=1,6.525763e-01 +InnerProduct Conv_424 1 1 996 998 0=48 2=768 9=4 +BinaryOp Mul_426 2 1 991_splitncnn_0 998 999 0=2 +BinaryOp Add_427 2 1 999 985_splitncnn_0 1000 +PReLU PRelu_428 1 1 1000 1002 0=48 +Split splitncnn_52 1 2 1002 1002_splitncnn_0 1002_splitncnn_1 +Convolution Conv_429 1 1 1002_splitncnn_1 1004 0=48 1=5 4=2 5=1 6=57600 +PReLU PRelu_431 1 1 1004 1006 0=48 +Convolution Conv_432 1 1 1006 1008 0=48 1=3 4=1 5=1 6=20736 +Split splitncnn_53 1 2 1008 1008_splitncnn_0 1008_splitncnn_1 +Pooling ReduceMean_435 1 1 1008_splitncnn_1 1010 0=1 4=1 +InnerProduct Conv_436 1 1 1010 1013 0=16 2=768 9=2 -23310=1,5.485489e-01 +InnerProduct Conv_438 1 1 1013 1015 0=48 2=768 9=4 +BinaryOp Mul_440 2 1 1008_splitncnn_0 1015 1016 0=2 +BinaryOp Add_441 2 1 1016 1002_splitncnn_0 1017 +PReLU PRelu_442 1 1 1017 1019 0=48 +Convolution Conv_443 1 1 1019 1020 0=8 1=3 4=1 5=1 6=3456 +PixelShuffle DepthToSpace_444 1 1 1020 1021 0=2 +BinaryOp Add_445 2 1 582_splitncnn_0 734_splitncnn_0 1022 +BinaryOp Add_446 2 1 1022 887_splitncnn_0 1023 +BinaryOp Add_447 2 1 1023 1021 flow diff --git a/models/rife/rife-anime/fusionnet.bin b/models/rife/rife-anime/fusionnet.bin new file mode 100644 index 0000000..b3fbe42 Binary files /dev/null and b/models/rife/rife-anime/fusionnet.bin differ diff --git a/models/rife/rife-anime/fusionnet.param b/models/rife/rife-anime/fusionnet.param new file mode 100644 index 0000000..4799ffc --- /dev/null +++ b/models/rife/rife-anime/fusionnet.param @@ -0,0 +1,105 @@ +7767517 +103 120 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 77 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 77 79 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 79 79_splitncnn_0 79_splitncnn_1 79_splitncnn_2 +rife.Warp Warp_9 2 1 img0 79_splitncnn_2 85 +Split splitncnn_1 1 2 85 85_splitncnn_0 85_splitncnn_1 +UnaryOp Neg_10 1 1 79_splitncnn_1 86 0=1 +rife.Warp Warp_16 2 1 img1 86 92 +Split splitncnn_2 1 2 92 92_splitncnn_0 92_splitncnn_1 +Concat Concat_17 3 1 85_splitncnn_1 92_splitncnn_1 79_splitncnn_0 93 +Convolution Conv_18 1 1 93 94 0=32 1=3 3=2 4=1 5=1 6=2304 +PReLU PRelu_19 1 1 94 96 0=32 +Split splitncnn_3 1 2 96 96_splitncnn_0 96_splitncnn_1 +Convolution Conv_20 1 1 96_splitncnn_1 97 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_21 1 1 96_splitncnn_0 98 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_22 1 1 98 100 0=64 +Convolution Conv_23 1 1 100 101 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_4 1 2 101 101_splitncnn_0 101_splitncnn_1 +Pooling ReduceMean_25 1 1 101_splitncnn_1 103 0=1 4=1 +InnerProduct Conv_26 1 1 103 106 0=16 2=1024 9=2 -23310=1,1.541520e-01 +InnerProduct Conv_28 1 1 106 108 0=64 2=1024 9=4 +BinaryOp Mul_30 2 1 101_splitncnn_0 108 109 0=2 +BinaryOp Add_31 2 1 109 97 110 +PReLU PRelu_32 1 1 110 112 0=64 +Split splitncnn_5 1 2 112 112_splitncnn_0 112_splitncnn_1 +Concat Concat_33 3 1 112_splitncnn_1 3 7 113 +Split splitncnn_6 1 2 113 113_splitncnn_0 113_splitncnn_1 +Convolution Conv_34 1 1 113_splitncnn_1 114 0=128 1=3 3=2 4=1 6=147456 +Convolution Conv_35 1 1 113_splitncnn_0 115 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_36 1 1 115 117 0=128 +Convolution Conv_37 1 1 117 118 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_7 1 2 118 118_splitncnn_0 118_splitncnn_1 +Pooling ReduceMean_39 1 1 118_splitncnn_1 120 0=1 4=1 +InnerProduct Conv_40 1 1 120 123 0=16 2=2048 9=2 -23310=1,4.722085e-02 +InnerProduct Conv_42 1 1 123 125 0=128 2=2048 9=4 +BinaryOp Mul_44 2 1 118_splitncnn_0 125 126 0=2 +BinaryOp Add_45 2 1 126 114 127 +PReLU PRelu_46 1 1 127 129 0=128 +Split splitncnn_8 1 2 129 129_splitncnn_0 129_splitncnn_1 +Concat Concat_47 3 1 129_splitncnn_1 4 8 130 +Split splitncnn_9 1 2 130 130_splitncnn_0 130_splitncnn_1 +Convolution Conv_48 1 1 130_splitncnn_1 131 0=256 1=3 3=2 4=1 6=589824 +Convolution Conv_49 1 1 130_splitncnn_0 132 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_50 1 1 132 134 0=256 +Convolution Conv_51 1 1 134 135 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_10 1 2 135 135_splitncnn_0 135_splitncnn_1 +Pooling ReduceMean_53 1 1 135_splitncnn_1 137 0=1 4=1 +InnerProduct Conv_54 1 1 137 140 0=16 2=4096 9=2 -23310=1,8.144739e-02 +InnerProduct Conv_56 1 1 140 142 0=256 2=4096 9=4 +BinaryOp Mul_58 2 1 135_splitncnn_0 142 143 0=2 +BinaryOp Add_59 2 1 143 131 144 +PReLU PRelu_60 1 1 144 146 0=256 +Split splitncnn_11 1 2 146 146_splitncnn_0 146_splitncnn_1 +Concat Concat_61 3 1 146_splitncnn_1 5 9 147 +Split splitncnn_12 1 2 147 147_splitncnn_0 147_splitncnn_1 +Convolution Conv_62 1 1 147_splitncnn_1 148 0=512 1=3 3=2 4=1 6=2359296 +Convolution Conv_63 1 1 147_splitncnn_0 149 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_64 1 1 149 151 0=512 +Convolution Conv_65 1 1 151 152 0=512 1=3 4=1 5=1 6=2359296 +Split splitncnn_13 1 2 152 152_splitncnn_0 152_splitncnn_1 +Pooling ReduceMean_67 1 1 152_splitncnn_1 154 0=1 4=1 +InnerProduct Conv_68 1 1 154 157 0=16 2=8192 9=2 -23310=1,7.700763e-02 +InnerProduct Conv_70 1 1 157 159 0=512 2=8192 9=4 +BinaryOp Mul_72 2 1 152_splitncnn_0 159 160 0=2 +BinaryOp Add_73 2 1 160 148 161 +PReLU PRelu_74 1 1 161 163 0=512 +Concat Concat_75 3 1 163 6 10 164 +Deconvolution ConvTranspose_76 1 1 164 165 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_77 1 1 165 167 0=256 +Concat Concat_78 2 1 167 146_splitncnn_0 168 +Deconvolution ConvTranspose_79 1 1 168 169 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_80 1 1 169 171 0=128 +Concat Concat_81 2 1 171 129_splitncnn_0 172 +Deconvolution ConvTranspose_82 1 1 172 173 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_83 1 1 173 175 0=64 +Concat Concat_84 2 1 175 112_splitncnn_0 176 +Deconvolution ConvTranspose_85 1 1 176 177 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_86 1 1 177 179 0=32 +Convolution Conv_87 1 1 179 180 0=16 1=3 4=1 5=1 6=4608 +PixelShuffle DepthToSpace_88 1 1 180 181 0=2 +Sigmoid Sigmoid_89 1 1 181 182 +Split splitncnn_14 1 2 182 182_splitncnn_0 182_splitncnn_1 +Crop Slice_94 1 1 182_splitncnn_1 187 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_96 1 1 187 189 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_98 1 1 189 191 0=1 1=1 2=1.000000e+00 +Crop Slice_103 1 1 182_splitncnn_0 196 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_15 1 2 196 196_splitncnn_0 196_splitncnn_1 +BinaryOp Mul_104 2 1 85_splitncnn_0 196_splitncnn_1 197 0=2 +BinaryOp Sub_106 1 1 196_splitncnn_0 199 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_107 2 1 92_splitncnn_0 199 200 0=2 +BinaryOp Add_108 2 1 197 200 201 +BinaryOp Add_109 2 1 201 191 202 +Clip Clip_110 1 1 202 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v2.3/contextnet.bin b/models/rife/rife-v2.3/contextnet.bin new file mode 100644 index 0000000..cc40344 Binary files /dev/null and b/models/rife/rife-v2.3/contextnet.bin differ diff --git a/models/rife/rife-v2.3/contextnet.param b/models/rife/rife-v2.3/contextnet.param new file mode 100644 index 0000000..ec0085e --- /dev/null +++ b/models/rife/rife-v2.3/contextnet.param @@ -0,0 +1,42 @@ +7767517 +40 46 +Input input.1 0 1 input.1 +Input flow.0 0 1 flow.0 +Convolution Conv_0 1 1 input.1 32 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 32 34 0=32 +Convolution Conv_2 1 1 34 35 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_3 1 1 35 37 0=32 +Convolution Conv_4 1 1 37 38 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_5 1 1 38 40 0=32 +Convolution Conv_6 1 1 40 41 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_7 1 1 41 43 0=32 +Split splitncnn_0 1 2 43 43_splitncnn_0 43_splitncnn_1 +Interp Resize_9 1 1 flow.0 53 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_11 1 1 53 55 0=2 1=1 2=5.000000e-01 +Split splitncnn_1 1 2 55 55_splitncnn_0 55_splitncnn_1 +rife.Warp Warp_17 2 1 43_splitncnn_1 55_splitncnn_1 f1 +Convolution Conv_18 1 1 43_splitncnn_0 62 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_19 1 1 62 64 0=64 +Convolution Conv_20 1 1 64 65 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_21 1 1 65 67 0=64 +Split splitncnn_2 1 2 67 67_splitncnn_0 67_splitncnn_1 +Interp Resize_23 1 1 55_splitncnn_0 77 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_25 1 1 77 79 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 79 79_splitncnn_0 79_splitncnn_1 +rife.Warp Warp_31 2 1 67_splitncnn_1 79_splitncnn_1 f2 +Convolution Conv_32 1 1 67_splitncnn_0 86 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_33 1 1 86 88 0=128 +Convolution Conv_34 1 1 88 89 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_35 1 1 89 91 0=128 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +Interp Resize_37 1 1 79_splitncnn_0 101 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_39 1 1 101 103 0=2 1=1 2=5.000000e-01 +Split splitncnn_5 1 2 103 103_splitncnn_0 103_splitncnn_1 +rife.Warp Warp_31a 2 1 91_splitncnn_1 103_splitncnn_1 f3 +Convolution Conv_46 1 1 91_splitncnn_0 110 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_47 1 1 110 112 0=256 +Convolution Conv_48 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_49 1 1 113 115 0=256 +Interp Resize_51 1 1 103_splitncnn_0 125 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_53 1 1 125 127 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_ss 2 1 115 127 f4 diff --git a/models/rife/rife-v2.3/flownet.bin b/models/rife/rife-v2.3/flownet.bin new file mode 100644 index 0000000..f5d2fc8 Binary files /dev/null and b/models/rife/rife-v2.3/flownet.bin differ diff --git a/models/rife/rife-v2.3/flownet.param b/models/rife/rife-v2.3/flownet.param new file mode 100644 index 0000000..2129f0a --- /dev/null +++ b/models/rife/rife-v2.3/flownet.param @@ -0,0 +1,119 @@ +7767517 +117 135 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Split splitncnn_input0 1 7 input.1 input.1_splitncnn_0 input.1_splitncnn_1 input.1_splitncnn_2 input.1_splitncnn_3 input.1_splitncnn_4 input.1_splitncnn_5 input.1_splitncnn_6 +Interp Resize_1 1 1 input.1_splitncnn_6 114 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_2 1 1 114 115 0=192 1=3 3=2 4=1 5=1 6=10368 +PReLU PRelu_3 1 1 115 117 0=192 +Convolution Conv_4 1 1 117 118 0=384 1=3 3=2 4=1 5=1 6=663552 +PReLU PRelu_5 1 1 118 120 0=384 +Convolution Conv_6 1 1 120 121 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_7 1 1 121 123 0=384 +Convolution Conv_8 1 1 123 124 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_9 1 1 124 126 0=384 +Convolution Conv_10 1 1 126 127 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_11 1 1 127 129 0=384 +Convolution Conv_12 1 1 129 130 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_13 1 1 130 132 0=384 +Convolution Conv_14 1 1 132 133 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_15 1 1 133 135 0=384 +Convolution Conv_16 1 1 135 136 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_17 1 1 136 138 0=384 +Deconvolution ConvTranspose_18 1 1 138 139 0=4 1=4 3=2 4=1 5=1 6=24576 +Interp Resize_20 1 1 139 149 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_0 1 4 149 149_splitncnn_0 149_splitncnn_1 149_splitncnn_2 149_splitncnn_3 +Interp Resize_22 1 1 149_splitncnn_3 159 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_24 1 1 159 161 0=2 1=1 2=2.000000e+00 +Split splitncnn_1 1 3 161 161_splitncnn_0 161_splitncnn_1 161_splitncnn_2 +Crop Slice_29 1 1 input.1_splitncnn_5 166 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_34 1 1 161_splitncnn_2 171 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_40 2 1 166 171 177 +Crop Slice_45 1 1 input.1_splitncnn_4 182 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_50 1 1 161_splitncnn_1 187 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_56 2 1 182 187 193 +Concat Concat_57 3 1 177 193 161_splitncnn_0 194 +Interp Resize_59 1 1 194 204 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_60 1 1 204 205 0=128 1=3 3=2 4=1 5=1 6=11520 +PReLU PRelu_61 1 1 205 207 0=128 +Convolution Conv_62 1 1 207 208 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_63 1 1 208 210 0=256 +Convolution Conv_64 1 1 210 211 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_65 1 1 211 213 0=256 +Convolution Conv_66 1 1 213 214 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_67 1 1 214 216 0=256 +Convolution Conv_68 1 1 216 217 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_69 1 1 217 219 0=256 +Convolution Conv_70 1 1 219 220 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_71 1 1 220 222 0=256 +Convolution Conv_72 1 1 222 223 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_73 1 1 223 225 0=256 +Convolution Conv_74 1 1 225 226 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_75 1 1 226 228 0=256 +Deconvolution ConvTranspose_76 1 1 228 229 0=4 1=4 3=2 4=1 5=1 6=16384 +Interp Resize_78 1 1 229 239 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_2 1 3 239 239_splitncnn_0 239_splitncnn_1 239_splitncnn_2 +BinaryOp Add_79 2 1 149_splitncnn_2 239_splitncnn_2 240 +Interp Resize_81 1 1 240 250 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_83 1 1 250 252 0=2 1=1 2=2.000000e+00 +Split splitncnn_3 1 3 252 252_splitncnn_0 252_splitncnn_1 252_splitncnn_2 +Crop Slice_88 1 1 input.1_splitncnn_3 257 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_93 1 1 252_splitncnn_2 262 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_99 2 1 257 262 268 +Crop Slice_104 1 1 input.1_splitncnn_2 273 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_109 1 1 252_splitncnn_1 278 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_115 2 1 273 278 284 +Concat Concat_116 3 1 268 284 252_splitncnn_0 285 +Interp Resize_118 1 1 285 295 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_119 1 1 295 296 0=96 1=3 3=2 4=1 5=1 6=8640 +PReLU PRelu_120 1 1 296 298 0=96 +Convolution Conv_121 1 1 298 299 0=192 1=3 3=2 4=1 5=1 6=165888 +PReLU PRelu_122 1 1 299 301 0=192 +Convolution Conv_123 1 1 301 302 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_124 1 1 302 304 0=192 +Convolution Conv_125 1 1 304 305 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_126 1 1 305 307 0=192 +Convolution Conv_127 1 1 307 308 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_128 1 1 308 310 0=192 +Convolution Conv_129 1 1 310 311 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_130 1 1 311 313 0=192 +Convolution Conv_131 1 1 313 314 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_132 1 1 314 316 0=192 +Convolution Conv_133 1 1 316 317 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_134 1 1 317 319 0=192 +Deconvolution ConvTranspose_135 1 1 319 320 0=4 1=4 3=2 4=1 5=1 6=12288 +Interp Resize_137 1 1 320 330 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_4 1 2 330 330_splitncnn_0 330_splitncnn_1 +BinaryOp Add_138 2 1 149_splitncnn_1 239_splitncnn_1 331 +BinaryOp Add_139 2 1 331 330_splitncnn_1 332 +Interp Resize_141 1 1 332 342 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_143 1 1 342 344 0=2 1=1 2=2.000000e+00 +Split splitncnn_5 1 3 344 344_splitncnn_0 344_splitncnn_1 344_splitncnn_2 +Crop Slice_148 1 1 input.1_splitncnn_1 349 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_153 1 1 344_splitncnn_2 354 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_159 2 1 349 354 360 +Crop Slice_164 1 1 input.1_splitncnn_0 365 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_169 1 1 344_splitncnn_1 370 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_175 2 1 365 370 376 +Concat Concat_176 3 1 360 376 344_splitncnn_0 377 +Convolution Conv_177 1 1 377 378 0=48 1=3 3=2 4=1 5=1 6=4320 +PReLU PRelu_178 1 1 378 380 0=48 +Convolution Conv_179 1 1 380 381 0=96 1=3 3=2 4=1 5=1 6=41472 +PReLU PRelu_180 1 1 381 383 0=96 +Convolution Conv_181 1 1 383 384 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_182 1 1 384 386 0=96 +Convolution Conv_183 1 1 386 387 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_184 1 1 387 389 0=96 +Convolution Conv_185 1 1 389 390 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_186 1 1 390 392 0=96 +Convolution Conv_187 1 1 392 393 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_188 1 1 393 395 0=96 +Convolution Conv_189 1 1 395 396 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_190 1 1 396 398 0=96 +Convolution Conv_191 1 1 398 399 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_192 1 1 399 401 0=96 +Deconvolution ConvTranspose_193 1 1 401 402 0=4 1=4 3=2 4=1 5=1 6=6144 +BinaryOp Add_194 2 1 149_splitncnn_0 239_splitncnn_0 403 +BinaryOp Add_195 2 1 403 330_splitncnn_0 404 +BinaryOp Add_196 2 1 404 402 flow diff --git a/models/rife/rife-v2.3/fusionnet.bin b/models/rife/rife-v2.3/fusionnet.bin new file mode 100644 index 0000000..435c8b0 Binary files /dev/null and b/models/rife/rife-v2.3/fusionnet.bin differ diff --git a/models/rife/rife-v2.3/fusionnet.param b/models/rife/rife-v2.3/fusionnet.param new file mode 100644 index 0000000..35ab12e --- /dev/null +++ b/models/rife/rife-v2.3/fusionnet.param @@ -0,0 +1,74 @@ +7767517 +72 81 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 64 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 64 66 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 66 66_splitncnn_0 66_splitncnn_1 66_splitncnn_2 +Crop Slice_8 1 1 66_splitncnn_2 71 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_14 2 1 img0 71 77 +Split splitncnn_1 1 2 77 77_splitncnn_0 77_splitncnn_1 +Crop Slice_19 1 1 66_splitncnn_1 82 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_14 2 1 img1 82 88 +Split splitncnn_2 1 2 88 88_splitncnn_0 88_splitncnn_1 +Concat Concat_26 3 1 77_splitncnn_1 88_splitncnn_1 66_splitncnn_0 89 +Convolution Conv_27 1 1 89 90 0=32 1=3 3=2 4=1 5=1 6=2880 +PReLU PRelu_28 1 1 90 92 0=32 +Convolution Conv_29 1 1 92 93 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_30 1 1 93 95 0=32 +Convolution Conv_31 1 1 95 96 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_32 1 1 96 98 0=64 +Convolution Conv_33 1 1 98 99 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 99 101 0=64 +Split splitncnn_3 1 2 101 101_splitncnn_0 101_splitncnn_1 +Concat Concat_35 3 1 101_splitncnn_1 3 7 102 +Convolution Conv_36 1 1 102 103 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_37 1 1 103 105 0=128 +Convolution Conv_38 1 1 105 106 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_39 1 1 106 108 0=128 +Split splitncnn_4 1 2 108 108_splitncnn_0 108_splitncnn_1 +Concat Concat_40 3 1 108_splitncnn_1 4 8 109 +Convolution Conv_41 1 1 109 110 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_42 1 1 110 112 0=256 +Convolution Conv_43 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_44 1 1 113 115 0=256 +Split splitncnn_5 1 2 115 115_splitncnn_0 115_splitncnn_1 +Concat Concat_45 3 1 115_splitncnn_1 5 9 116 +Convolution Conv_46 1 1 116 117 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_47 1 1 117 119 0=512 +Convolution Conv_48 1 1 119 120 0=512 1=3 4=1 5=1 6=2359296 +PReLU PRelu_49 1 1 120 122 0=512 +Concat Concat_50 3 1 122 6 10 123 +Deconvolution ConvTranspose_51 1 1 123 124 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_52 1 1 124 126 0=256 +Concat Concat_53 2 1 126 115_splitncnn_0 127 +Deconvolution ConvTranspose_54 1 1 127 128 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_55 1 1 128 130 0=128 +Concat Concat_56 2 1 130 108_splitncnn_0 131 +Deconvolution ConvTranspose_57 1 1 131 132 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_58 1 1 132 134 0=64 +Concat Concat_59 2 1 134 101_splitncnn_0 135 +Deconvolution ConvTranspose_60 1 1 135 136 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_61 1 1 136 138 0=32 +Deconvolution ConvTranspose_62 1 1 138 140 0=4 1=4 3=2 4=1 5=1 6=2048 9=4 +Split splitncnn_6 1 2 140 140_splitncnn_0 140_splitncnn_1 +Crop Slice_68 1 1 140_splitncnn_1 145 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_70 1 1 145 147 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_72 1 1 147 149 0=1 1=1 2=1.000000e+00 +Crop Slice_77 1 1 140_splitncnn_0 154 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_7 1 2 154 154_splitncnn_0 154_splitncnn_1 +BinaryOp Mul_78 2 1 77_splitncnn_0 154_splitncnn_1 155 0=2 +BinaryOp Sub_80 1 1 154_splitncnn_0 157 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_81 2 1 88_splitncnn_0 157 158 0=2 +BinaryOp Add_82 2 1 155 158 159 +BinaryOp Add_83 2 1 159 149 160 +Clip Clip_84 1 1 160 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v2.4/contextnet.bin b/models/rife/rife-v2.4/contextnet.bin new file mode 100644 index 0000000..941446f Binary files /dev/null and b/models/rife/rife-v2.4/contextnet.bin differ diff --git a/models/rife/rife-v2.4/contextnet.param b/models/rife/rife-v2.4/contextnet.param new file mode 100644 index 0000000..ec0085e --- /dev/null +++ b/models/rife/rife-v2.4/contextnet.param @@ -0,0 +1,42 @@ +7767517 +40 46 +Input input.1 0 1 input.1 +Input flow.0 0 1 flow.0 +Convolution Conv_0 1 1 input.1 32 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 32 34 0=32 +Convolution Conv_2 1 1 34 35 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_3 1 1 35 37 0=32 +Convolution Conv_4 1 1 37 38 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_5 1 1 38 40 0=32 +Convolution Conv_6 1 1 40 41 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_7 1 1 41 43 0=32 +Split splitncnn_0 1 2 43 43_splitncnn_0 43_splitncnn_1 +Interp Resize_9 1 1 flow.0 53 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_11 1 1 53 55 0=2 1=1 2=5.000000e-01 +Split splitncnn_1 1 2 55 55_splitncnn_0 55_splitncnn_1 +rife.Warp Warp_17 2 1 43_splitncnn_1 55_splitncnn_1 f1 +Convolution Conv_18 1 1 43_splitncnn_0 62 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_19 1 1 62 64 0=64 +Convolution Conv_20 1 1 64 65 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_21 1 1 65 67 0=64 +Split splitncnn_2 1 2 67 67_splitncnn_0 67_splitncnn_1 +Interp Resize_23 1 1 55_splitncnn_0 77 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_25 1 1 77 79 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 79 79_splitncnn_0 79_splitncnn_1 +rife.Warp Warp_31 2 1 67_splitncnn_1 79_splitncnn_1 f2 +Convolution Conv_32 1 1 67_splitncnn_0 86 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_33 1 1 86 88 0=128 +Convolution Conv_34 1 1 88 89 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_35 1 1 89 91 0=128 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +Interp Resize_37 1 1 79_splitncnn_0 101 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_39 1 1 101 103 0=2 1=1 2=5.000000e-01 +Split splitncnn_5 1 2 103 103_splitncnn_0 103_splitncnn_1 +rife.Warp Warp_31a 2 1 91_splitncnn_1 103_splitncnn_1 f3 +Convolution Conv_46 1 1 91_splitncnn_0 110 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_47 1 1 110 112 0=256 +Convolution Conv_48 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_49 1 1 113 115 0=256 +Interp Resize_51 1 1 103_splitncnn_0 125 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_53 1 1 125 127 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_ss 2 1 115 127 f4 diff --git a/models/rife/rife-v2.4/flownet.bin b/models/rife/rife-v2.4/flownet.bin new file mode 100644 index 0000000..362bd54 Binary files /dev/null and b/models/rife/rife-v2.4/flownet.bin differ diff --git a/models/rife/rife-v2.4/flownet.param b/models/rife/rife-v2.4/flownet.param new file mode 100644 index 0000000..2129f0a --- /dev/null +++ b/models/rife/rife-v2.4/flownet.param @@ -0,0 +1,119 @@ +7767517 +117 135 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Split splitncnn_input0 1 7 input.1 input.1_splitncnn_0 input.1_splitncnn_1 input.1_splitncnn_2 input.1_splitncnn_3 input.1_splitncnn_4 input.1_splitncnn_5 input.1_splitncnn_6 +Interp Resize_1 1 1 input.1_splitncnn_6 114 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_2 1 1 114 115 0=192 1=3 3=2 4=1 5=1 6=10368 +PReLU PRelu_3 1 1 115 117 0=192 +Convolution Conv_4 1 1 117 118 0=384 1=3 3=2 4=1 5=1 6=663552 +PReLU PRelu_5 1 1 118 120 0=384 +Convolution Conv_6 1 1 120 121 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_7 1 1 121 123 0=384 +Convolution Conv_8 1 1 123 124 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_9 1 1 124 126 0=384 +Convolution Conv_10 1 1 126 127 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_11 1 1 127 129 0=384 +Convolution Conv_12 1 1 129 130 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_13 1 1 130 132 0=384 +Convolution Conv_14 1 1 132 133 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_15 1 1 133 135 0=384 +Convolution Conv_16 1 1 135 136 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_17 1 1 136 138 0=384 +Deconvolution ConvTranspose_18 1 1 138 139 0=4 1=4 3=2 4=1 5=1 6=24576 +Interp Resize_20 1 1 139 149 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_0 1 4 149 149_splitncnn_0 149_splitncnn_1 149_splitncnn_2 149_splitncnn_3 +Interp Resize_22 1 1 149_splitncnn_3 159 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_24 1 1 159 161 0=2 1=1 2=2.000000e+00 +Split splitncnn_1 1 3 161 161_splitncnn_0 161_splitncnn_1 161_splitncnn_2 +Crop Slice_29 1 1 input.1_splitncnn_5 166 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_34 1 1 161_splitncnn_2 171 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_40 2 1 166 171 177 +Crop Slice_45 1 1 input.1_splitncnn_4 182 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_50 1 1 161_splitncnn_1 187 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_56 2 1 182 187 193 +Concat Concat_57 3 1 177 193 161_splitncnn_0 194 +Interp Resize_59 1 1 194 204 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_60 1 1 204 205 0=128 1=3 3=2 4=1 5=1 6=11520 +PReLU PRelu_61 1 1 205 207 0=128 +Convolution Conv_62 1 1 207 208 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_63 1 1 208 210 0=256 +Convolution Conv_64 1 1 210 211 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_65 1 1 211 213 0=256 +Convolution Conv_66 1 1 213 214 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_67 1 1 214 216 0=256 +Convolution Conv_68 1 1 216 217 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_69 1 1 217 219 0=256 +Convolution Conv_70 1 1 219 220 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_71 1 1 220 222 0=256 +Convolution Conv_72 1 1 222 223 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_73 1 1 223 225 0=256 +Convolution Conv_74 1 1 225 226 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_75 1 1 226 228 0=256 +Deconvolution ConvTranspose_76 1 1 228 229 0=4 1=4 3=2 4=1 5=1 6=16384 +Interp Resize_78 1 1 229 239 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_2 1 3 239 239_splitncnn_0 239_splitncnn_1 239_splitncnn_2 +BinaryOp Add_79 2 1 149_splitncnn_2 239_splitncnn_2 240 +Interp Resize_81 1 1 240 250 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_83 1 1 250 252 0=2 1=1 2=2.000000e+00 +Split splitncnn_3 1 3 252 252_splitncnn_0 252_splitncnn_1 252_splitncnn_2 +Crop Slice_88 1 1 input.1_splitncnn_3 257 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_93 1 1 252_splitncnn_2 262 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_99 2 1 257 262 268 +Crop Slice_104 1 1 input.1_splitncnn_2 273 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_109 1 1 252_splitncnn_1 278 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_115 2 1 273 278 284 +Concat Concat_116 3 1 268 284 252_splitncnn_0 285 +Interp Resize_118 1 1 285 295 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_119 1 1 295 296 0=96 1=3 3=2 4=1 5=1 6=8640 +PReLU PRelu_120 1 1 296 298 0=96 +Convolution Conv_121 1 1 298 299 0=192 1=3 3=2 4=1 5=1 6=165888 +PReLU PRelu_122 1 1 299 301 0=192 +Convolution Conv_123 1 1 301 302 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_124 1 1 302 304 0=192 +Convolution Conv_125 1 1 304 305 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_126 1 1 305 307 0=192 +Convolution Conv_127 1 1 307 308 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_128 1 1 308 310 0=192 +Convolution Conv_129 1 1 310 311 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_130 1 1 311 313 0=192 +Convolution Conv_131 1 1 313 314 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_132 1 1 314 316 0=192 +Convolution Conv_133 1 1 316 317 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_134 1 1 317 319 0=192 +Deconvolution ConvTranspose_135 1 1 319 320 0=4 1=4 3=2 4=1 5=1 6=12288 +Interp Resize_137 1 1 320 330 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_4 1 2 330 330_splitncnn_0 330_splitncnn_1 +BinaryOp Add_138 2 1 149_splitncnn_1 239_splitncnn_1 331 +BinaryOp Add_139 2 1 331 330_splitncnn_1 332 +Interp Resize_141 1 1 332 342 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_143 1 1 342 344 0=2 1=1 2=2.000000e+00 +Split splitncnn_5 1 3 344 344_splitncnn_0 344_splitncnn_1 344_splitncnn_2 +Crop Slice_148 1 1 input.1_splitncnn_1 349 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_153 1 1 344_splitncnn_2 354 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_159 2 1 349 354 360 +Crop Slice_164 1 1 input.1_splitncnn_0 365 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_169 1 1 344_splitncnn_1 370 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_175 2 1 365 370 376 +Concat Concat_176 3 1 360 376 344_splitncnn_0 377 +Convolution Conv_177 1 1 377 378 0=48 1=3 3=2 4=1 5=1 6=4320 +PReLU PRelu_178 1 1 378 380 0=48 +Convolution Conv_179 1 1 380 381 0=96 1=3 3=2 4=1 5=1 6=41472 +PReLU PRelu_180 1 1 381 383 0=96 +Convolution Conv_181 1 1 383 384 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_182 1 1 384 386 0=96 +Convolution Conv_183 1 1 386 387 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_184 1 1 387 389 0=96 +Convolution Conv_185 1 1 389 390 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_186 1 1 390 392 0=96 +Convolution Conv_187 1 1 392 393 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_188 1 1 393 395 0=96 +Convolution Conv_189 1 1 395 396 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_190 1 1 396 398 0=96 +Convolution Conv_191 1 1 398 399 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_192 1 1 399 401 0=96 +Deconvolution ConvTranspose_193 1 1 401 402 0=4 1=4 3=2 4=1 5=1 6=6144 +BinaryOp Add_194 2 1 149_splitncnn_0 239_splitncnn_0 403 +BinaryOp Add_195 2 1 403 330_splitncnn_0 404 +BinaryOp Add_196 2 1 404 402 flow diff --git a/models/rife/rife-v2.4/fusionnet.bin b/models/rife/rife-v2.4/fusionnet.bin new file mode 100644 index 0000000..e8f0983 Binary files /dev/null and b/models/rife/rife-v2.4/fusionnet.bin differ diff --git a/models/rife/rife-v2.4/fusionnet.param b/models/rife/rife-v2.4/fusionnet.param new file mode 100644 index 0000000..35ab12e --- /dev/null +++ b/models/rife/rife-v2.4/fusionnet.param @@ -0,0 +1,74 @@ +7767517 +72 81 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 64 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 64 66 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 66 66_splitncnn_0 66_splitncnn_1 66_splitncnn_2 +Crop Slice_8 1 1 66_splitncnn_2 71 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_14 2 1 img0 71 77 +Split splitncnn_1 1 2 77 77_splitncnn_0 77_splitncnn_1 +Crop Slice_19 1 1 66_splitncnn_1 82 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_14 2 1 img1 82 88 +Split splitncnn_2 1 2 88 88_splitncnn_0 88_splitncnn_1 +Concat Concat_26 3 1 77_splitncnn_1 88_splitncnn_1 66_splitncnn_0 89 +Convolution Conv_27 1 1 89 90 0=32 1=3 3=2 4=1 5=1 6=2880 +PReLU PRelu_28 1 1 90 92 0=32 +Convolution Conv_29 1 1 92 93 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_30 1 1 93 95 0=32 +Convolution Conv_31 1 1 95 96 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_32 1 1 96 98 0=64 +Convolution Conv_33 1 1 98 99 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 99 101 0=64 +Split splitncnn_3 1 2 101 101_splitncnn_0 101_splitncnn_1 +Concat Concat_35 3 1 101_splitncnn_1 3 7 102 +Convolution Conv_36 1 1 102 103 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_37 1 1 103 105 0=128 +Convolution Conv_38 1 1 105 106 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_39 1 1 106 108 0=128 +Split splitncnn_4 1 2 108 108_splitncnn_0 108_splitncnn_1 +Concat Concat_40 3 1 108_splitncnn_1 4 8 109 +Convolution Conv_41 1 1 109 110 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_42 1 1 110 112 0=256 +Convolution Conv_43 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_44 1 1 113 115 0=256 +Split splitncnn_5 1 2 115 115_splitncnn_0 115_splitncnn_1 +Concat Concat_45 3 1 115_splitncnn_1 5 9 116 +Convolution Conv_46 1 1 116 117 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_47 1 1 117 119 0=512 +Convolution Conv_48 1 1 119 120 0=512 1=3 4=1 5=1 6=2359296 +PReLU PRelu_49 1 1 120 122 0=512 +Concat Concat_50 3 1 122 6 10 123 +Deconvolution ConvTranspose_51 1 1 123 124 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_52 1 1 124 126 0=256 +Concat Concat_53 2 1 126 115_splitncnn_0 127 +Deconvolution ConvTranspose_54 1 1 127 128 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_55 1 1 128 130 0=128 +Concat Concat_56 2 1 130 108_splitncnn_0 131 +Deconvolution ConvTranspose_57 1 1 131 132 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_58 1 1 132 134 0=64 +Concat Concat_59 2 1 134 101_splitncnn_0 135 +Deconvolution ConvTranspose_60 1 1 135 136 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_61 1 1 136 138 0=32 +Deconvolution ConvTranspose_62 1 1 138 140 0=4 1=4 3=2 4=1 5=1 6=2048 9=4 +Split splitncnn_6 1 2 140 140_splitncnn_0 140_splitncnn_1 +Crop Slice_68 1 1 140_splitncnn_1 145 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_70 1 1 145 147 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_72 1 1 147 149 0=1 1=1 2=1.000000e+00 +Crop Slice_77 1 1 140_splitncnn_0 154 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_7 1 2 154 154_splitncnn_0 154_splitncnn_1 +BinaryOp Mul_78 2 1 77_splitncnn_0 154_splitncnn_1 155 0=2 +BinaryOp Sub_80 1 1 154_splitncnn_0 157 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_81 2 1 88_splitncnn_0 157 158 0=2 +BinaryOp Add_82 2 1 155 158 159 +BinaryOp Add_83 2 1 159 149 160 +Clip Clip_84 1 1 160 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v2/contextnet.bin b/models/rife/rife-v2/contextnet.bin new file mode 100644 index 0000000..39d74fc Binary files /dev/null and b/models/rife/rife-v2/contextnet.bin differ diff --git a/models/rife/rife-v2/contextnet.param b/models/rife/rife-v2/contextnet.param new file mode 100644 index 0000000..ec0085e --- /dev/null +++ b/models/rife/rife-v2/contextnet.param @@ -0,0 +1,42 @@ +7767517 +40 46 +Input input.1 0 1 input.1 +Input flow.0 0 1 flow.0 +Convolution Conv_0 1 1 input.1 32 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 32 34 0=32 +Convolution Conv_2 1 1 34 35 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_3 1 1 35 37 0=32 +Convolution Conv_4 1 1 37 38 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_5 1 1 38 40 0=32 +Convolution Conv_6 1 1 40 41 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_7 1 1 41 43 0=32 +Split splitncnn_0 1 2 43 43_splitncnn_0 43_splitncnn_1 +Interp Resize_9 1 1 flow.0 53 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_11 1 1 53 55 0=2 1=1 2=5.000000e-01 +Split splitncnn_1 1 2 55 55_splitncnn_0 55_splitncnn_1 +rife.Warp Warp_17 2 1 43_splitncnn_1 55_splitncnn_1 f1 +Convolution Conv_18 1 1 43_splitncnn_0 62 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_19 1 1 62 64 0=64 +Convolution Conv_20 1 1 64 65 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_21 1 1 65 67 0=64 +Split splitncnn_2 1 2 67 67_splitncnn_0 67_splitncnn_1 +Interp Resize_23 1 1 55_splitncnn_0 77 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_25 1 1 77 79 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 79 79_splitncnn_0 79_splitncnn_1 +rife.Warp Warp_31 2 1 67_splitncnn_1 79_splitncnn_1 f2 +Convolution Conv_32 1 1 67_splitncnn_0 86 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_33 1 1 86 88 0=128 +Convolution Conv_34 1 1 88 89 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_35 1 1 89 91 0=128 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +Interp Resize_37 1 1 79_splitncnn_0 101 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_39 1 1 101 103 0=2 1=1 2=5.000000e-01 +Split splitncnn_5 1 2 103 103_splitncnn_0 103_splitncnn_1 +rife.Warp Warp_31a 2 1 91_splitncnn_1 103_splitncnn_1 f3 +Convolution Conv_46 1 1 91_splitncnn_0 110 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_47 1 1 110 112 0=256 +Convolution Conv_48 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_49 1 1 113 115 0=256 +Interp Resize_51 1 1 103_splitncnn_0 125 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_53 1 1 125 127 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_ss 2 1 115 127 f4 diff --git a/models/rife/rife-v2/flownet.bin b/models/rife/rife-v2/flownet.bin new file mode 100644 index 0000000..6d3a87d Binary files /dev/null and b/models/rife/rife-v2/flownet.bin differ diff --git a/models/rife/rife-v2/flownet.param b/models/rife/rife-v2/flownet.param new file mode 100644 index 0000000..2129f0a --- /dev/null +++ b/models/rife/rife-v2/flownet.param @@ -0,0 +1,119 @@ +7767517 +117 135 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Split splitncnn_input0 1 7 input.1 input.1_splitncnn_0 input.1_splitncnn_1 input.1_splitncnn_2 input.1_splitncnn_3 input.1_splitncnn_4 input.1_splitncnn_5 input.1_splitncnn_6 +Interp Resize_1 1 1 input.1_splitncnn_6 114 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution Conv_2 1 1 114 115 0=192 1=3 3=2 4=1 5=1 6=10368 +PReLU PRelu_3 1 1 115 117 0=192 +Convolution Conv_4 1 1 117 118 0=384 1=3 3=2 4=1 5=1 6=663552 +PReLU PRelu_5 1 1 118 120 0=384 +Convolution Conv_6 1 1 120 121 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_7 1 1 121 123 0=384 +Convolution Conv_8 1 1 123 124 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_9 1 1 124 126 0=384 +Convolution Conv_10 1 1 126 127 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_11 1 1 127 129 0=384 +Convolution Conv_12 1 1 129 130 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_13 1 1 130 132 0=384 +Convolution Conv_14 1 1 132 133 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_15 1 1 133 135 0=384 +Convolution Conv_16 1 1 135 136 0=384 1=3 4=1 5=1 6=1327104 +PReLU PRelu_17 1 1 136 138 0=384 +Deconvolution ConvTranspose_18 1 1 138 139 0=4 1=4 3=2 4=1 5=1 6=24576 +Interp Resize_20 1 1 139 149 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_0 1 4 149 149_splitncnn_0 149_splitncnn_1 149_splitncnn_2 149_splitncnn_3 +Interp Resize_22 1 1 149_splitncnn_3 159 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_24 1 1 159 161 0=2 1=1 2=2.000000e+00 +Split splitncnn_1 1 3 161 161_splitncnn_0 161_splitncnn_1 161_splitncnn_2 +Crop Slice_29 1 1 input.1_splitncnn_5 166 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_34 1 1 161_splitncnn_2 171 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_40 2 1 166 171 177 +Crop Slice_45 1 1 input.1_splitncnn_4 182 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_50 1 1 161_splitncnn_1 187 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_56 2 1 182 187 193 +Concat Concat_57 3 1 177 193 161_splitncnn_0 194 +Interp Resize_59 1 1 194 204 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_60 1 1 204 205 0=128 1=3 3=2 4=1 5=1 6=11520 +PReLU PRelu_61 1 1 205 207 0=128 +Convolution Conv_62 1 1 207 208 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_63 1 1 208 210 0=256 +Convolution Conv_64 1 1 210 211 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_65 1 1 211 213 0=256 +Convolution Conv_66 1 1 213 214 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_67 1 1 214 216 0=256 +Convolution Conv_68 1 1 216 217 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_69 1 1 217 219 0=256 +Convolution Conv_70 1 1 219 220 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_71 1 1 220 222 0=256 +Convolution Conv_72 1 1 222 223 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_73 1 1 223 225 0=256 +Convolution Conv_74 1 1 225 226 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_75 1 1 226 228 0=256 +Deconvolution ConvTranspose_76 1 1 228 229 0=4 1=4 3=2 4=1 5=1 6=16384 +Interp Resize_78 1 1 229 239 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_2 1 3 239 239_splitncnn_0 239_splitncnn_1 239_splitncnn_2 +BinaryOp Add_79 2 1 149_splitncnn_2 239_splitncnn_2 240 +Interp Resize_81 1 1 240 250 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_83 1 1 250 252 0=2 1=1 2=2.000000e+00 +Split splitncnn_3 1 3 252 252_splitncnn_0 252_splitncnn_1 252_splitncnn_2 +Crop Slice_88 1 1 input.1_splitncnn_3 257 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_93 1 1 252_splitncnn_2 262 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_99 2 1 257 262 268 +Crop Slice_104 1 1 input.1_splitncnn_2 273 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_109 1 1 252_splitncnn_1 278 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_115 2 1 273 278 284 +Concat Concat_116 3 1 268 284 252_splitncnn_0 285 +Interp Resize_118 1 1 285 295 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_119 1 1 295 296 0=96 1=3 3=2 4=1 5=1 6=8640 +PReLU PRelu_120 1 1 296 298 0=96 +Convolution Conv_121 1 1 298 299 0=192 1=3 3=2 4=1 5=1 6=165888 +PReLU PRelu_122 1 1 299 301 0=192 +Convolution Conv_123 1 1 301 302 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_124 1 1 302 304 0=192 +Convolution Conv_125 1 1 304 305 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_126 1 1 305 307 0=192 +Convolution Conv_127 1 1 307 308 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_128 1 1 308 310 0=192 +Convolution Conv_129 1 1 310 311 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_130 1 1 311 313 0=192 +Convolution Conv_131 1 1 313 314 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_132 1 1 314 316 0=192 +Convolution Conv_133 1 1 316 317 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_134 1 1 317 319 0=192 +Deconvolution ConvTranspose_135 1 1 319 320 0=4 1=4 3=2 4=1 5=1 6=12288 +Interp Resize_137 1 1 320 330 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_4 1 2 330 330_splitncnn_0 330_splitncnn_1 +BinaryOp Add_138 2 1 149_splitncnn_1 239_splitncnn_1 331 +BinaryOp Add_139 2 1 331 330_splitncnn_1 332 +Interp Resize_141 1 1 332 342 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_143 1 1 342 344 0=2 1=1 2=2.000000e+00 +Split splitncnn_5 1 3 344 344_splitncnn_0 344_splitncnn_1 344_splitncnn_2 +Crop Slice_148 1 1 input.1_splitncnn_1 349 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_153 1 1 344_splitncnn_2 354 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_159 2 1 349 354 360 +Crop Slice_164 1 1 input.1_splitncnn_0 365 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_169 1 1 344_splitncnn_1 370 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_175 2 1 365 370 376 +Concat Concat_176 3 1 360 376 344_splitncnn_0 377 +Convolution Conv_177 1 1 377 378 0=48 1=3 3=2 4=1 5=1 6=4320 +PReLU PRelu_178 1 1 378 380 0=48 +Convolution Conv_179 1 1 380 381 0=96 1=3 3=2 4=1 5=1 6=41472 +PReLU PRelu_180 1 1 381 383 0=96 +Convolution Conv_181 1 1 383 384 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_182 1 1 384 386 0=96 +Convolution Conv_183 1 1 386 387 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_184 1 1 387 389 0=96 +Convolution Conv_185 1 1 389 390 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_186 1 1 390 392 0=96 +Convolution Conv_187 1 1 392 393 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_188 1 1 393 395 0=96 +Convolution Conv_189 1 1 395 396 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_190 1 1 396 398 0=96 +Convolution Conv_191 1 1 398 399 0=96 1=3 4=1 5=1 6=82944 +PReLU PRelu_192 1 1 399 401 0=96 +Deconvolution ConvTranspose_193 1 1 401 402 0=4 1=4 3=2 4=1 5=1 6=6144 +BinaryOp Add_194 2 1 149_splitncnn_0 239_splitncnn_0 403 +BinaryOp Add_195 2 1 403 330_splitncnn_0 404 +BinaryOp Add_196 2 1 404 402 flow diff --git a/models/rife/rife-v2/fusionnet.bin b/models/rife/rife-v2/fusionnet.bin new file mode 100644 index 0000000..35b3bc5 Binary files /dev/null and b/models/rife/rife-v2/fusionnet.bin differ diff --git a/models/rife/rife-v2/fusionnet.param b/models/rife/rife-v2/fusionnet.param new file mode 100644 index 0000000..35ab12e --- /dev/null +++ b/models/rife/rife-v2/fusionnet.param @@ -0,0 +1,74 @@ +7767517 +72 81 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 64 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 64 66 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 66 66_splitncnn_0 66_splitncnn_1 66_splitncnn_2 +Crop Slice_8 1 1 66_splitncnn_2 71 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_14 2 1 img0 71 77 +Split splitncnn_1 1 2 77 77_splitncnn_0 77_splitncnn_1 +Crop Slice_19 1 1 66_splitncnn_1 82 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_14 2 1 img1 82 88 +Split splitncnn_2 1 2 88 88_splitncnn_0 88_splitncnn_1 +Concat Concat_26 3 1 77_splitncnn_1 88_splitncnn_1 66_splitncnn_0 89 +Convolution Conv_27 1 1 89 90 0=32 1=3 3=2 4=1 5=1 6=2880 +PReLU PRelu_28 1 1 90 92 0=32 +Convolution Conv_29 1 1 92 93 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_30 1 1 93 95 0=32 +Convolution Conv_31 1 1 95 96 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_32 1 1 96 98 0=64 +Convolution Conv_33 1 1 98 99 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 99 101 0=64 +Split splitncnn_3 1 2 101 101_splitncnn_0 101_splitncnn_1 +Concat Concat_35 3 1 101_splitncnn_1 3 7 102 +Convolution Conv_36 1 1 102 103 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_37 1 1 103 105 0=128 +Convolution Conv_38 1 1 105 106 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_39 1 1 106 108 0=128 +Split splitncnn_4 1 2 108 108_splitncnn_0 108_splitncnn_1 +Concat Concat_40 3 1 108_splitncnn_1 4 8 109 +Convolution Conv_41 1 1 109 110 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_42 1 1 110 112 0=256 +Convolution Conv_43 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_44 1 1 113 115 0=256 +Split splitncnn_5 1 2 115 115_splitncnn_0 115_splitncnn_1 +Concat Concat_45 3 1 115_splitncnn_1 5 9 116 +Convolution Conv_46 1 1 116 117 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_47 1 1 117 119 0=512 +Convolution Conv_48 1 1 119 120 0=512 1=3 4=1 5=1 6=2359296 +PReLU PRelu_49 1 1 120 122 0=512 +Concat Concat_50 3 1 122 6 10 123 +Deconvolution ConvTranspose_51 1 1 123 124 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_52 1 1 124 126 0=256 +Concat Concat_53 2 1 126 115_splitncnn_0 127 +Deconvolution ConvTranspose_54 1 1 127 128 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_55 1 1 128 130 0=128 +Concat Concat_56 2 1 130 108_splitncnn_0 131 +Deconvolution ConvTranspose_57 1 1 131 132 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_58 1 1 132 134 0=64 +Concat Concat_59 2 1 134 101_splitncnn_0 135 +Deconvolution ConvTranspose_60 1 1 135 136 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_61 1 1 136 138 0=32 +Deconvolution ConvTranspose_62 1 1 138 140 0=4 1=4 3=2 4=1 5=1 6=2048 9=4 +Split splitncnn_6 1 2 140 140_splitncnn_0 140_splitncnn_1 +Crop Slice_68 1 1 140_splitncnn_1 145 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_70 1 1 145 147 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_72 1 1 147 149 0=1 1=1 2=1.000000e+00 +Crop Slice_77 1 1 140_splitncnn_0 154 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_7 1 2 154 154_splitncnn_0 154_splitncnn_1 +BinaryOp Mul_78 2 1 77_splitncnn_0 154_splitncnn_1 155 0=2 +BinaryOp Sub_80 1 1 154_splitncnn_0 157 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_81 2 1 88_splitncnn_0 157 158 0=2 +BinaryOp Add_82 2 1 155 158 159 +BinaryOp Add_83 2 1 159 149 160 +Clip Clip_84 1 1 160 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v3.0/contextnet.bin b/models/rife/rife-v3.0/contextnet.bin new file mode 100644 index 0000000..456ad8d Binary files /dev/null and b/models/rife/rife-v3.0/contextnet.bin differ diff --git a/models/rife/rife-v3.0/contextnet.param b/models/rife/rife-v3.0/contextnet.param new file mode 100644 index 0000000..c44e590 --- /dev/null +++ b/models/rife/rife-v3.0/contextnet.param @@ -0,0 +1,42 @@ +7767517 +40 46 +Input input.1 0 1 input.1 +Input flow.0 0 1 flow.0 +Convolution Conv_0 1 1 input.1 32 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 32 34 0=32 +Convolution Conv_2 1 1 34 35 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_3 1 1 35 37 0=32 +Convolution Conv_4 1 1 37 38 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_5 1 1 38 40 0=32 +Convolution Conv_6 1 1 40 41 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_7 1 1 41 43 0=32 +Split splitncnn_0 1 2 43 43_splitncnn_0 43_splitncnn_1 +Interp Resize_9 1 1 flow.0 53 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_11 1 1 53 55 0=2 1=1 2=5.000000e-01 +Split splitncnn_1 1 2 55 55_splitncnn_0 55_splitncnn_1 +rife.Warp Warp_17 2 1 43_splitncnn_1 55_splitncnn_1 f1 +Convolution Conv_18 1 1 43_splitncnn_0 62 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_19 1 1 62 64 0=64 +Convolution Conv_20 1 1 64 65 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_21 1 1 65 67 0=64 +Split splitncnn_2 1 2 67 67_splitncnn_0 67_splitncnn_1 +Interp Resize_23 1 1 55_splitncnn_0 77 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_25 1 1 77 79 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 79 79_splitncnn_0 79_splitncnn_1 +rife.Warp Warp_31 2 1 67_splitncnn_1 79_splitncnn_1 f2 +Convolution Conv_32 1 1 67_splitncnn_0 86 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_33 1 1 86 88 0=128 +Convolution Conv_34 1 1 88 89 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_35 1 1 89 91 0=128 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +Interp Resize_37 1 1 79_splitncnn_0 101 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_39 1 1 101 103 0=2 1=1 2=5.000000e-01 +Split splitncnn_5 1 2 103 103_splitncnn_0 103_splitncnn_1 +rife.Warp Warp_45 2 1 91_splitncnn_1 103_splitncnn_1 f3 +Convolution Conv_46 1 1 91_splitncnn_0 110 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_47 1 1 110 112 0=256 +Convolution Conv_48 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_49 1 1 113 115 0=256 +Interp Resize_51 1 1 103_splitncnn_0 125 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_53 1 1 125 127 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_59 2 1 115 127 f4 diff --git a/models/rife/rife-v3.0/flownet.bin b/models/rife/rife-v3.0/flownet.bin new file mode 100644 index 0000000..7a97c7f Binary files /dev/null and b/models/rife/rife-v3.0/flownet.bin differ diff --git a/models/rife/rife-v3.0/flownet.param b/models/rife/rife-v3.0/flownet.param new file mode 100644 index 0000000..ddfd44c --- /dev/null +++ b/models/rife/rife-v3.0/flownet.param @@ -0,0 +1,114 @@ +7767517 +112 132 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 88 0=2 +Split splitncnn_0 1 5 88 88_splitncnn_0 88_splitncnn_1 88_splitncnn_2 88_splitncnn_3 88_splitncnn_4 +Interp Resize_3 1 1 88_splitncnn_4 98 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_4 1 1 98 99 0=80 1=3 3=2 4=1 5=1 6=4320 +PReLU PRelu_5 1 1 99 101 0=80 +Convolution Conv_6 1 1 101 102 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_7 1 1 102 104 0=160 +Split splitncnn_1 1 2 104 104_splitncnn_0 104_splitncnn_1 +Convolution Conv_8 1 1 104_splitncnn_1 105 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_9 1 1 105 107 0=160 +Convolution Conv_10 1 1 107 108 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_11 1 1 108 110 0=160 +BinaryOp Add_12 2 1 110 104_splitncnn_0 111 +Split splitncnn_2 1 2 111 111_splitncnn_0 111_splitncnn_1 +Convolution Conv_13 1 1 111_splitncnn_1 112 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_14 1 1 112 114 0=160 +Convolution Conv_15 1 1 114 115 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_16 1 1 115 117 0=160 +BinaryOp Add_17 2 1 117 111_splitncnn_0 118 +Split splitncnn_3 1 2 118 118_splitncnn_0 118_splitncnn_1 +Convolution Conv_18 1 1 118_splitncnn_1 119 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_19 1 1 119 121 0=160 +Convolution Conv_20 1 1 121 122 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_21 1 1 122 124 0=160 +BinaryOp Add_22 2 1 124 118_splitncnn_0 125 +Deconvolution ConvTranspose_23 1 1 125 126 0=4 1=4 3=2 4=1 5=1 6=10240 +Interp Resize_25 1 1 126 136 0=2 1=4.000000e+00 2=4.000000e+00 +BinaryOp Mul_27 1 1 136 138 0=2 1=1 2=4.000000e+00 +Split splitncnn_4 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Interp Resize_29 1 1 138_splitncnn_2 148 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_31 1 1 148 150 0=2 1=1 2=2.000000e+00 +Split splitncnn_5 1 3 150 150_splitncnn_0 150_splitncnn_1 150_splitncnn_2 +Crop Slice_36 1 1 88_splitncnn_3 155 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_41 1 1 150_splitncnn_2 160 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_47 2 1 155 160 166 +Crop Slice_52 1 1 88_splitncnn_2 171 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_57 1 1 150_splitncnn_1 176 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_63 2 1 171 176 182 +Concat Concat_64 2 1 166 182 183 +Interp Resize_66 1 1 183 193 0=2 1=5.000000e-01 2=5.000000e-01 +Interp Resize_68 1 1 150_splitncnn_0 203 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_70 1 1 203 205 0=2 1=1 2=5.000000e-01 +Concat Concat_71 2 1 193 205 206 +Convolution Conv_72 1 1 206 207 0=80 1=3 3=2 4=1 5=1 6=7200 +PReLU PRelu_73 1 1 207 209 0=80 +Convolution Conv_74 1 1 209 210 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_75 1 1 210 212 0=160 +Split splitncnn_6 1 2 212 212_splitncnn_0 212_splitncnn_1 +Convolution Conv_76 1 1 212_splitncnn_1 213 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_77 1 1 213 215 0=160 +Convolution Conv_78 1 1 215 216 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_79 1 1 216 218 0=160 +BinaryOp Add_80 2 1 218 212_splitncnn_0 219 +Split splitncnn_7 1 2 219 219_splitncnn_0 219_splitncnn_1 +Convolution Conv_81 1 1 219_splitncnn_1 220 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_82 1 1 220 222 0=160 +Convolution Conv_83 1 1 222 223 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_84 1 1 223 225 0=160 +BinaryOp Add_85 2 1 225 219_splitncnn_0 226 +Split splitncnn_8 1 2 226 226_splitncnn_0 226_splitncnn_1 +Convolution Conv_86 1 1 226_splitncnn_1 227 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_87 1 1 227 229 0=160 +Convolution Conv_88 1 1 229 230 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_89 1 1 230 232 0=160 +BinaryOp Add_90 2 1 232 226_splitncnn_0 233 +Deconvolution ConvTranspose_91 1 1 233 234 0=4 1=4 3=2 4=1 5=1 6=10240 +Interp Resize_93 1 1 234 244 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_95 1 1 244 246 0=2 1=1 2=2.000000e+00 +Split splitncnn_9 1 2 246 246_splitncnn_0 246_splitncnn_1 +BinaryOp Add_96 2 1 138_splitncnn_1 246_splitncnn_1 247 +Interp Resize_98 1 1 247 257 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_100 1 1 257 259 0=2 1=1 2=2.000000e+00 +Split splitncnn_10 1 3 259 259_splitncnn_0 259_splitncnn_1 259_splitncnn_2 +Crop Slice_105 1 1 88_splitncnn_1 264 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_110 1 1 259_splitncnn_2 269 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_116 2 1 264 269 275 +Crop Slice_121 1 1 88_splitncnn_0 280 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_126 1 1 259_splitncnn_1 285 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_132 2 1 280 285 291 +Concat Concat_133 2 1 275 291 292 +Interp Resize_135 1 1 292 302 0=2 +Interp Resize_137 1 1 259_splitncnn_0 312 0=2 +BinaryOp Mul_139 1 1 312 314 0=2 1=1 2=1.000000e+00 +Concat Concat_140 2 1 302 314 315 +Convolution Conv_141 1 1 315 316 0=80 1=3 3=2 4=1 5=1 6=7200 +PReLU PRelu_142 1 1 316 318 0=80 +Convolution Conv_143 1 1 318 319 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_144 1 1 319 321 0=160 +Split splitncnn_11 1 2 321 321_splitncnn_0 321_splitncnn_1 +Convolution Conv_145 1 1 321_splitncnn_1 322 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_146 1 1 322 324 0=160 +Convolution Conv_147 1 1 324 325 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_148 1 1 325 327 0=160 +BinaryOp Add_149 2 1 327 321_splitncnn_0 328 +Split splitncnn_12 1 2 328 328_splitncnn_0 328_splitncnn_1 +Convolution Conv_150 1 1 328_splitncnn_1 329 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_151 1 1 329 331 0=160 +Convolution Conv_152 1 1 331 332 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_153 1 1 332 334 0=160 +BinaryOp Add_154 2 1 334 328_splitncnn_0 335 +Split splitncnn_13 1 2 335 335_splitncnn_0 335_splitncnn_1 +Convolution Conv_155 1 1 335_splitncnn_1 336 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_156 1 1 336 338 0=160 +Convolution Conv_157 1 1 338 339 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_158 1 1 339 341 0=160 +BinaryOp Add_159 2 1 341 335_splitncnn_0 342 +Deconvolution ConvTranspose_160 1 1 342 343 0=4 1=4 3=2 4=1 5=1 6=10240 +BinaryOp Add_161 2 1 138_splitncnn_0 246_splitncnn_0 344 +BinaryOp Add_162 2 1 344 343 flow diff --git a/models/rife/rife-v3.0/fusionnet.bin b/models/rife/rife-v3.0/fusionnet.bin new file mode 100644 index 0000000..9c2936b Binary files /dev/null and b/models/rife/rife-v3.0/fusionnet.bin differ diff --git a/models/rife/rife-v3.0/fusionnet.param b/models/rife/rife-v3.0/fusionnet.param new file mode 100644 index 0000000..35ab12e --- /dev/null +++ b/models/rife/rife-v3.0/fusionnet.param @@ -0,0 +1,74 @@ +7767517 +72 81 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 64 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 64 66 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 66 66_splitncnn_0 66_splitncnn_1 66_splitncnn_2 +Crop Slice_8 1 1 66_splitncnn_2 71 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_14 2 1 img0 71 77 +Split splitncnn_1 1 2 77 77_splitncnn_0 77_splitncnn_1 +Crop Slice_19 1 1 66_splitncnn_1 82 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_14 2 1 img1 82 88 +Split splitncnn_2 1 2 88 88_splitncnn_0 88_splitncnn_1 +Concat Concat_26 3 1 77_splitncnn_1 88_splitncnn_1 66_splitncnn_0 89 +Convolution Conv_27 1 1 89 90 0=32 1=3 3=2 4=1 5=1 6=2880 +PReLU PRelu_28 1 1 90 92 0=32 +Convolution Conv_29 1 1 92 93 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_30 1 1 93 95 0=32 +Convolution Conv_31 1 1 95 96 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_32 1 1 96 98 0=64 +Convolution Conv_33 1 1 98 99 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 99 101 0=64 +Split splitncnn_3 1 2 101 101_splitncnn_0 101_splitncnn_1 +Concat Concat_35 3 1 101_splitncnn_1 3 7 102 +Convolution Conv_36 1 1 102 103 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_37 1 1 103 105 0=128 +Convolution Conv_38 1 1 105 106 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_39 1 1 106 108 0=128 +Split splitncnn_4 1 2 108 108_splitncnn_0 108_splitncnn_1 +Concat Concat_40 3 1 108_splitncnn_1 4 8 109 +Convolution Conv_41 1 1 109 110 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_42 1 1 110 112 0=256 +Convolution Conv_43 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_44 1 1 113 115 0=256 +Split splitncnn_5 1 2 115 115_splitncnn_0 115_splitncnn_1 +Concat Concat_45 3 1 115_splitncnn_1 5 9 116 +Convolution Conv_46 1 1 116 117 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_47 1 1 117 119 0=512 +Convolution Conv_48 1 1 119 120 0=512 1=3 4=1 5=1 6=2359296 +PReLU PRelu_49 1 1 120 122 0=512 +Concat Concat_50 3 1 122 6 10 123 +Deconvolution ConvTranspose_51 1 1 123 124 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_52 1 1 124 126 0=256 +Concat Concat_53 2 1 126 115_splitncnn_0 127 +Deconvolution ConvTranspose_54 1 1 127 128 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_55 1 1 128 130 0=128 +Concat Concat_56 2 1 130 108_splitncnn_0 131 +Deconvolution ConvTranspose_57 1 1 131 132 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_58 1 1 132 134 0=64 +Concat Concat_59 2 1 134 101_splitncnn_0 135 +Deconvolution ConvTranspose_60 1 1 135 136 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_61 1 1 136 138 0=32 +Deconvolution ConvTranspose_62 1 1 138 140 0=4 1=4 3=2 4=1 5=1 6=2048 9=4 +Split splitncnn_6 1 2 140 140_splitncnn_0 140_splitncnn_1 +Crop Slice_68 1 1 140_splitncnn_1 145 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_70 1 1 145 147 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_72 1 1 147 149 0=1 1=1 2=1.000000e+00 +Crop Slice_77 1 1 140_splitncnn_0 154 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_7 1 2 154 154_splitncnn_0 154_splitncnn_1 +BinaryOp Mul_78 2 1 77_splitncnn_0 154_splitncnn_1 155 0=2 +BinaryOp Sub_80 1 1 154_splitncnn_0 157 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_81 2 1 88_splitncnn_0 157 158 0=2 +BinaryOp Add_82 2 1 155 158 159 +BinaryOp Add_83 2 1 159 149 160 +Clip Clip_84 1 1 160 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v3.1/contextnet.bin b/models/rife/rife-v3.1/contextnet.bin new file mode 100644 index 0000000..36e2c6f Binary files /dev/null and b/models/rife/rife-v3.1/contextnet.bin differ diff --git a/models/rife/rife-v3.1/contextnet.param b/models/rife/rife-v3.1/contextnet.param new file mode 100644 index 0000000..c44e590 --- /dev/null +++ b/models/rife/rife-v3.1/contextnet.param @@ -0,0 +1,42 @@ +7767517 +40 46 +Input input.1 0 1 input.1 +Input flow.0 0 1 flow.0 +Convolution Conv_0 1 1 input.1 32 0=32 1=3 3=2 4=1 5=1 6=864 +PReLU PRelu_1 1 1 32 34 0=32 +Convolution Conv_2 1 1 34 35 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_3 1 1 35 37 0=32 +Convolution Conv_4 1 1 37 38 0=32 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_5 1 1 38 40 0=32 +Convolution Conv_6 1 1 40 41 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_7 1 1 41 43 0=32 +Split splitncnn_0 1 2 43 43_splitncnn_0 43_splitncnn_1 +Interp Resize_9 1 1 flow.0 53 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_11 1 1 53 55 0=2 1=1 2=5.000000e-01 +Split splitncnn_1 1 2 55 55_splitncnn_0 55_splitncnn_1 +rife.Warp Warp_17 2 1 43_splitncnn_1 55_splitncnn_1 f1 +Convolution Conv_18 1 1 43_splitncnn_0 62 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_19 1 1 62 64 0=64 +Convolution Conv_20 1 1 64 65 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_21 1 1 65 67 0=64 +Split splitncnn_2 1 2 67 67_splitncnn_0 67_splitncnn_1 +Interp Resize_23 1 1 55_splitncnn_0 77 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_25 1 1 77 79 0=2 1=1 2=5.000000e-01 +Split splitncnn_3 1 2 79 79_splitncnn_0 79_splitncnn_1 +rife.Warp Warp_31 2 1 67_splitncnn_1 79_splitncnn_1 f2 +Convolution Conv_32 1 1 67_splitncnn_0 86 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_33 1 1 86 88 0=128 +Convolution Conv_34 1 1 88 89 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_35 1 1 89 91 0=128 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +Interp Resize_37 1 1 79_splitncnn_0 101 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_39 1 1 101 103 0=2 1=1 2=5.000000e-01 +Split splitncnn_5 1 2 103 103_splitncnn_0 103_splitncnn_1 +rife.Warp Warp_45 2 1 91_splitncnn_1 103_splitncnn_1 f3 +Convolution Conv_46 1 1 91_splitncnn_0 110 0=256 1=3 3=2 4=1 5=1 6=294912 +PReLU PRelu_47 1 1 110 112 0=256 +Convolution Conv_48 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_49 1 1 113 115 0=256 +Interp Resize_51 1 1 103_splitncnn_0 125 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_53 1 1 125 127 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_59 2 1 115 127 f4 diff --git a/models/rife/rife-v3.1/flownet.bin b/models/rife/rife-v3.1/flownet.bin new file mode 100644 index 0000000..9c5d448 Binary files /dev/null and b/models/rife/rife-v3.1/flownet.bin differ diff --git a/models/rife/rife-v3.1/flownet.param b/models/rife/rife-v3.1/flownet.param new file mode 100644 index 0000000..ddfd44c --- /dev/null +++ b/models/rife/rife-v3.1/flownet.param @@ -0,0 +1,114 @@ +7767517 +112 132 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 88 0=2 +Split splitncnn_0 1 5 88 88_splitncnn_0 88_splitncnn_1 88_splitncnn_2 88_splitncnn_3 88_splitncnn_4 +Interp Resize_3 1 1 88_splitncnn_4 98 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_4 1 1 98 99 0=80 1=3 3=2 4=1 5=1 6=4320 +PReLU PRelu_5 1 1 99 101 0=80 +Convolution Conv_6 1 1 101 102 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_7 1 1 102 104 0=160 +Split splitncnn_1 1 2 104 104_splitncnn_0 104_splitncnn_1 +Convolution Conv_8 1 1 104_splitncnn_1 105 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_9 1 1 105 107 0=160 +Convolution Conv_10 1 1 107 108 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_11 1 1 108 110 0=160 +BinaryOp Add_12 2 1 110 104_splitncnn_0 111 +Split splitncnn_2 1 2 111 111_splitncnn_0 111_splitncnn_1 +Convolution Conv_13 1 1 111_splitncnn_1 112 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_14 1 1 112 114 0=160 +Convolution Conv_15 1 1 114 115 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_16 1 1 115 117 0=160 +BinaryOp Add_17 2 1 117 111_splitncnn_0 118 +Split splitncnn_3 1 2 118 118_splitncnn_0 118_splitncnn_1 +Convolution Conv_18 1 1 118_splitncnn_1 119 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_19 1 1 119 121 0=160 +Convolution Conv_20 1 1 121 122 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_21 1 1 122 124 0=160 +BinaryOp Add_22 2 1 124 118_splitncnn_0 125 +Deconvolution ConvTranspose_23 1 1 125 126 0=4 1=4 3=2 4=1 5=1 6=10240 +Interp Resize_25 1 1 126 136 0=2 1=4.000000e+00 2=4.000000e+00 +BinaryOp Mul_27 1 1 136 138 0=2 1=1 2=4.000000e+00 +Split splitncnn_4 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Interp Resize_29 1 1 138_splitncnn_2 148 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_31 1 1 148 150 0=2 1=1 2=2.000000e+00 +Split splitncnn_5 1 3 150 150_splitncnn_0 150_splitncnn_1 150_splitncnn_2 +Crop Slice_36 1 1 88_splitncnn_3 155 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_41 1 1 150_splitncnn_2 160 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_47 2 1 155 160 166 +Crop Slice_52 1 1 88_splitncnn_2 171 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_57 1 1 150_splitncnn_1 176 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_63 2 1 171 176 182 +Concat Concat_64 2 1 166 182 183 +Interp Resize_66 1 1 183 193 0=2 1=5.000000e-01 2=5.000000e-01 +Interp Resize_68 1 1 150_splitncnn_0 203 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_70 1 1 203 205 0=2 1=1 2=5.000000e-01 +Concat Concat_71 2 1 193 205 206 +Convolution Conv_72 1 1 206 207 0=80 1=3 3=2 4=1 5=1 6=7200 +PReLU PRelu_73 1 1 207 209 0=80 +Convolution Conv_74 1 1 209 210 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_75 1 1 210 212 0=160 +Split splitncnn_6 1 2 212 212_splitncnn_0 212_splitncnn_1 +Convolution Conv_76 1 1 212_splitncnn_1 213 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_77 1 1 213 215 0=160 +Convolution Conv_78 1 1 215 216 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_79 1 1 216 218 0=160 +BinaryOp Add_80 2 1 218 212_splitncnn_0 219 +Split splitncnn_7 1 2 219 219_splitncnn_0 219_splitncnn_1 +Convolution Conv_81 1 1 219_splitncnn_1 220 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_82 1 1 220 222 0=160 +Convolution Conv_83 1 1 222 223 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_84 1 1 223 225 0=160 +BinaryOp Add_85 2 1 225 219_splitncnn_0 226 +Split splitncnn_8 1 2 226 226_splitncnn_0 226_splitncnn_1 +Convolution Conv_86 1 1 226_splitncnn_1 227 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_87 1 1 227 229 0=160 +Convolution Conv_88 1 1 229 230 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_89 1 1 230 232 0=160 +BinaryOp Add_90 2 1 232 226_splitncnn_0 233 +Deconvolution ConvTranspose_91 1 1 233 234 0=4 1=4 3=2 4=1 5=1 6=10240 +Interp Resize_93 1 1 234 244 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_95 1 1 244 246 0=2 1=1 2=2.000000e+00 +Split splitncnn_9 1 2 246 246_splitncnn_0 246_splitncnn_1 +BinaryOp Add_96 2 1 138_splitncnn_1 246_splitncnn_1 247 +Interp Resize_98 1 1 247 257 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_100 1 1 257 259 0=2 1=1 2=2.000000e+00 +Split splitncnn_10 1 3 259 259_splitncnn_0 259_splitncnn_1 259_splitncnn_2 +Crop Slice_105 1 1 88_splitncnn_1 264 -23309=1,0 -23310=1,3 -23311=1,0 +Crop Slice_110 1 1 259_splitncnn_2 269 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_116 2 1 264 269 275 +Crop Slice_121 1 1 88_splitncnn_0 280 -23309=1,3 -23310=1,2147483647 -23311=1,0 +Crop Slice_126 1 1 259_splitncnn_1 285 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_132 2 1 280 285 291 +Concat Concat_133 2 1 275 291 292 +Interp Resize_135 1 1 292 302 0=2 +Interp Resize_137 1 1 259_splitncnn_0 312 0=2 +BinaryOp Mul_139 1 1 312 314 0=2 1=1 2=1.000000e+00 +Concat Concat_140 2 1 302 314 315 +Convolution Conv_141 1 1 315 316 0=80 1=3 3=2 4=1 5=1 6=7200 +PReLU PRelu_142 1 1 316 318 0=80 +Convolution Conv_143 1 1 318 319 0=160 1=3 3=2 4=1 5=1 6=115200 +PReLU PRelu_144 1 1 319 321 0=160 +Split splitncnn_11 1 2 321 321_splitncnn_0 321_splitncnn_1 +Convolution Conv_145 1 1 321_splitncnn_1 322 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_146 1 1 322 324 0=160 +Convolution Conv_147 1 1 324 325 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_148 1 1 325 327 0=160 +BinaryOp Add_149 2 1 327 321_splitncnn_0 328 +Split splitncnn_12 1 2 328 328_splitncnn_0 328_splitncnn_1 +Convolution Conv_150 1 1 328_splitncnn_1 329 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_151 1 1 329 331 0=160 +Convolution Conv_152 1 1 331 332 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_153 1 1 332 334 0=160 +BinaryOp Add_154 2 1 334 328_splitncnn_0 335 +Split splitncnn_13 1 2 335 335_splitncnn_0 335_splitncnn_1 +Convolution Conv_155 1 1 335_splitncnn_1 336 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_156 1 1 336 338 0=160 +Convolution Conv_157 1 1 338 339 0=160 1=3 4=1 5=1 6=230400 +PReLU PRelu_158 1 1 339 341 0=160 +BinaryOp Add_159 2 1 341 335_splitncnn_0 342 +Deconvolution ConvTranspose_160 1 1 342 343 0=4 1=4 3=2 4=1 5=1 6=10240 +BinaryOp Add_161 2 1 138_splitncnn_0 246_splitncnn_0 344 +BinaryOp Add_162 2 1 344 343 flow diff --git a/models/rife/rife-v3.1/fusionnet.bin b/models/rife/rife-v3.1/fusionnet.bin new file mode 100644 index 0000000..d75f227 Binary files /dev/null and b/models/rife/rife-v3.1/fusionnet.bin differ diff --git a/models/rife/rife-v3.1/fusionnet.param b/models/rife/rife-v3.1/fusionnet.param new file mode 100644 index 0000000..35ab12e --- /dev/null +++ b/models/rife/rife-v3.1/fusionnet.param @@ -0,0 +1,74 @@ +7767517 +72 81 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 64 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 64 66 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 66 66_splitncnn_0 66_splitncnn_1 66_splitncnn_2 +Crop Slice_8 1 1 66_splitncnn_2 71 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp Warp_14 2 1 img0 71 77 +Split splitncnn_1 1 2 77 77_splitncnn_0 77_splitncnn_1 +Crop Slice_19 1 1 66_splitncnn_1 82 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp Warp_14 2 1 img1 82 88 +Split splitncnn_2 1 2 88 88_splitncnn_0 88_splitncnn_1 +Concat Concat_26 3 1 77_splitncnn_1 88_splitncnn_1 66_splitncnn_0 89 +Convolution Conv_27 1 1 89 90 0=32 1=3 3=2 4=1 5=1 6=2880 +PReLU PRelu_28 1 1 90 92 0=32 +Convolution Conv_29 1 1 92 93 0=32 1=3 4=1 5=1 6=9216 +PReLU PRelu_30 1 1 93 95 0=32 +Convolution Conv_31 1 1 95 96 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_32 1 1 96 98 0=64 +Convolution Conv_33 1 1 98 99 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 99 101 0=64 +Split splitncnn_3 1 2 101 101_splitncnn_0 101_splitncnn_1 +Concat Concat_35 3 1 101_splitncnn_1 3 7 102 +Convolution Conv_36 1 1 102 103 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_37 1 1 103 105 0=128 +Convolution Conv_38 1 1 105 106 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_39 1 1 106 108 0=128 +Split splitncnn_4 1 2 108 108_splitncnn_0 108_splitncnn_1 +Concat Concat_40 3 1 108_splitncnn_1 4 8 109 +Convolution Conv_41 1 1 109 110 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_42 1 1 110 112 0=256 +Convolution Conv_43 1 1 112 113 0=256 1=3 4=1 5=1 6=589824 +PReLU PRelu_44 1 1 113 115 0=256 +Split splitncnn_5 1 2 115 115_splitncnn_0 115_splitncnn_1 +Concat Concat_45 3 1 115_splitncnn_1 5 9 116 +Convolution Conv_46 1 1 116 117 0=512 1=3 3=2 4=1 5=1 6=2359296 +PReLU PRelu_47 1 1 117 119 0=512 +Convolution Conv_48 1 1 119 120 0=512 1=3 4=1 5=1 6=2359296 +PReLU PRelu_49 1 1 120 122 0=512 +Concat Concat_50 3 1 122 6 10 123 +Deconvolution ConvTranspose_51 1 1 123 124 0=256 1=4 3=2 4=1 5=1 6=4194304 +PReLU PRelu_52 1 1 124 126 0=256 +Concat Concat_53 2 1 126 115_splitncnn_0 127 +Deconvolution ConvTranspose_54 1 1 127 128 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_55 1 1 128 130 0=128 +Concat Concat_56 2 1 130 108_splitncnn_0 131 +Deconvolution ConvTranspose_57 1 1 131 132 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_58 1 1 132 134 0=64 +Concat Concat_59 2 1 134 101_splitncnn_0 135 +Deconvolution ConvTranspose_60 1 1 135 136 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_61 1 1 136 138 0=32 +Deconvolution ConvTranspose_62 1 1 138 140 0=4 1=4 3=2 4=1 5=1 6=2048 9=4 +Split splitncnn_6 1 2 140 140_splitncnn_0 140_splitncnn_1 +Crop Slice_68 1 1 140_splitncnn_1 145 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_70 1 1 145 147 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_72 1 1 147 149 0=1 1=1 2=1.000000e+00 +Crop Slice_77 1 1 140_splitncnn_0 154 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_7 1 2 154 154_splitncnn_0 154_splitncnn_1 +BinaryOp Mul_78 2 1 77_splitncnn_0 154_splitncnn_1 155 0=2 +BinaryOp Sub_80 1 1 154_splitncnn_0 157 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_81 2 1 88_splitncnn_0 157 158 0=2 +BinaryOp Add_82 2 1 155 158 159 +BinaryOp Add_83 2 1 159 149 160 +Clip Clip_84 1 1 160 output 0=0.000000e+00 1=1.000000e+00 diff --git a/models/rife/rife-v4.6/flownet.bin b/models/rife/rife-v4.6/flownet.bin new file mode 100644 index 0000000..70de38e Binary files /dev/null and b/models/rife/rife-v4.6/flownet.bin differ diff --git a/models/rife/rife-v4.6/flownet.param b/models/rife/rife-v4.6/flownet.param new file mode 100644 index 0000000..3cb69d4 --- /dev/null +++ b/models/rife/rife-v4.6/flownet.param @@ -0,0 +1,217 @@ +7767517 +215 276 +Input in0 0 1 in0 +Split splitncnn_0 1 5 in0 1 2 3 4 5 +Input in1 0 1 in1 +Split splitncnn_1 1 5 in1 7 8 9 10 11 +Input in2 0 1 in2 +Split splitncnn_2 1 4 in2 13 14 15 16 +Concat cat_0 3 1 1 7 13 17 +Interp upsample_9 1 1 17 18 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution convrelu_0 1 1 18 20 0=96 1=3 3=2 4=1 5=1 6=6048 9=2 -23310=1,2.000000e-01 +Convolution convrelu_1 1 1 20 21 0=192 1=3 3=2 4=1 5=1 6=165888 9=2 -23310=1,2.000000e-01 +Split splitncnn_3 1 2 21 22 23 +Convolution conv_22 1 1 23 25 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_1 2 1 25 22 26 +ReLU leakyrelu_66 1 1 26 28 0=2.000000e-01 +Split splitncnn_4 1 2 28 29 30 +Convolution conv_23 1 1 30 32 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_3 2 1 32 29 33 +ReLU leakyrelu_67 1 1 33 35 0=2.000000e-01 +Split splitncnn_5 1 2 35 36 37 +Convolution conv_24 1 1 37 39 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_5 2 1 39 36 40 +ReLU leakyrelu_68 1 1 40 42 0=2.000000e-01 +Split splitncnn_6 1 2 42 43 44 +Convolution conv_25 1 1 44 46 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_7 2 1 46 43 47 +ReLU leakyrelu_69 1 1 47 49 0=2.000000e-01 +Split splitncnn_7 1 2 49 50 51 +Convolution conv_26 1 1 51 53 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_9 2 1 53 50 54 +ReLU leakyrelu_70 1 1 54 56 0=2.000000e-01 +Split splitncnn_8 1 2 56 57 58 +Convolution conv_27 1 1 58 60 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_11 2 1 60 57 61 +ReLU leakyrelu_71 1 1 61 63 0=2.000000e-01 +Split splitncnn_9 1 2 63 64 65 +Convolution conv_28 1 1 65 67 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_13 2 1 67 64 68 +ReLU leakyrelu_72 1 1 68 70 0=2.000000e-01 +Split splitncnn_10 1 2 70 71 72 +Convolution conv_29 1 1 72 74 0=192 1=3 4=1 5=1 6=331776 +BinaryOp add_15 2 1 74 71 75 +ReLU leakyrelu_73 1 1 75 76 0=2.000000e-01 +Deconvolution deconv_60 1 1 76 77 0=24 1=4 3=2 4=1 5=1 6=73728 +PixelShuffle pixelshuffle_104 1 1 77 flow0 0=2 +Interp upsample_10 1 1 flow0 79 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_11 1 2 79 80 81 +Crop slice_108 1 1 81 82 -23309=1,0 -23310=1,4 -23311=1,0 +BinaryOp mul_16 1 1 82 83 0=2 1=1 2=8.000000e+00 +Split splitncnn_12 1 4 83 84 85 86 87 +Interp upsample_11 1 1 85 88 0=2 1=2.500000e-01 2=2.500000e-01 +BinaryOp div_17 1 1 88 89 0=3 1=1 2=4.000000e+00 +Crop slice_109 1 1 87 90 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_1 2 1 11 90 91 +Crop slice_110 1 1 86 92 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_0 2 1 5 92 93 +Crop slice_111 1 1 80 94 -23309=1,4 -23310=1,5 -23311=1,0 +Split splitncnn_13 1 2 94 95 96 +Concat cat_3 4 1 93 91 14 95 97 +Interp upsample_12 1 1 97 98 0=2 1=2.500000e-01 2=2.500000e-01 +Concat cat_4 2 1 98 89 99 +Convolution convrelu_2 1 1 99 101 0=64 1=3 3=2 4=1 5=1 6=6912 9=2 -23310=1,2.000000e-01 +Convolution convrelu_3 1 1 101 102 0=128 1=3 3=2 4=1 5=1 6=73728 9=2 -23310=1,2.000000e-01 +Split splitncnn_14 1 2 102 103 104 +Convolution conv_32 1 1 104 106 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_19 2 1 106 103 107 +ReLU leakyrelu_76 1 1 107 109 0=2.000000e-01 +Split splitncnn_15 1 2 109 110 111 +Convolution conv_33 1 1 111 113 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_21 2 1 113 110 114 +ReLU leakyrelu_77 1 1 114 116 0=2.000000e-01 +Split splitncnn_16 1 2 116 117 118 +Convolution conv_34 1 1 118 120 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_23 2 1 120 117 121 +ReLU leakyrelu_78 1 1 121 123 0=2.000000e-01 +Split splitncnn_17 1 2 123 124 125 +Convolution conv_35 1 1 125 127 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_25 2 1 127 124 128 +ReLU leakyrelu_79 1 1 128 130 0=2.000000e-01 +Split splitncnn_18 1 2 130 131 132 +Convolution conv_36 1 1 132 134 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_27 2 1 134 131 135 +ReLU leakyrelu_80 1 1 135 137 0=2.000000e-01 +Split splitncnn_19 1 2 137 138 139 +Convolution conv_37 1 1 139 141 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_29 2 1 141 138 142 +ReLU leakyrelu_81 1 1 142 144 0=2.000000e-01 +Split splitncnn_20 1 2 144 145 146 +Convolution conv_38 1 1 146 148 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_31 2 1 148 145 149 +ReLU leakyrelu_82 1 1 149 151 0=2.000000e-01 +Split splitncnn_21 1 2 151 152 153 +Convolution conv_39 1 1 153 155 0=128 1=3 4=1 5=1 6=147456 +BinaryOp add_33 2 1 155 152 156 +ReLU leakyrelu_83 1 1 156 157 0=2.000000e-01 +Deconvolution deconv_61 1 1 157 158 0=24 1=4 3=2 4=1 5=1 6=49152 +PixelShuffle pixelshuffle_105 1 1 158 flow1 0=2 +Interp upsample_13 1 1 flow1 160 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_22 1 2 160 161 162 +Crop slice_112 1 1 162 163 -23309=1,0 -23310=1,4 -23311=1,0 +Eltwise weighted_sum_0 2 1 84 163 164 0=1 -23301=2,1.000000e+00,4.000000e+00 +Split splitncnn_23 1 4 164 165 166 167 168 +Crop slice_113 1 1 161 169 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_36 2 1 96 169 170 +Split splitncnn_24 1 2 170 171 172 +Interp upsample_14 1 1 166 173 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp div_37 1 1 173 174 0=3 1=1 2=2.000000e+00 +Crop slice_114 1 1 168 175 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_3 2 1 10 175 176 +Crop slice_115 1 1 167 177 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_2 2 1 4 177 178 +Concat cat_7 4 1 178 176 15 171 179 +Interp upsample_15 1 1 179 180 0=2 1=5.000000e-01 2=5.000000e-01 +Concat cat_8 2 1 180 174 181 +Convolution convrelu_4 1 1 181 183 0=48 1=3 3=2 4=1 5=1 6=5184 9=2 -23310=1,2.000000e-01 +Convolution convrelu_5 1 1 183 184 0=96 1=3 3=2 4=1 5=1 6=41472 9=2 -23310=1,2.000000e-01 +Split splitncnn_25 1 2 184 185 186 +Convolution conv_42 1 1 186 188 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_39 2 1 188 185 189 +ReLU leakyrelu_86 1 1 189 191 0=2.000000e-01 +Split splitncnn_26 1 2 191 192 193 +Convolution conv_43 1 1 193 195 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_41 2 1 195 192 196 +ReLU leakyrelu_87 1 1 196 198 0=2.000000e-01 +Split splitncnn_27 1 2 198 199 200 +Convolution conv_44 1 1 200 202 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_43 2 1 202 199 203 +ReLU leakyrelu_88 1 1 203 205 0=2.000000e-01 +Split splitncnn_28 1 2 205 206 207 +Convolution conv_45 1 1 207 209 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_45 2 1 209 206 210 +ReLU leakyrelu_89 1 1 210 212 0=2.000000e-01 +Split splitncnn_29 1 2 212 213 214 +Convolution conv_46 1 1 214 216 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_47 2 1 216 213 217 +ReLU leakyrelu_90 1 1 217 219 0=2.000000e-01 +Split splitncnn_30 1 2 219 220 221 +Convolution conv_47 1 1 221 223 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_49 2 1 223 220 224 +ReLU leakyrelu_91 1 1 224 226 0=2.000000e-01 +Split splitncnn_31 1 2 226 227 228 +Convolution conv_48 1 1 228 230 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_51 2 1 230 227 231 +ReLU leakyrelu_92 1 1 231 233 0=2.000000e-01 +Split splitncnn_32 1 2 233 234 235 +Convolution conv_49 1 1 235 237 0=96 1=3 4=1 5=1 6=82944 +BinaryOp add_53 2 1 237 234 238 +ReLU leakyrelu_93 1 1 238 239 0=2.000000e-01 +Deconvolution deconv_62 1 1 239 240 0=24 1=4 3=2 4=1 5=1 6=36864 +PixelShuffle pixelshuffle_106 1 1 240 flow2 0=2 +Interp upsample_16 1 1 flow2 242 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_33 1 2 242 243 244 +Crop slice_116 1 1 244 245 -23309=1,0 -23310=1,4 -23311=1,0 +Eltwise weighted_sum_1 2 1 165 245 246 0=1 -23301=2,1.000000e+00,2.000000e+00 +Split splitncnn_34 1 4 246 247 261 249 250 +Crop slice_117 1 1 243 251 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_56 2 1 172 251 252 +Split splitncnn_35 1 2 252 253 254 +Crop slice_118 1 1 250 255 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_5 2 1 9 255 256 +Crop slice_119 1 1 249 257 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_4 2 1 3 257 258 +Concat cat_11 4 1 258 256 16 253 260 +Concat cat_12 2 1 260 261 262 +Convolution convrelu_6 1 1 262 264 0=32 1=3 3=2 4=1 5=1 6=3456 9=2 -23310=1,2.000000e-01 +Convolution convrelu_7 1 1 264 265 0=64 1=3 3=2 4=1 5=1 6=18432 9=2 -23310=1,2.000000e-01 +Split splitncnn_36 1 2 265 266 267 +Convolution conv_52 1 1 267 269 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_58 2 1 269 266 270 +ReLU leakyrelu_96 1 1 270 272 0=2.000000e-01 +Split splitncnn_37 1 2 272 273 274 +Convolution conv_53 1 1 274 276 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_60 2 1 276 273 277 +ReLU leakyrelu_97 1 1 277 279 0=2.000000e-01 +Split splitncnn_38 1 2 279 280 281 +Convolution conv_54 1 1 281 283 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_62 2 1 283 280 284 +ReLU leakyrelu_98 1 1 284 286 0=2.000000e-01 +Split splitncnn_39 1 2 286 287 288 +Convolution conv_55 1 1 288 290 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_64 2 1 290 287 291 +ReLU leakyrelu_99 1 1 291 293 0=2.000000e-01 +Split splitncnn_40 1 2 293 294 295 +Convolution conv_56 1 1 295 297 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_66 2 1 297 294 298 +ReLU leakyrelu_100 1 1 298 300 0=2.000000e-01 +Split splitncnn_41 1 2 300 301 302 +Convolution conv_57 1 1 302 304 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_68 2 1 304 301 305 +ReLU leakyrelu_101 1 1 305 307 0=2.000000e-01 +Split splitncnn_42 1 2 307 308 309 +Convolution conv_58 1 1 309 311 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_70 2 1 311 308 312 +ReLU leakyrelu_102 1 1 312 314 0=2.000000e-01 +Split splitncnn_43 1 2 314 315 316 +Convolution conv_59 1 1 316 318 0=64 1=3 4=1 5=1 6=36864 +BinaryOp add_72 2 1 318 315 319 +ReLU leakyrelu_103 1 1 319 320 0=2.000000e-01 +Deconvolution deconv_63 1 1 320 321 0=24 1=4 3=2 4=1 5=1 6=24576 +PixelShuffle pixelshuffle_107 1 1 321 flow3 0=2 +Split splitncnn_44 1 2 flow3 324 325 +Crop slice_120 1 1 325 326 -23309=1,0 -23310=1,4 -23311=1,0 +BinaryOp add_73 2 1 247 326 327 +Split splitncnn_45 1 2 327 328 329 +Crop slice_121 1 1 324 330 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_74 2 1 254 330 331 +Sigmoid sigmoid_8 1 1 331 332 +Split splitncnn_46 1 2 332 333 334 +BinaryOp sub_75 1 1 333 335 0=7 1=1 2=1.000000e+00 +Crop slice_123 1 1 328 336 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_6 2 1 8 336 337 +BinaryOp mul_76 2 1 337 335 338 0=2 +Crop slice_122 1 1 329 339 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_7 2 1 2 339 340 +BinaryOp mul_77 2 1 340 334 341 0=2 +BinaryOp add_78 2 1 341 338 out0 diff --git a/models/rife/rife-v4/flownet.bin b/models/rife/rife-v4/flownet.bin new file mode 100644 index 0000000..b90370f Binary files /dev/null and b/models/rife/rife-v4/flownet.bin differ diff --git a/models/rife/rife-v4/flownet.param b/models/rife/rife-v4/flownet.param new file mode 100644 index 0000000..94f6d80 --- /dev/null +++ b/models/rife/rife-v4/flownet.param @@ -0,0 +1,168 @@ +7767517 +166 199 +Input in0 0 1 in0 +Split splitncnn_0 1 5 in0 1 2 3 4 5 +Input in1 0 1 in1 +Split splitncnn_1 1 5 in1 7 8 9 10 11 +Input in2 0 1 in2 +Split splitncnn_2 1 4 in2 13 14 15 16 +Concat cat_0 3 1 1 7 13 17 +Interp upsample_9 1 1 17 18 0=2 1=1.250000e-01 2=1.250000e-01 +Convolution conv_20 1 1 18 19 0=96 1=3 3=2 4=1 5=1 6=6048 +PReLU prelu_64 1 1 19 20 0=96 +Convolution conv_21 1 1 20 21 0=192 1=3 3=2 4=1 5=1 6=165888 +PReLU prelu_65 1 1 21 22 0=192 +Split splitncnn_3 1 2 22 23 24 +Convolution conv_22 1 1 24 25 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_66 1 1 25 26 0=192 +Convolution conv_23 1 1 26 27 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_67 1 1 27 28 0=192 +Convolution conv_24 1 1 28 29 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_68 1 1 29 30 0=192 +Convolution conv_25 1 1 30 31 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_69 1 1 31 32 0=192 +Convolution conv_26 1 1 32 33 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_70 1 1 33 34 0=192 +Convolution conv_27 1 1 34 35 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_71 1 1 35 36 0=192 +Convolution conv_28 1 1 36 37 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_72 1 1 37 38 0=192 +Convolution conv_29 1 1 38 39 0=192 1=3 4=1 5=1 6=331776 +PReLU prelu_73 1 1 39 40 0=192 +BinaryOp add_0 2 1 40 23 41 +Deconvolution deconv_60 1 1 41 flow0 0=5 1=4 3=2 4=1 5=1 6=15360 +Interp upsample_10 1 1 flow0 43 0=2 1=1.600000e+01 2=1.600000e+01 +Split splitncnn_4 1 2 43 44 45 +Crop slice_104 1 1 45 46 -23309=1,0 -23310=1,4 -23311=1,0 +BinaryOp mul_1 1 1 46 47 0=2 1=1 2=1.600000e+01 +Split splitncnn_5 1 4 47 48 49 50 51 +Interp upsample_11 1 1 49 52 0=2 1=2.500000e-01 2=2.500000e-01 +BinaryOp mul_2 1 1 52 53 0=2 1=1 2=2.500000e-01 +Crop slice_105 1 1 51 54 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_1 2 1 11 54 55 +Crop slice_106 1 1 50 56 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_0 2 1 5 56 57 +Crop slice_107 1 1 44 58 -23309=1,4 -23310=1,5 -23311=1,0 +Split splitncnn_6 1 2 58 59 60 +Concat cat_1 4 1 57 55 14 59 61 +Interp upsample_12 1 1 61 62 0=2 1=2.500000e-01 2=2.500000e-01 +Concat cat_2 2 1 62 53 63 +Convolution conv_30 1 1 63 64 0=64 1=3 3=2 4=1 5=1 6=6912 +PReLU prelu_74 1 1 64 65 0=64 +Convolution conv_31 1 1 65 66 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU prelu_75 1 1 66 67 0=128 +Split splitncnn_7 1 2 67 68 69 +Convolution conv_32 1 1 69 70 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_76 1 1 70 71 0=128 +Convolution conv_33 1 1 71 72 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_77 1 1 72 73 0=128 +Convolution conv_34 1 1 73 74 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_78 1 1 74 75 0=128 +Convolution conv_35 1 1 75 76 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_79 1 1 76 77 0=128 +Convolution conv_36 1 1 77 78 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_80 1 1 78 79 0=128 +Convolution conv_37 1 1 79 80 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_81 1 1 80 81 0=128 +Convolution conv_38 1 1 81 82 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_82 1 1 82 83 0=128 +Convolution conv_39 1 1 83 84 0=128 1=3 4=1 5=1 6=147456 +PReLU prelu_83 1 1 84 85 0=128 +BinaryOp add_3 2 1 85 68 86 +Deconvolution deconv_61 1 1 86 flow1 0=5 1=4 3=2 4=1 5=1 6=10240 +Interp upsample_13 1 1 flow1 88 0=2 1=8.000000e+00 2=8.000000e+00 +Split splitncnn_8 1 2 88 89 90 +Crop slice_108 1 1 90 91 -23309=1,0 -23310=1,4 -23311=1,0 +Eltwise add_5 2 1 48 91 93 0=1 -23301=2,1.000000e+00,8.000000e+00 +Split splitncnn_9 1 4 93 94 95 96 97 +Crop slice_109 1 1 89 98 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_6 2 1 60 98 99 +Split splitncnn_10 1 2 99 100 101 +Interp upsample_14 1 1 95 102 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp mul_7 1 1 102 103 0=2 1=1 2=5.000000e-01 +Crop slice_110 1 1 97 104 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_3 2 1 10 104 105 +Crop slice_111 1 1 96 106 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_2 2 1 4 106 107 +Concat cat_3 4 1 107 105 15 100 108 +Interp upsample_15 1 1 108 109 0=2 1=5.000000e-01 2=5.000000e-01 +Concat cat_4 2 1 109 103 110 +Convolution conv_40 1 1 110 111 0=48 1=3 3=2 4=1 5=1 6=5184 +PReLU prelu_84 1 1 111 112 0=48 +Convolution conv_41 1 1 112 113 0=96 1=3 3=2 4=1 5=1 6=41472 +PReLU prelu_85 1 1 113 114 0=96 +Split splitncnn_11 1 2 114 115 116 +Convolution conv_42 1 1 116 117 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_86 1 1 117 118 0=96 +Convolution conv_43 1 1 118 119 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_87 1 1 119 120 0=96 +Convolution conv_44 1 1 120 121 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_88 1 1 121 122 0=96 +Convolution conv_45 1 1 122 123 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_89 1 1 123 124 0=96 +Convolution conv_46 1 1 124 125 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_90 1 1 125 126 0=96 +Convolution conv_47 1 1 126 127 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_91 1 1 127 128 0=96 +Convolution conv_48 1 1 128 129 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_92 1 1 129 130 0=96 +Convolution conv_49 1 1 130 131 0=96 1=3 4=1 5=1 6=82944 +PReLU prelu_93 1 1 131 132 0=96 +BinaryOp add_8 2 1 132 115 133 +Deconvolution deconv_62 1 1 133 flow2 0=5 1=4 3=2 4=1 5=1 6=7680 +Interp upsample_16 1 1 flow2 135 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_12 1 2 135 136 137 +Crop slice_112 1 1 137 138 -23309=1,0 -23310=1,4 -23311=1,0 +Eltwise add_10 2 1 94 138 140 0=1 -23301=2,1.000000e+00,4.000000e+00 +Split splitncnn_13 1 4 140 141 142 143 144 +Crop slice_113 1 1 136 145 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_11 2 1 101 145 146 +Split splitncnn_14 1 2 146 147 148 +Crop slice_114 1 1 144 149 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_5 2 1 9 149 150 +Crop slice_115 1 1 143 151 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_4 2 1 3 151 152 +Concat cat_5 4 1 152 150 16 147 153 +Interp upsample_18 1 1 153 154 0=2 +Interp upsample_17 1 1 142 155 0=2 +Concat cat_6 2 1 154 155 156 +Convolution conv_50 1 1 156 157 0=32 1=3 3=2 4=1 5=1 6=3456 +PReLU prelu_94 1 1 157 158 0=32 +Convolution conv_51 1 1 158 159 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU prelu_95 1 1 159 160 0=64 +Split splitncnn_15 1 2 160 161 162 +Convolution conv_52 1 1 162 163 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_96 1 1 163 164 0=64 +Convolution conv_53 1 1 164 165 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_97 1 1 165 166 0=64 +Convolution conv_54 1 1 166 167 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_98 1 1 167 168 0=64 +Convolution conv_55 1 1 168 169 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_99 1 1 169 170 0=64 +Convolution conv_56 1 1 170 171 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_100 1 1 171 172 0=64 +Convolution conv_57 1 1 172 173 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_101 1 1 173 174 0=64 +Convolution conv_58 1 1 174 175 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_102 1 1 175 176 0=64 +Convolution conv_59 1 1 176 177 0=64 1=3 4=1 5=1 6=36864 +PReLU prelu_103 1 1 177 178 0=64 +BinaryOp add_12 2 1 178 161 179 +Deconvolution deconv_63 1 1 179 flow3 0=5 1=4 3=2 4=1 5=1 6=5120 +Interp upsample_19 1 1 flow3 181 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_16 1 2 181 182 183 +Crop slice_116 1 1 183 184 -23309=1,0 -23310=1,4 -23311=1,0 +Eltwise add_14 2 1 141 184 186 0=1 -23301=2,1.000000e+00,2.000000e+00 +Split splitncnn_17 1 2 186 187 188 +Crop slice_117 1 1 182 189 -23309=1,4 -23310=1,5 -23311=1,0 +BinaryOp add_15 2 1 148 189 190 +Sigmoid sigmoid_8 1 1 190 191 +Split splitncnn_18 1 2 191 192 193 +BinaryOp sub_16 1 1 192 194 0=7 1=1 2=1.000000e+00 +Crop slice_119 1 1 187 195 -23309=1,2 -23310=1,4 -23311=1,0 +rife.Warp warp_6 2 1 8 195 196 +BinaryOp mul_17 2 1 196 194 197 0=2 +Crop slice_118 1 1 188 198 -23309=1,0 -23310=1,2 -23311=1,0 +rife.Warp warp_7 2 1 2 198 199 +BinaryOp mul_18 2 1 199 193 200 0=2 +BinaryOp add_19 2 1 200 197 out0 diff --git a/models/rife/rife/contextnet.bin b/models/rife/rife/contextnet.bin new file mode 100644 index 0000000..02846a0 Binary files /dev/null and b/models/rife/rife/contextnet.bin differ diff --git a/models/rife/rife/contextnet.param b/models/rife/rife/contextnet.param new file mode 100644 index 0000000..bb5fab5 --- /dev/null +++ b/models/rife/rife/contextnet.param @@ -0,0 +1,66 @@ +7767517 +64 78 +Input input.1 0 1 input.1 +Split splitncnn_input0 1 2 input.1 input.1_splitncnn_0 input.1_splitncnn_1 +Input flow.1 0 1 flow.1 +UnaryOp flow.0 1 1 flow.1 flow.0 0=1 +Split splitncnn_input1 1 2 flow.0 flow.1_splitncnn_0 flow.1_splitncnn_1 +Convolution Conv_0 1 1 input.1_splitncnn_1 42 0=16 1=3 3=2 4=1 6=432 +Convolution Conv_1 1 1 input.1_splitncnn_0 43 0=16 1=3 3=2 4=1 5=1 6=432 +PReLU PRelu_2 1 1 43 45 0=16 +Convolution Conv_3 1 1 45 46 0=16 1=3 4=1 5=1 6=2304 +Split splitncnn_0 1 2 46 46_splitncnn_0 46_splitncnn_1 +Pooling ReduceMean_5 1 1 46_splitncnn_1 48 0=1 4=1 +InnerProduct Conv_6 1 1 48 51 0=16 2=256 9=2 -23310=1,1.170065e+00 +InnerProduct Conv_8 1 1 51 53 0=16 2=256 9=4 +BinaryOp Mul_10 2 1 46_splitncnn_0 53 54 0=2 +BinaryOp Add_11 2 1 54 42 55 +PReLU PRelu_12 1 1 55 57 0=16 +Split splitncnn_1 1 3 57 57_splitncnn_0 57_splitncnn_1 57_splitncnn_2 +rife.Warp Warp_18 2 1 57_splitncnn_2 flow.1_splitncnn_1 f1 +Convolution Conv_19 1 1 57_splitncnn_1 64 0=32 1=3 3=2 4=1 6=4608 +Convolution Conv_20 1 1 57_splitncnn_0 65 0=32 1=3 3=2 4=1 5=1 6=4608 +PReLU PRelu_21 1 1 65 67 0=32 +Convolution Conv_22 1 1 67 68 0=32 1=3 4=1 5=1 6=9216 +Split splitncnn_2 1 2 68 68_splitncnn_0 68_splitncnn_1 +Pooling ReduceMean_24 1 1 68_splitncnn_1 70 0=1 4=1 +InnerProduct Conv_25 1 1 70 73 0=16 2=512 9=2 -23310=1,5.760695e-01 +InnerProduct Conv_27 1 1 73 75 0=32 2=512 9=4 +BinaryOp Mul_29 2 1 68_splitncnn_0 75 76 0=2 +BinaryOp Add_30 2 1 76 64 77 +PReLU PRelu_31 1 1 77 79 0=32 +Split splitncnn_3 1 3 79 79_splitncnn_0 79_splitncnn_1 79_splitncnn_2 +Interp Resize_33 1 1 flow.1_splitncnn_0 89 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_35 1 1 89 91 0=2 1=1 2=5.000000e-01 +Split splitncnn_4 1 2 91 91_splitncnn_0 91_splitncnn_1 +rife.Warp Warp_41 2 1 79_splitncnn_2 91_splitncnn_1 f2 +Convolution Conv_42 1 1 79_splitncnn_1 98 0=64 1=3 3=2 4=1 6=18432 +Convolution Conv_43 1 1 79_splitncnn_0 99 0=64 1=3 3=2 4=1 5=1 6=18432 +PReLU PRelu_44 1 1 99 101 0=64 +Convolution Conv_45 1 1 101 102 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_5 1 2 102 102_splitncnn_0 102_splitncnn_1 +Pooling ReduceMean_47 1 1 102_splitncnn_1 104 0=1 4=1 +InnerProduct Conv_48 1 1 104 107 0=16 2=1024 9=2 -23310=1,3.197831e-01 +InnerProduct Conv_50 1 1 107 109 0=64 2=1024 9=4 +BinaryOp Mul_52 2 1 102_splitncnn_0 109 110 0=2 +BinaryOp Add_53 2 1 110 98 111 +PReLU PRelu_54 1 1 111 113 0=64 +Split splitncnn_6 1 3 113 113_splitncnn_0 113_splitncnn_1 113_splitncnn_2 +Interp Resize_56 1 1 91_splitncnn_0 123 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_58 1 1 123 125 0=2 1=1 2=5.000000e-01 +Split splitncnn_7 1 2 125 125_splitncnn_0 125_splitncnn_1 +rife.Warp Warp_64 2 1 113_splitncnn_2 125_splitncnn_1 f3 +Convolution Conv_65 1 1 113_splitncnn_1 132 0=128 1=3 3=2 4=1 6=73728 +Convolution Conv_66 1 1 113_splitncnn_0 133 0=128 1=3 3=2 4=1 5=1 6=73728 +PReLU PRelu_67 1 1 133 135 0=128 +Convolution Conv_68 1 1 135 136 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_8 1 2 136 136_splitncnn_0 136_splitncnn_1 +Pooling ReduceMean_70 1 1 136_splitncnn_1 138 0=1 4=1 +InnerProduct Conv_71 1 1 138 141 0=16 2=2048 9=2 -23310=1,3.248079e-01 +InnerProduct Conv_73 1 1 141 143 0=128 2=2048 9=4 +BinaryOp Mul_75 2 1 136_splitncnn_0 143 144 0=2 +BinaryOp Add_76 2 1 144 132 145 +PReLU PRelu_77 1 1 145 147 0=128 +Interp Resize_79 1 1 125_splitncnn_0 157 0=2 1=5.000000e-01 2=5.000000e-01 +BinaryOp Mul_81 1 1 157 159 0=2 1=1 2=5.000000e-01 +rife.Warp Warp_87 2 1 147 159 f4 diff --git a/models/rife/rife/flownet.bin b/models/rife/rife/flownet.bin new file mode 100644 index 0000000..3ec4186 Binary files /dev/null and b/models/rife/rife/flownet.bin differ diff --git a/models/rife/rife/flownet.param b/models/rife/rife/flownet.param new file mode 100644 index 0000000..a7cd238 --- /dev/null +++ b/models/rife/rife/flownet.param @@ -0,0 +1,239 @@ +7767517 +237 284 +Input input0 0 1 input0 +Input input1 0 1 input1 +Concat input.1 2 1 input0 input1 input.1 +Interp Resize_1 1 1 input.1 343 0=2 1=5.000000e-01 2=5.000000e-01 +Split splitncnn_0 1 5 343 343_splitncnn_0 343_splitncnn_1 343_splitncnn_2 343_splitncnn_3 343_splitncnn_4 +Interp Resize_3 1 1 343_splitncnn_4 353 0=2 1=2.500000e-01 2=2.500000e-01 +Convolution Conv_4 1 1 353 355 0=192 1=3 3=2 4=1 5=1 6=10368 +PReLU PRelu_6 1 1 355 357 0=192 +Split splitncnn_1 1 2 357 357_splitncnn_0 357_splitncnn_1 +Convolution Conv_7 1 1 357_splitncnn_1 359 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_9 1 1 359 361 0=192 +Convolution Conv_10 1 1 361 363 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_2 1 2 363 363_splitncnn_0 363_splitncnn_1 +Pooling ReduceMean_13 1 1 363_splitncnn_1 365 0=1 4=1 +InnerProduct Conv_14 1 1 365 368 0=16 2=3072 9=2 -23310=1,-9.818018e-04 +InnerProduct Conv_16 1 1 368 370 0=192 2=3072 9=4 +BinaryOp Mul_18 2 1 363_splitncnn_0 370 371 0=2 +BinaryOp Add_19 2 1 371 357_splitncnn_0 372 +PReLU PRelu_20 1 1 372 374 0=192 +Split splitncnn_3 1 2 374 374_splitncnn_0 374_splitncnn_1 +Convolution Conv_21 1 1 374_splitncnn_1 376 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_23 1 1 376 378 0=192 +Convolution Conv_24 1 1 378 380 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_4 1 2 380 380_splitncnn_0 380_splitncnn_1 +Pooling ReduceMean_27 1 1 380_splitncnn_1 382 0=1 4=1 +InnerProduct Conv_28 1 1 382 385 0=16 2=3072 9=2 -23310=1,1.656540e-01 +InnerProduct Conv_30 1 1 385 387 0=192 2=3072 9=4 +BinaryOp Mul_32 2 1 380_splitncnn_0 387 388 0=2 +BinaryOp Add_33 2 1 388 374_splitncnn_0 389 +PReLU PRelu_34 1 1 389 391 0=192 +Split splitncnn_5 1 2 391 391_splitncnn_0 391_splitncnn_1 +Convolution Conv_35 1 1 391_splitncnn_1 393 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_37 1 1 393 395 0=192 +Convolution Conv_38 1 1 395 397 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_6 1 2 397 397_splitncnn_0 397_splitncnn_1 +Pooling ReduceMean_41 1 1 397_splitncnn_1 399 0=1 4=1 +InnerProduct Conv_42 1 1 399 402 0=16 2=3072 9=2 -23310=1,3.486148e-01 +InnerProduct Conv_44 1 1 402 404 0=192 2=3072 9=4 +BinaryOp Mul_46 2 1 397_splitncnn_0 404 405 0=2 +BinaryOp Add_47 2 1 405 391_splitncnn_0 406 +PReLU PRelu_48 1 1 406 408 0=192 +Split splitncnn_7 1 2 408 408_splitncnn_0 408_splitncnn_1 +Convolution Conv_49 1 1 408_splitncnn_1 410 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_51 1 1 410 412 0=192 +Convolution Conv_52 1 1 412 414 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_8 1 2 414 414_splitncnn_0 414_splitncnn_1 +Pooling ReduceMean_55 1 1 414_splitncnn_1 416 0=1 4=1 +InnerProduct Conv_56 1 1 416 419 0=16 2=3072 9=2 -23310=1,4.422835e-02 +InnerProduct Conv_58 1 1 419 421 0=192 2=3072 9=4 +BinaryOp Mul_60 2 1 414_splitncnn_0 421 422 0=2 +BinaryOp Add_61 2 1 422 408_splitncnn_0 423 +PReLU PRelu_62 1 1 423 425 0=192 +Split splitncnn_9 1 2 425 425_splitncnn_0 425_splitncnn_1 +Convolution Conv_63 1 1 425_splitncnn_1 427 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_65 1 1 427 429 0=192 +Convolution Conv_66 1 1 429 431 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_10 1 2 431 431_splitncnn_0 431_splitncnn_1 +Pooling ReduceMean_69 1 1 431_splitncnn_1 433 0=1 4=1 +InnerProduct Conv_70 1 1 433 436 0=16 2=3072 9=2 -23310=1,1.658438e-01 +InnerProduct Conv_72 1 1 436 438 0=192 2=3072 9=4 +BinaryOp Mul_74 2 1 431_splitncnn_0 438 439 0=2 +BinaryOp Add_75 2 1 439 425_splitncnn_0 440 +PReLU PRelu_76 1 1 440 442 0=192 +Split splitncnn_11 1 2 442 442_splitncnn_0 442_splitncnn_1 +Convolution Conv_77 1 1 442_splitncnn_1 444 0=192 1=3 4=1 5=1 6=331776 +PReLU PRelu_79 1 1 444 446 0=192 +Convolution Conv_80 1 1 446 448 0=192 1=3 4=1 5=1 6=331776 +Split splitncnn_12 1 2 448 448_splitncnn_0 448_splitncnn_1 +Pooling ReduceMean_83 1 1 448_splitncnn_1 450 0=1 4=1 +InnerProduct Conv_84 1 1 450 453 0=16 2=3072 9=2 -23310=1,2.899390e-01 +InnerProduct Conv_86 1 1 453 455 0=192 2=3072 9=4 +BinaryOp Mul_88 2 1 448_splitncnn_0 455 456 0=2 +BinaryOp Add_89 2 1 456 442_splitncnn_0 457 +PReLU PRelu_90 1 1 457 459 0=192 +Convolution Conv_91 1 1 459 460 0=8 1=3 4=1 5=1 6=13824 +PixelShuffle DepthToSpace_92 1 1 460 461 0=2 +Interp Resize_94 1 1 461 471 0=2 1=4.000000e+00 2=4.000000e+00 +Split splitncnn_13 1 5 471 471_splitncnn_0 471_splitncnn_1 471_splitncnn_2 471_splitncnn_3 471_splitncnn_4 +Crop Slice_99 1 1 343_splitncnn_3 476 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_105 2 1 476 471_splitncnn_4 482 +Crop Slice_110 1 1 343_splitncnn_2 487 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_111 1 1 471_splitncnn_3 488 0=1 +rife.Warp Warp_117 2 1 487 488 494 +Concat Concat_118 3 1 482 494 471_splitncnn_2 495 +Interp Resize_120 1 1 495 505 0=2 1=5.000000e-01 2=5.000000e-01 +Convolution Conv_121 1 1 505 507 0=128 1=3 3=2 4=1 5=1 6=9216 +PReLU PRelu_123 1 1 507 509 0=128 +Split splitncnn_14 1 2 509 509_splitncnn_0 509_splitncnn_1 +Convolution Conv_124 1 1 509_splitncnn_1 511 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_126 1 1 511 513 0=128 +Convolution Conv_127 1 1 513 515 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_15 1 2 515 515_splitncnn_0 515_splitncnn_1 +Pooling ReduceMean_130 1 1 515_splitncnn_1 517 0=1 4=1 +InnerProduct Conv_131 1 1 517 520 0=16 2=2048 9=2 -23310=1,3.783025e-02 +InnerProduct Conv_133 1 1 520 522 0=128 2=2048 9=4 +BinaryOp Mul_135 2 1 515_splitncnn_0 522 523 0=2 +BinaryOp Add_136 2 1 523 509_splitncnn_0 524 +PReLU PRelu_137 1 1 524 526 0=128 +Split splitncnn_16 1 2 526 526_splitncnn_0 526_splitncnn_1 +Convolution Conv_138 1 1 526_splitncnn_1 528 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_140 1 1 528 530 0=128 +Convolution Conv_141 1 1 530 532 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_17 1 2 532 532_splitncnn_0 532_splitncnn_1 +Pooling ReduceMean_144 1 1 532_splitncnn_1 534 0=1 4=1 +InnerProduct Conv_145 1 1 534 537 0=16 2=2048 9=2 -23310=1,2.474383e-01 +InnerProduct Conv_147 1 1 537 539 0=128 2=2048 9=4 +BinaryOp Mul_149 2 1 532_splitncnn_0 539 540 0=2 +BinaryOp Add_150 2 1 540 526_splitncnn_0 541 +PReLU PRelu_151 1 1 541 543 0=128 +Split splitncnn_18 1 2 543 543_splitncnn_0 543_splitncnn_1 +Convolution Conv_152 1 1 543_splitncnn_1 545 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_154 1 1 545 547 0=128 +Convolution Conv_155 1 1 547 549 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_19 1 2 549 549_splitncnn_0 549_splitncnn_1 +Pooling ReduceMean_158 1 1 549_splitncnn_1 551 0=1 4=1 +InnerProduct Conv_159 1 1 551 554 0=16 2=2048 9=2 -23310=1,2.253069e-01 +InnerProduct Conv_161 1 1 554 556 0=128 2=2048 9=4 +BinaryOp Mul_163 2 1 549_splitncnn_0 556 557 0=2 +BinaryOp Add_164 2 1 557 543_splitncnn_0 558 +PReLU PRelu_165 1 1 558 560 0=128 +Split splitncnn_20 1 2 560 560_splitncnn_0 560_splitncnn_1 +Convolution Conv_166 1 1 560_splitncnn_1 562 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_168 1 1 562 564 0=128 +Convolution Conv_169 1 1 564 566 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_21 1 2 566 566_splitncnn_0 566_splitncnn_1 +Pooling ReduceMean_172 1 1 566_splitncnn_1 568 0=1 4=1 +InnerProduct Conv_173 1 1 568 571 0=16 2=2048 9=2 -23310=1,2.221507e-01 +InnerProduct Conv_175 1 1 571 573 0=128 2=2048 9=4 +BinaryOp Mul_177 2 1 566_splitncnn_0 573 574 0=2 +BinaryOp Add_178 2 1 574 560_splitncnn_0 575 +PReLU PRelu_179 1 1 575 577 0=128 +Split splitncnn_22 1 2 577 577_splitncnn_0 577_splitncnn_1 +Convolution Conv_180 1 1 577_splitncnn_1 579 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_182 1 1 579 581 0=128 +Convolution Conv_183 1 1 581 583 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_23 1 2 583 583_splitncnn_0 583_splitncnn_1 +Pooling ReduceMean_186 1 1 583_splitncnn_1 585 0=1 4=1 +InnerProduct Conv_187 1 1 585 588 0=16 2=2048 9=2 -23310=1,1.850068e-01 +InnerProduct Conv_189 1 1 588 590 0=128 2=2048 9=4 +BinaryOp Mul_191 2 1 583_splitncnn_0 590 591 0=2 +BinaryOp Add_192 2 1 591 577_splitncnn_0 592 +PReLU PRelu_193 1 1 592 594 0=128 +Split splitncnn_24 1 2 594 594_splitncnn_0 594_splitncnn_1 +Convolution Conv_194 1 1 594_splitncnn_1 596 0=128 1=3 4=1 5=1 6=147456 +PReLU PRelu_196 1 1 596 598 0=128 +Convolution Conv_197 1 1 598 600 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_25 1 2 600 600_splitncnn_0 600_splitncnn_1 +Pooling ReduceMean_200 1 1 600_splitncnn_1 602 0=1 4=1 +InnerProduct Conv_201 1 1 602 605 0=16 2=2048 9=2 -23310=1,1.788969e-01 +InnerProduct Conv_203 1 1 605 607 0=128 2=2048 9=4 +BinaryOp Mul_205 2 1 600_splitncnn_0 607 608 0=2 +BinaryOp Add_206 2 1 608 594_splitncnn_0 609 +PReLU PRelu_207 1 1 609 611 0=128 +Convolution Conv_208 1 1 611 612 0=8 1=3 4=1 5=1 6=9216 +PixelShuffle DepthToSpace_209 1 1 612 613 0=2 +Interp Resize_211 1 1 613 623 0=2 1=2.000000e+00 2=2.000000e+00 +Split splitncnn_26 1 2 623 623_splitncnn_0 623_splitncnn_1 +BinaryOp Add_212 2 1 471_splitncnn_1 623_splitncnn_1 624 +Split splitncnn_27 1 3 624 624_splitncnn_0 624_splitncnn_1 624_splitncnn_2 +Crop Slice_217 1 1 343_splitncnn_1 629 -23309=1,0 -23310=1,3 -23311=1,0 +rife.Warp Warp_223 2 1 629 624_splitncnn_2 635 +Crop Slice_228 1 1 343_splitncnn_0 640 -23309=1,3 -23310=1,2147483647 -23311=1,0 +UnaryOp Neg_229 1 1 624_splitncnn_1 641 0=1 +rife.Warp Warp_235 2 1 640 641 647 +Concat Concat_236 3 1 635 647 624_splitncnn_0 648 +Convolution Conv_237 1 1 648 650 0=64 1=3 3=2 4=1 5=1 6=4608 +PReLU PRelu_239 1 1 650 652 0=64 +Split splitncnn_28 1 2 652 652_splitncnn_0 652_splitncnn_1 +Convolution Conv_240 1 1 652_splitncnn_1 654 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_242 1 1 654 656 0=64 +Convolution Conv_243 1 1 656 658 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_29 1 2 658 658_splitncnn_0 658_splitncnn_1 +Pooling ReduceMean_246 1 1 658_splitncnn_1 660 0=1 4=1 +InnerProduct Conv_247 1 1 660 663 0=16 2=1024 9=2 -23310=1,1.606955e-01 +InnerProduct Conv_249 1 1 663 665 0=64 2=1024 9=4 +BinaryOp Mul_251 2 1 658_splitncnn_0 665 666 0=2 +BinaryOp Add_252 2 1 666 652_splitncnn_0 667 +PReLU PRelu_253 1 1 667 669 0=64 +Split splitncnn_30 1 2 669 669_splitncnn_0 669_splitncnn_1 +Convolution Conv_254 1 1 669_splitncnn_1 671 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_256 1 1 671 673 0=64 +Convolution Conv_257 1 1 673 675 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_31 1 2 675 675_splitncnn_0 675_splitncnn_1 +Pooling ReduceMean_260 1 1 675_splitncnn_1 677 0=1 4=1 +InnerProduct Conv_261 1 1 677 680 0=16 2=1024 9=2 -23310=1,3.747779e-01 +InnerProduct Conv_263 1 1 680 682 0=64 2=1024 9=4 +BinaryOp Mul_265 2 1 675_splitncnn_0 682 683 0=2 +BinaryOp Add_266 2 1 683 669_splitncnn_0 684 +PReLU PRelu_267 1 1 684 686 0=64 +Split splitncnn_32 1 2 686 686_splitncnn_0 686_splitncnn_1 +Convolution Conv_268 1 1 686_splitncnn_1 688 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_270 1 1 688 690 0=64 +Convolution Conv_271 1 1 690 692 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_33 1 2 692 692_splitncnn_0 692_splitncnn_1 +Pooling ReduceMean_274 1 1 692_splitncnn_1 694 0=1 4=1 +InnerProduct Conv_275 1 1 694 697 0=16 2=1024 9=2 -23310=1,5.849604e-01 +InnerProduct Conv_277 1 1 697 699 0=64 2=1024 9=4 +BinaryOp Mul_279 2 1 692_splitncnn_0 699 700 0=2 +BinaryOp Add_280 2 1 700 686_splitncnn_0 701 +PReLU PRelu_281 1 1 701 703 0=64 +Split splitncnn_34 1 2 703 703_splitncnn_0 703_splitncnn_1 +Convolution Conv_282 1 1 703_splitncnn_1 705 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_284 1 1 705 707 0=64 +Convolution Conv_285 1 1 707 709 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_35 1 2 709 709_splitncnn_0 709_splitncnn_1 +Pooling ReduceMean_288 1 1 709_splitncnn_1 711 0=1 4=1 +InnerProduct Conv_289 1 1 711 714 0=16 2=1024 9=2 -23310=1,2.789340e-01 +InnerProduct Conv_291 1 1 714 716 0=64 2=1024 9=4 +BinaryOp Mul_293 2 1 709_splitncnn_0 716 717 0=2 +BinaryOp Add_294 2 1 717 703_splitncnn_0 718 +PReLU PRelu_295 1 1 718 720 0=64 +Split splitncnn_36 1 2 720 720_splitncnn_0 720_splitncnn_1 +Convolution Conv_296 1 1 720_splitncnn_1 722 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_298 1 1 722 724 0=64 +Convolution Conv_299 1 1 724 726 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_37 1 2 726 726_splitncnn_0 726_splitncnn_1 +Pooling ReduceMean_302 1 1 726_splitncnn_1 728 0=1 4=1 +InnerProduct Conv_303 1 1 728 731 0=16 2=1024 9=2 -23310=1,4.707932e-01 +InnerProduct Conv_305 1 1 731 733 0=64 2=1024 9=4 +BinaryOp Mul_307 2 1 726_splitncnn_0 733 734 0=2 +BinaryOp Add_308 2 1 734 720_splitncnn_0 735 +PReLU PRelu_309 1 1 735 737 0=64 +Split splitncnn_38 1 2 737 737_splitncnn_0 737_splitncnn_1 +Convolution Conv_310 1 1 737_splitncnn_1 739 0=64 1=3 4=1 5=1 6=36864 +PReLU PRelu_312 1 1 739 741 0=64 +Convolution Conv_313 1 1 741 743 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_39 1 2 743 743_splitncnn_0 743_splitncnn_1 +Pooling ReduceMean_316 1 1 743_splitncnn_1 745 0=1 4=1 +InnerProduct Conv_317 1 1 745 748 0=16 2=1024 9=2 -23310=1,7.429121e-01 +InnerProduct Conv_319 1 1 748 750 0=64 2=1024 9=4 +BinaryOp Mul_321 2 1 743_splitncnn_0 750 751 0=2 +BinaryOp Add_322 2 1 751 737_splitncnn_0 752 +PReLU PRelu_323 1 1 752 754 0=64 +Convolution Conv_324 1 1 754 755 0=8 1=3 4=1 5=1 6=4608 +PixelShuffle DepthToSpace_325 1 1 755 756 0=2 +BinaryOp Add_326 2 1 471_splitncnn_0 623_splitncnn_0 757 +BinaryOp Add_327 2 1 757 756 flow diff --git a/models/rife/rife/fusionnet.bin b/models/rife/rife/fusionnet.bin new file mode 100644 index 0000000..a213190 Binary files /dev/null and b/models/rife/rife/fusionnet.bin differ diff --git a/models/rife/rife/fusionnet.param b/models/rife/rife/fusionnet.param new file mode 100644 index 0000000..33251e9 --- /dev/null +++ b/models/rife/rife/fusionnet.param @@ -0,0 +1,101 @@ +7767517 +99 116 +Input img0 0 1 img0 +Input img1 0 1 img1 +Input flow 0 1 flow +Input 3 0 1 3 +Input 4 0 1 4 +Input 5 0 1 5 +Input 6 0 1 6 +Input 7 0 1 7 +Input 8 0 1 8 +Input 9 0 1 9 +Input 10 0 1 10 +Interp Resize_1 1 1 flow 74 0=2 1=2.000000e+00 2=2.000000e+00 +BinaryOp Mul_3 1 1 74 76 0=2 1=1 2=2.000000e+00 +Split splitncnn_0 1 3 76 76_splitncnn_0 76_splitncnn_1 76_splitncnn_2 +rife.Warp Warp_9 2 1 img0 76_splitncnn_2 82 +Split splitncnn_1 1 2 82 82_splitncnn_0 82_splitncnn_1 +UnaryOp Neg_10 1 1 76_splitncnn_1 83 0=1 +rife.Warp Warp_16 2 1 img1 83 89 +Split splitncnn_2 1 2 89 89_splitncnn_0 89_splitncnn_1 +Concat Concat_17 3 1 82_splitncnn_1 89_splitncnn_1 76_splitncnn_0 90 +Split splitncnn_3 1 2 90 90_splitncnn_0 90_splitncnn_1 +Convolution Conv_18 1 1 90_splitncnn_1 91 0=32 1=3 3=2 4=1 6=2304 +Convolution Conv_19 1 1 90_splitncnn_0 92 0=32 1=3 3=2 4=1 5=1 6=2304 +PReLU PRelu_20 1 1 92 94 0=32 +Convolution Conv_21 1 1 94 95 0=32 1=3 4=1 5=1 6=9216 +Split splitncnn_4 1 2 95 95_splitncnn_0 95_splitncnn_1 +Pooling ReduceMean_23 1 1 95_splitncnn_1 97 0=1 4=1 +InnerProduct Conv_24 1 1 97 100 0=16 2=512 9=2 -23310=1,8.258036e-02 +InnerProduct Conv_26 1 1 100 102 0=32 2=512 9=4 +BinaryOp Mul_28 2 1 95_splitncnn_0 102 103 0=2 +BinaryOp Add_29 2 1 103 91 104 +PReLU PRelu_30 1 1 104 106 0=32 +Split splitncnn_5 1 2 106 106_splitncnn_0 106_splitncnn_1 +Concat Concat_31 3 1 106_splitncnn_1 3 7 107 +Split splitncnn_6 1 2 107 107_splitncnn_0 107_splitncnn_1 +Convolution Conv_32 1 1 107_splitncnn_1 108 0=64 1=3 3=2 4=1 6=36864 +Convolution Conv_33 1 1 107_splitncnn_0 109 0=64 1=3 3=2 4=1 5=1 6=36864 +PReLU PRelu_34 1 1 109 111 0=64 +Convolution Conv_35 1 1 111 112 0=64 1=3 4=1 5=1 6=36864 +Split splitncnn_7 1 2 112 112_splitncnn_0 112_splitncnn_1 +Pooling ReduceMean_37 1 1 112_splitncnn_1 114 0=1 4=1 +InnerProduct Conv_38 1 1 114 117 0=16 2=1024 9=2 -23310=1,1.095001e-01 +InnerProduct Conv_40 1 1 117 119 0=64 2=1024 9=4 +BinaryOp Mul_42 2 1 112_splitncnn_0 119 120 0=2 +BinaryOp Add_43 2 1 120 108 121 +PReLU PRelu_44 1 1 121 123 0=64 +Split splitncnn_8 1 2 123 123_splitncnn_0 123_splitncnn_1 +Concat Concat_45 3 1 123_splitncnn_1 4 8 124 +Split splitncnn_9 1 2 124 124_splitncnn_0 124_splitncnn_1 +Convolution Conv_46 1 1 124_splitncnn_1 125 0=128 1=3 3=2 4=1 6=147456 +Convolution Conv_47 1 1 124_splitncnn_0 126 0=128 1=3 3=2 4=1 5=1 6=147456 +PReLU PRelu_48 1 1 126 128 0=128 +Convolution Conv_49 1 1 128 129 0=128 1=3 4=1 5=1 6=147456 +Split splitncnn_10 1 2 129 129_splitncnn_0 129_splitncnn_1 +Pooling ReduceMean_51 1 1 129_splitncnn_1 131 0=1 4=1 +InnerProduct Conv_52 1 1 131 134 0=16 2=2048 9=2 -23310=1,1.442167e-02 +InnerProduct Conv_54 1 1 134 136 0=128 2=2048 9=4 +BinaryOp Mul_56 2 1 129_splitncnn_0 136 137 0=2 +BinaryOp Add_57 2 1 137 125 138 +PReLU PRelu_58 1 1 138 140 0=128 +Split splitncnn_11 1 2 140 140_splitncnn_0 140_splitncnn_1 +Concat Concat_59 3 1 140_splitncnn_1 5 9 141 +Split splitncnn_12 1 2 141 141_splitncnn_0 141_splitncnn_1 +Convolution Conv_60 1 1 141_splitncnn_1 142 0=256 1=3 3=2 4=1 6=589824 +Convolution Conv_61 1 1 141_splitncnn_0 143 0=256 1=3 3=2 4=1 5=1 6=589824 +PReLU PRelu_62 1 1 143 145 0=256 +Convolution Conv_63 1 1 145 146 0=256 1=3 4=1 5=1 6=589824 +Split splitncnn_13 1 2 146 146_splitncnn_0 146_splitncnn_1 +Pooling ReduceMean_65 1 1 146_splitncnn_1 148 0=1 4=1 +InnerProduct Conv_66 1 1 148 151 0=16 2=4096 9=2 -23310=1,1.379933e-02 +InnerProduct Conv_68 1 1 151 153 0=256 2=4096 9=4 +BinaryOp Mul_70 2 1 146_splitncnn_0 153 154 0=2 +BinaryOp Add_71 2 1 154 142 155 +PReLU PRelu_72 1 1 155 157 0=256 +Concat Concat_73 3 1 157 6 10 158 +Deconvolution ConvTranspose_74 1 1 158 159 0=128 1=4 3=2 4=1 5=1 6=1048576 +PReLU PRelu_75 1 1 159 161 0=128 +Concat Concat_76 2 1 161 140_splitncnn_0 162 +Deconvolution ConvTranspose_77 1 1 162 163 0=64 1=4 3=2 4=1 5=1 6=262144 +PReLU PRelu_78 1 1 163 165 0=64 +Concat Concat_79 2 1 165 123_splitncnn_0 166 +Deconvolution ConvTranspose_80 1 1 166 167 0=32 1=4 3=2 4=1 5=1 6=65536 +PReLU PRelu_81 1 1 167 169 0=32 +Concat Concat_82 2 1 169 106_splitncnn_0 170 +Deconvolution ConvTranspose_83 1 1 170 171 0=16 1=4 3=2 4=1 5=1 6=16384 +PReLU PRelu_84 1 1 171 173 0=16 +Convolution Conv_85 1 1 173 175 0=4 1=3 4=1 5=1 6=576 9=4 +Split splitncnn_14 1 2 175 175_splitncnn_0 175_splitncnn_1 +Crop Slice_91 1 1 175_splitncnn_1 180 -23309=1,0 -23310=1,3 -23311=1,0 +BinaryOp Mul_93 1 1 180 182 0=2 1=1 2=2.000000e+00 +BinaryOp Sub_95 1 1 182 184 0=1 1=1 2=1.000000e+00 +Crop Slice_100 1 1 175_splitncnn_0 189 -23309=1,3 -23310=1,4 -23311=1,0 +Split splitncnn_15 1 2 189 189_splitncnn_0 189_splitncnn_1 +BinaryOp Mul_101 2 1 82_splitncnn_0 189_splitncnn_1 190 0=2 +BinaryOp Sub_103 1 1 189_splitncnn_0 192 0=7 1=1 2=1.000000e+00 +BinaryOp Mul_104 2 1 89_splitncnn_0 192 193 0=2 +BinaryOp Add_105 2 1 190 193 194 +BinaryOp Add_106 2 1 194 184 195 +Clip Clip_107 1 1 195 output 0=0.000000e+00 1=1.000000e+00 diff --git a/src/libplacebo_filter.cpp b/src/filter_libplacebo.cpp similarity index 92% rename from src/libplacebo_filter.cpp rename to src/filter_libplacebo.cpp index 22947c7..8998f3c 100644 --- a/src/libplacebo_filter.cpp +++ b/src/filter_libplacebo.cpp @@ -1,4 +1,4 @@ -#include "libplacebo_filter.h" +#include "filter_libplacebo.h" #include @@ -8,7 +8,7 @@ #include "fsutils.h" #include "libplacebo.h" -LibplaceboFilter::LibplaceboFilter( +FilterLibplacebo::FilterLibplacebo( uint32_t vk_device_index, const std::filesystem::path &shader_path, int out_width, @@ -22,7 +22,7 @@ LibplaceboFilter::LibplaceboFilter( out_width(out_width), out_height(out_height) {} -LibplaceboFilter::~LibplaceboFilter() { +FilterLibplacebo::~FilterLibplacebo() { if (buffersrc_ctx) { avfilter_free(buffersrc_ctx); buffersrc_ctx = nullptr; @@ -37,7 +37,7 @@ LibplaceboFilter::~LibplaceboFilter() { } } -int LibplaceboFilter::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *_) { +int FilterLibplacebo::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *_) { // Construct the shader path std::filesystem::path shader_full_path; if (filepath_is_readable(shader_path)) { @@ -82,7 +82,7 @@ int LibplaceboFilter::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVB return ret; } -int LibplaceboFilter::process_frame(AVFrame *in_frame, AVFrame **out_frame) { +int FilterLibplacebo::filter(AVFrame *in_frame, AVFrame **out_frame) { int ret; // Get the filtered frame @@ -113,7 +113,7 @@ int LibplaceboFilter::process_frame(AVFrame *in_frame, AVFrame **out_frame) { return 0; } -int LibplaceboFilter::flush(std::vector &flushed_frames) { +int FilterLibplacebo::flush(std::vector &flushed_frames) { int ret = av_buffersrc_add_frame(buffersrc_ctx, nullptr); if (ret < 0) { spdlog::error("Error while flushing filter graph"); diff --git a/src/realesrgan_filter.cpp b/src/filter_realesrgan.cpp similarity index 93% rename from src/realesrgan_filter.cpp rename to src/filter_realesrgan.cpp index 79f6f2d..535309a 100644 --- a/src/realesrgan_filter.cpp +++ b/src/filter_realesrgan.cpp @@ -1,4 +1,4 @@ -#include "realesrgan_filter.h" +#include "filter_realesrgan.h" #include #include @@ -9,7 +9,7 @@ #include "conversions.h" #include "fsutils.h" -RealesrganFilter::RealesrganFilter( +FilterRealesrgan::FilterRealesrgan( int gpuid, bool tta_mode, int scaling_factor, @@ -21,14 +21,14 @@ RealesrganFilter::RealesrganFilter( scaling_factor(scaling_factor), model_name(std::move(model_name)) {} -RealesrganFilter::~RealesrganFilter() { +FilterRealesrgan::~FilterRealesrgan() { if (realesrgan) { delete realesrgan; realesrgan = nullptr; } } -int RealesrganFilter::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *_) { +int FilterRealesrgan::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVBufferRef *_) { // Construct the model paths using std::filesystem std::filesystem::path model_param_path; std::filesystem::path model_bin_path; @@ -89,7 +89,7 @@ int RealesrganFilter::init(AVCodecContext *dec_ctx, AVCodecContext *enc_ctx, AVB return 0; } -int RealesrganFilter::process_frame(AVFrame *in_frame, AVFrame **out_frame) { +int FilterRealesrgan::filter(AVFrame *in_frame, AVFrame **out_frame) { int ret; // Convert the input frame to RGB24 diff --git a/src/libvideo2x.cpp b/src/libvideo2x.cpp index cf94c22..3bbb1fa 100644 --- a/src/libvideo2x.cpp +++ b/src/libvideo2x.cpp @@ -14,9 +14,9 @@ extern "C" { #include "avutils.h" #include "decoder.h" #include "encoder.h" -#include "filter.h" -#include "libplacebo_filter.h" -#include "realesrgan_filter.h" +#include "filter_libplacebo.h" +#include "filter_realesrgan.h" +#include "processor.h" // Process frames using the selected filter. static int process_frames( @@ -24,7 +24,7 @@ static int process_frames( VideoProcessingContext *proc_ctx, Decoder &decoder, Encoder &encoder, - Filter *filter, + Processor *processor, bool benchmark = false ) { char errbuf[AV_ERROR_MAX_STRING_SIZE]; @@ -104,7 +104,19 @@ static int process_frames( } AVFrame *raw_processed_frame = nullptr; - ret = filter->process_frame(frame.get(), &raw_processed_frame); + + switch (processor->get_processing_mode()) { + case PROCESSING_MODE_FILTER: { + Filter *filter = dynamic_cast(processor); + ret = filter->filter(frame.get(), &raw_processed_frame); + break; + } + case PROCESSING_MODE_INTERPOLATE: { + Interpolator *interpolator = dynamic_cast(processor); + ret = interpolator->interpolate(frame.get(), nullptr, &raw_processed_frame); + break; + } + } if (ret < 0 && ret != AVERROR(EAGAIN)) { av_strerror(ret, errbuf, sizeof(errbuf)); @@ -154,7 +166,7 @@ static int process_frames( // Flush the filter std::vector raw_flushed_frames; - ret = filter->flush(raw_flushed_frames); + ret = processor->flush(raw_flushed_frames); if (ret < 0) { av_strerror(ret, errbuf, sizeof(errbuf)); spdlog::critical("Error flushing filter: {}", errbuf); @@ -279,8 +291,8 @@ extern "C" int process_video( int output_width = 0, output_height = 0; switch (filter_config->filter_type) { case FILTER_LIBPLACEBO: - output_width = filter_config->config.libplacebo.out_width; - output_height = filter_config->config.libplacebo.out_height; + output_width = filter_config->config.libplacebo.width; + output_height = filter_config->config.libplacebo.height; break; case FILTER_REALESRGAN: output_width = dec_ctx->width * filter_config->config.realesrgan.scaling_factor; @@ -321,11 +333,8 @@ extern "C" int process_video( spdlog::critical("Shader path must be provided for the libplacebo filter"); return -1; } - filter = std::make_unique( - vk_device_index, - std::filesystem::path(config.shader_path), - config.out_width, - config.out_height + filter = std::make_unique( + vk_device_index, std::filesystem::path(config.shader_path), config.width, config.height ); } else if (filter_config->filter_type == FILTER_REALESRGAN) { const auto &config = filter_config->config.realesrgan; @@ -333,7 +342,7 @@ extern "C" int process_video( spdlog::critical("Model name must be provided for the RealESRGAN filter"); return -1; } - filter = std::make_unique( + filter = std::make_unique( static_cast(vk_device_index), config.tta_mode, config.scaling_factor, diff --git a/third_party/librife_ncnn_vulkan b/third_party/librife_ncnn_vulkan new file mode 160000 index 0000000..f2edda4 --- /dev/null +++ b/third_party/librife_ncnn_vulkan @@ -0,0 +1 @@ +Subproject commit f2edda49a5fd817a7137509e54e70d2e30d9b684 diff --git a/tools/video2x/src/video2x.cpp b/tools/video2x/src/video2x.cpp index 724e85d..b76ecf7 100644 --- a/tools/video2x/src/video2x.cpp +++ b/tools/video2x/src/video2x.cpp @@ -619,8 +619,8 @@ int main(int argc, char **argv) { FilterConfig filter_config; if (arguments.filter_type == STR("libplacebo")) { filter_config.filter_type = FILTER_LIBPLACEBO; - filter_config.config.libplacebo.out_width = arguments.width; - filter_config.config.libplacebo.out_height = arguments.height; + filter_config.config.libplacebo.width = arguments.width; + filter_config.config.libplacebo.height = arguments.height; filter_config.config.libplacebo.shader_path = shader_path_str.c_str(); } else if (arguments.filter_type == STR("realesrgan")) { filter_config.filter_type = FILTER_REALESRGAN;