22### 文档: https://github.com/hooke007/mpv_PlayKit/wiki/3_K7sfunc
33##################################################
44
5- __version__ = "0.9.5 "
5+ __version__ = "0.9.7 "
66
77__all__ = [
88 "FMT_CHANGE" , "FMT_CTRL" ,
@@ -284,7 +284,7 @@ def _check_script(
284284 script_var = __import__ (script_name )
285285 globals ()[script_name ] = script_var
286286 except ImportError :
287- raise ImportError (f"模块 { func_name } 依赖错误:缺失脚本 { script_name } " )
287+ raise ImportError (f"模块 { func_name } 依赖错误:缺失库 { script_name } " )
288288 if min_version is not None :
289289 if LooseVersion (script_var .__version__ ) < LooseVersion (min_version ) :
290290 raise ImportError (f"模块 { func_name } 依赖错误:缺失脚本 { script_name } 的版本号过低,至少 { min_version } " )
@@ -667,6 +667,21 @@ def ONNX_ANZ(
667667
668668 return elem_type
669669
670+ ##################################################
671+ ## 像素值限制 # helper
672+ ##################################################
673+
674+ def PIX_CLP (
675+ input : vs .VideoNode ,
676+ ) -> vs .VideoNode :
677+
678+ func_name = "PIX_CLP"
679+ _check_plugin (func_name , "akarin" )
680+
681+ output = core .akarin .Expr (clips = input , expr = "x 0 1 clamp" )
682+
683+ return output
684+
670685##################################################
671686## 场景检测 # helper
672687##################################################
@@ -841,6 +856,7 @@ def ARTCNN_NV(
841856 _validate_vs_threads (func_name , vs_t )
842857
843858 _check_plugin (func_name , "trt" )
859+ _check_plugin (func_name , "akarin" )
844860
845861 plg_dir = os .path .dirname (core .trt .Version ()["path" ]).decode ()
846862 mdl_fname = ["ArtCNN_R16F96" , "ArtCNN_R8F64" , "ArtCNN_R8F64_DS" ][[6 , 7 , 8 ].index (model )]
@@ -905,6 +921,7 @@ def CUGAN_NV(
905921 _validate_vs_threads (func_name , vs_t )
906922
907923 _check_plugin (func_name , "trt" )
924+ _check_plugin (func_name , "akarin" )
908925
909926 plg_dir = os .path .dirname (core .trt .Version ()["path" ]).decode ()
910927 mdl_fname = ["pro-no-denoise3x-up2x" , "pro-conservative-up2x" , "pro-denoise3x-up2x" ][[- 1 , 0 , 3 ].index (nr_lv )]
@@ -1628,6 +1645,7 @@ def DPIR_DBLK_NV(
16281645 _validate_vs_threads (func_name , vs_t )
16291646
16301647 _check_plugin (func_name , "trt" )
1648+ _check_plugin (func_name , "akarin" )
16311649
16321650 plg_dir = os .path .dirname (core .trt .Version ()["path" ]).decode ()
16331651 mdl_fname = ["drunet_deblocking_grayscale" , "drunet_deblocking_color" ][[2 , 3 ].index (model )]
@@ -1935,6 +1953,7 @@ def DPIR_NR_NV(
19351953 _validate_vs_threads (func_name , vs_t )
19361954
19371955 _check_plugin (func_name , "trt" )
1956+ _check_plugin (func_name , "akarin" )
19381957
19391958 plg_dir = os .path .dirname (core .trt .Version ()["path" ]).decode ()
19401959 mdl_fname = ["drunet_gray" , "drunet_color" ][[0 , 1 ].index (model )]
@@ -2605,7 +2624,6 @@ def _Stab(clp, dxmax=4, dymax=4, mirror=0) :
26052624
26062625def UAI_DML (
26072626 input : vs .VideoNode ,
2608- clamp : bool = False ,
26092627 crc : bool = False ,
26102628 model_pth : str = "" ,
26112629 fp16_qnt : bool = True ,
@@ -2616,7 +2634,6 @@ def UAI_DML(
26162634
26172635 func_name = "UAI_DML"
26182636 _validate_input_clip (func_name , input )
2619- _validate_bool (func_name , "clamp" , clamp )
26202637 _validate_bool (func_name , "crc" , crc )
26212638 _validate_string_length (func_name , "model_pth" , model_pth , 5 )
26222639 _validate_bool (func_name , "fp16_qnt" , fp16_qnt )
@@ -2625,8 +2642,6 @@ def UAI_DML(
26252642 _validate_vs_threads (func_name , vs_t )
26262643
26272644 _check_plugin (func_name , "ort" )
2628- if clamp :
2629- _check_plugin (func_name , "akarin" )
26302645
26312646 plg_dir = os .path .dirname (core .ort .Version ()["path" ]).decode ()
26322647 mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2652,8 +2667,6 @@ def UAI_DML(
26522667 fp16_qnt = False ### ort对于fp16模型自动使用对应的IO
26532668
26542669 clip = core .resize .Bilinear (clip = input , format = vs .RGBH if fp16_mdl else vs .RGBS , matrix_in_s = "709" )
2655- if clamp :
2656- clip = core .akarin .Expr (clips = clip , expr = "x 0 1 clamp" )
26572670 be_param = vsmlrt .BackendV2 .ORT_DML (device_id = gpu , num_streams = gpu_t , fp16 = fp16_qnt )
26582671 infer = vsmlrt .inference (clips = clip , network_path = mdl_pth , backend = be_param )
26592672
@@ -2669,7 +2682,6 @@ def UAI_DML(
26692682
26702683def UAI_MIGX (
26712684 input : vs .VideoNode ,
2672- clamp : bool = False ,
26732685 crc : bool = False ,
26742686 model_pth : str = "" ,
26752687 fp16_qnt : bool = True ,
@@ -2681,7 +2693,6 @@ def UAI_MIGX(
26812693
26822694 func_name = "UAI_MIGX"
26832695 _validate_input_clip (func_name , input )
2684- _validate_bool (func_name , "clamp" , clamp )
26852696 _validate_bool (func_name , "crc" , crc )
26862697 _validate_string_length (func_name , "model_pth" , model_pth , 5 )
26872698 _validate_bool (func_name , "fp16_qnt" , fp16_qnt )
@@ -2691,8 +2702,6 @@ def UAI_MIGX(
26912702 _validate_vs_threads (func_name , vs_t )
26922703
26932704 _check_plugin (func_name , "migx" )
2694- if clamp :
2695- _check_plugin (func_name , "akarin" )
26962705
26972706 plg_dir = os .path .dirname (core .migx .Version ()["path" ]).decode ()
26982707 mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2718,8 +2727,6 @@ def UAI_MIGX(
27182727 fp16_qnt = True ### 量化精度与模型精度匹配
27192728
27202729 clip = core .resize .Bilinear (clip = input , format = vs .RGBH if fp16_qnt else vs .RGBS , matrix_in_s = "709" )
2721- if clamp :
2722- clip = core .akarin .Expr (clips = clip , expr = "x 0 1 clamp" )
27232730 be_param = vsmlrt .BackendV2 .MIGX (
27242731 fp16 = fp16_qnt , exhaustive_tune = exh_tune , opt_shapes = [clip .width , clip .height ],
27252732 device_id = gpu , num_streams = gpu_t , short_path = True )
@@ -2737,7 +2744,6 @@ def UAI_MIGX(
27372744
27382745def UAI_NV_TRT (
27392746 input : vs .VideoNode ,
2740- clamp : bool = False ,
27412747 crc : bool = False ,
27422748 model_pth : str = "" ,
27432749 opt_lv : typing .Literal [0 , 1 , 2 , 3 , 4 , 5 ] = 3 ,
@@ -2755,7 +2761,6 @@ def UAI_NV_TRT(
27552761
27562762 func_name = "UAI_NV_TRT"
27572763 _validate_input_clip (func_name , input )
2758- _validate_bool (func_name , "clamp" , clamp )
27592764 _validate_bool (func_name , "crc" , crc )
27602765 _validate_string_length (func_name , "model_pth" , model_pth , 5 )
27612766 _validate_literal (func_name , "opt_lv" , opt_lv , [0 , 1 , 2 , 3 , 4 , 5 ])
@@ -2778,8 +2783,6 @@ def UAI_NV_TRT(
27782783 _validate_vs_threads (func_name , vs_t )
27792784
27802785 _check_plugin (func_name , "trt" )
2781- if clamp :
2782- _check_plugin (func_name , "akarin" )
27832786
27842787 plg_dir = os .path .dirname (core .trt .Version ()["path" ]).decode ()
27852788 mdl_pth_rel = plg_dir + "/models/" + model_pth
@@ -2809,8 +2812,6 @@ def UAI_NV_TRT(
28092812 fp16_qnt = True
28102813
28112814 clip = core .resize .Bilinear (clip = input , format = vs .RGBH if fp16_qnt else vs .RGBS , matrix_in_s = "709" )
2812- if clamp :
2813- clip = core .akarin .Expr (clips = clip , expr = "x 0 1 clamp" )
28142815 be_param = vsmlrt .BackendV2 .TRT (
28152816 builder_optimization_level = opt_lv , short_path = True , device_id = gpu ,
28162817 num_streams = gpu_t , use_cuda_graph = nv1 , use_cublas = nv2 , use_cudnn = nv3 ,
0 commit comments