Compare commits

...

26 Commits

Author SHA1 Message Date
Simon Bruder 3ac96a0fb0 vapoursynthPlugins: fix nix search version parsing
This is done to mirror what is done in nixpkgs
(https://github.com/NixOS/nixpkgs/pull/170414).
2022-05-27 22:52:59 +02:00
Aidan Gauland ab1a60b279 Apply suggestions from code review
Apply minor stylistic changes from code review feedback.

Co-authored-by: Simon Bruder <sbruder@sbruder.de>
2022-05-27 22:32:32 +02:00
Aidan Gauland fc83e0b2db vapoursynthPlugins.vsgan: init at 1.6.4 2022-05-27 22:32:32 +02:00
Simon Bruder eae6c95bb5 vapoursynthPlugins.lvsfunc: unstable-2021-05-15 -> 0.4.2
This version requires python 3.10, which is not yet the default in
nixpkgs. To use it, vapoursynth can be overridden to use python310 in an
overlay like this:

    final: prev: {
      vapoursynth = prev.vapoursynth.override { python3 = prev.python310; };
    }
2022-05-27 22:27:20 +02:00
Simon Bruder eeceb7e2e4 vapoursynthPlugins: allow override of python version
When overriding the python3 dependency of vapoursynth, it should get
propagated to all plugins. Currently, however, this causes
incompatibilities, because `vapoursynth.python3.callPackage` only sets
the `python` attribute, not `python3`. This currently causes build
failures due to different site-packages paths.
2022-05-27 22:27:20 +02:00
Simon Bruder ad171d9d86 vapoursynthPlugins.havsfunc: specify miscfilters-obsolete as dependency 2022-05-27 22:27:20 +02:00
Simon Bruder 1347684377 vapoursynthPlugins.adjust: fix compatibility with R55 2022-05-27 22:27:20 +02:00
Simon Bruder 27a1d4b20d vapoursynthPlugins.miscfilters-obsolete: init at unstable-2022-01-24 2022-05-27 22:27:20 +02:00
Simon Bruder 3446f34df4 vapoursynthPlugins.bm3d: r8 -> r9 2022-05-27 22:27:20 +02:00
Simon Bruder d5de0132a2 vapoursynthPlugins.bestaudiosource: init at R1 2022-05-27 22:27:20 +02:00
Simon Bruder a6a0e811e9 vapoursynthPlugins.edi_rpow2: fix compatibility with R55 2022-05-27 22:27:20 +02:00
Simon Bruder b3b20ca1a7 vapoursynthPlugins.vsutil: 0.5.0 -> unstable-2021-10-23
0.6.0 does not yet include the fix for newer VapourSynth versions.
2022-05-27 22:27:20 +02:00
Simon Bruder 6e326e3c9a vapoursynthPlugins.kagefunc: unstable-2021-01-21 -> 0.1.0 2022-05-27 22:27:20 +02:00
Simon Bruder 7dfc27a6fd getnative: 3.0.0 -> 3.0.2 2022-05-27 22:27:20 +02:00
Simon Bruder 8be7bc45ac vapoursynthPlugins.mvsfunc: r8 -> r10 2022-05-27 22:27:20 +02:00
Simon Bruder 7333302a37 vapoursynthPlugins.fmtconv: r22 -> r29 2022-05-27 22:27:20 +02:00
Simon Bruder 99942ec958 vapoursynthPlugins.subtext: init at R3 2022-05-27 22:27:20 +02:00
Simon Bruder 4fbd8e284b vapoursynthPlugins.vivtc: init at unstable-2021-09-26 2022-05-27 22:27:20 +02:00
Simon Bruder 954bfa2fc2 vapoursynthPlugins.ocr: init at unstable-2021-09-26 2022-05-27 22:27:20 +02:00
Simon Bruder 8ad7342d9c vapoursynthPlugins.removegrain: init at unstable-2021-09-27 2022-05-27 22:27:20 +02:00
Simon Bruder 1ca5c6cef3 vapoursynthPlugins.imwri: init at R1 2022-05-27 22:27:20 +02:00
Simon Bruder 154b0b8eeb vapoursynthPlugins.placebo: 1.3.1 -> 1.4.2
This makes debanding work for the first time.
2022-05-27 22:27:20 +02:00
Simon Bruder 1427188af1 vapoursynthPlugins.mt_lutspa: fix compatibility with R55 2022-05-27 22:27:20 +02:00
Simon Bruder 043e0f6da6 vapoursynthPlugins.vsTAAmbk: fix compatibility with R55 2022-05-27 22:27:20 +02:00
Simon Bruder 8b5a9f1a9f vapoursynthPlugins.vsTAAmbk: unstable-2020-08-13 -> 0.8.1 2022-05-27 22:27:20 +02:00
Simon Bruder 8eb9bc5e39 flake.lock: Update
Flake lock file changes:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d1601a40c48426ae460eede1675fd1d6ee23e198' (2021-05-13)
  → 'github:nixos/nixpkgs/5ce6597eca7d7b518c03ecda57d45f9404b5e060' (2022-05-24)
2022-05-27 22:27:20 +02:00
53 changed files with 607 additions and 131 deletions

View File

@ -8,6 +8,7 @@ in
addgrain = prev.callPackage ./plugins/addgrain { };
autocrop = prev.callPackage ./plugins/autocrop { };
awarpsharp2 = prev.callPackage ./plugins/awarpsharp2 { };
bestaudiosource = prev.callPackage ./plugins/bestaudiosource { };
beziercurve = prev.callPackage ./plugins/beziercurve { };
bifrost = prev.callPackage ./plugins/bifrost { };
bilateral = prev.callPackage ./plugins/bilateral { };
@ -32,22 +33,28 @@ in
fmtconv = prev.callPackage ./plugins/fmtconv { };
histogram = prev.callPackage ./plugins/histogram { };
hqdn3d = prev.callPackage ./plugins/hqdn3d { };
imwri = prev.callPackage ./plugins/imwri { };
knlmeanscl = prev.callPackage ./plugins/knlmeanscl { };
lsmashsource = prev.callPackage ./plugins/lsmashsource { };
median = prev.callPackage ./plugins/median { };
miscfilters-obsolete = prev.callPackage ./plugins/miscfilters-obsolete { };
msmoosh = prev.callPackage ./plugins/msmoosh { };
mvtools = prev.vapoursynth-mvtools;
nnedi3 = prev.callPackage ./plugins/nnedi3 { };
nnedi3cl = prev.callPackage ./plugins/nnedi3cl { };
ocr = prev.callPackage ./plugins/ocr { };
placebo = prev.callPackage ./plugins/placebo { };
readmpls = prev.callPackage ./plugins/readmpls { };
remap = prev.callPackage ./plugins/remap { };
removegrain = prev.callPackage ./plugins/removegrain { };
retinex = prev.callPackage ./plugins/retinex { };
sangnom = prev.callPackage ./plugins/sangnom { };
scxvid = prev.callPackage ./plugins/scxvid { };
subtext = prev.callPackage ./plugins/subtext { };
tcanny = prev.callPackage ./plugins/tcanny { };
tnlmeans = prev.callPackage ./plugins/tnlmeans { };
ttempsmooth = prev.callPackage ./plugins/ttempsmooth { };
vivtc = prev.callPackage ./plugins/vivtc { };
wwxd = prev.callPackage ./plugins/wwxd { };
znedi3 = prev.callPackage ./plugins/znedi3 { };
@ -60,6 +67,7 @@ in
nnedi3_resample = callPythonPackage ./plugins/nnedi3_resample { };
nnedi3_rpow2 = callPythonPackage ./plugins/nnedi3_rpow2 { };
rekt = callPythonPackage ./plugins/rekt { };
vsgan = callPythonPackage ./plugins/vsgan { };
vsTAAmbk = callPythonPackage ./plugins/vsTAAmbk { };
vsutil = callPythonPackage ./plugins/vsutil { };

View File

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1620901170,
"narHash": "sha256-hsJnA0fH6gGzj9KOoolUR+8mw+wNAJC/2SxjZsEq1AI=",
"lastModified": 1653407748,
"narHash": "sha256-g9puJaILRTb9ttlLQ7IehpV7Wcy0n+vs8LOFu6ylQcM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d1601a40c48426ae460eede1675fd1d6ee23e198",
"rev": "5ce6597eca7d7b518c03ecda57d45f9404b5e060",
"type": "github"
},
"original": {

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-addgrain";
version = "r8";
version = "8";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-AddGrain";
rev = version;
rev = "r${version}";
sha256 = "0qfazdifs1nq5ll6nvfvy3w9m28s2llm5i203ak6qf0bf98jnh4j";
};

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchFromGitHub, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, python, vapoursynth }:
buildPythonPackage rec {
pname = "vapoursynth-adjust";
@ -11,15 +11,22 @@ buildPythonPackage rec {
sha256 = "0wd6sh788ljb4vj6fd5zv2cx7nl6x1k3lnz44n7p3ac5vfskjz8a";
};
patches = [
(fetchpatch {
url = "https://github.com/dubhater/vapoursynth-adjust/commit/a3af7cb57cb37747b0667346375536e65b1fed17.patch";
sha256 = "sha256-0N7oSsYj0/F0PwswI+1hgM7Gu1KKWdlJOuYf24wlEUw=";
})
];
format = "other";
installPhase = ''
install -D adjust.py $out/${python3.sitePackages}/adjust.py
install -D adjust.py $out/${python.sitePackages}/adjust.py
'';
checkInputs = [ vapoursynth ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "adjust" ];

View File

@ -0,0 +1,58 @@
From 060ebbed04ba4ce351c4f9f641308e1b84ee30f5 Mon Sep 17 00:00:00 2001
From: Simon Bruder <simon@sbruder.de>
Date: Mon, 25 Apr 2022 11:33:22 +0200
Subject: [PATCH] Fix audio source iteration with -Wsign-compare
---
src/audiosource.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/audiosource.cpp b/src/audiosource.cpp
index 9d34f47..88d9820 100644
--- a/src/audiosource.cpp
+++ b/src/audiosource.cpp
@@ -292,7 +292,7 @@ bool BestAudioSource::GetExactDuration() {
if (HasExactNumAudioSamples)
return true;
int Index = -1;
- for (int i = 0; i < MaxAudioSources; i++) {
+ for (size_t i = 0; i < MaxAudioSources; i++) {
if (Decoders[i] && (Index < 0 || Decoders[Index]->GetFrameNumber() < Decoders[i]->GetFrameNumber()))
Index = i;
}
@@ -386,14 +386,14 @@ void BestAudioSource::GetAudio(uint8_t * const * const Data, int64_t Start, int6
return;
int Index = -1;
- for (int i = 0; i < MaxAudioSources; i++) {
+ for (size_t i = 0; i < MaxAudioSources; i++) {
if (Decoders[i] && Decoders[i]->GetSamplePosition() <= Start && (Index < 0 || Decoders[Index]->GetSamplePosition() < Decoders[i]->GetSamplePosition()))
Index = i;
}
// If an empty slot exists simply spawn a new decoder there
if (Index < 0) {
- for (int i = 0; i < MaxAudioSources; i++) {
+ for (size_t i = 0; i < MaxAudioSources; i++) {
if (!Decoders[i]) {
Index = i;
Decoders[i] = new LWAudioDecoder(Source.c_str(), Track, FFOptions);
@@ -405,7 +405,7 @@ void BestAudioSource::GetAudio(uint8_t * const * const Data, int64_t Start, int6
// No far enough back decoder exists and all slots are occupied so evict a random one
if (Index < 0) {
Index = 0;
- for (int i = 0; i < MaxAudioSources; i++) {
+ for (size_t i = 0; i < MaxAudioSources; i++) {
if (Decoders[i] && DecoderLastUse[i] < DecoderLastUse[Index])
Index = i;
}
@@ -458,4 +458,4 @@ void BestAudioSource::GetAudio(uint8_t * const * const Data, int64_t Start, int6
if (Count != 0)
throw AudioException("Code error, failed to provide all samples");
-}
\ No newline at end of file
+}
--
2.33.1

View File

@ -0,0 +1,33 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, ffmpeg, vapoursynth }:
stdenv.mkDerivation rec {
pname = "bestaudiosource";
version = "unstable-2021-09-28";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "87d6cba4a119f347e146de8f9751646b6f21284c";
sha256 = "sha256-ylNPv/QOBcJk6QTuXL/W6kJGJ+7Yg7WEFS5HEp7AIYY=";
};
patches = [
./0001-Fix-audio-source-iteration-with-Wsign-compare.patch
];
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ ffmpeg vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "Audio source and FFmpeg wrapper plugin for VapourSynth";
homepage = "https://github.com/vapoursynth/bestaudiosource";
license = licenses.mit;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-beziercurve";
version = "r3";
version = "3";
src = fetchFromGitHub {
owner = "kewenyu";
repo = "VapourSynth-BezierCurve";
rev = version;
rev = "r${version}";
sha256 = "1513ndj7sxwihyxx6x9ciyd8jhw9vs6lhzw7fpl7cz7fdj49wwi6";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-bilateral";
version = "r3";
version = "3";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-Bilateral";
rev = version;
rev = "r${version}";
sha256 = "05rhbg84z74rk3jcxa6abgqcqnjzgmjw03wljxa55jc358h9a6f0";
};

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-bm3d";
version = "r8";
version = "9";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-BM3D";
rev = version;
sha256 = "0hifiyqr0vp3rkqrjbz2fvka7s8xvcpl58rjf0rvljs64bxia4v7";
rev = "r${version}";
sha256 = "sha256-i7Kk7uFt2Wo/EWpVkGyuYgGZxBuQgOT3JM+WCFPHVrc=";
};
nativeBuildInputs = [ meson ninja pkg-config ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-CAS";
version = "r2";
version = "2";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0zcqz6vgfqy4lshc0cvf8hijs2y7c4nvm5nzmb8fl8si38d96rf5";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-CTMF";
version = "r5";
version = "5";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "138gbag1m3cg2bizc5ncxgriz3aw7dkqh1fpky3grlkspn5jc9x5";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-DCTFilter";
version = "r2.1";
version = "2.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "032l2dh28jznplh8ww8hzr0fmm6hx34f0k29gqyyjksmn3ympr00";
};

View File

@ -1,4 +1,4 @@
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python3, vapoursynth }:
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python, vapoursynth }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
f3kdb
@ -27,14 +27,14 @@ buildPythonPackage rec {
installPhase = ''
runHook preInstall
install -D debandshit.py $out/${python3.sitePackages}/debandshit.py
install -D debandshit.py $out/${python.sitePackages}/debandshit.py
runHook postInstall
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBinaryPlugins) ];
checkPhase = ''
runHook preCheck
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
runHook postCheck
'';
pythonImportsCheck = [ "debandshit" ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-Deblock";
version = "r6.1";
version = "6.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0s2aqfak8mxylkhfl350mm8abspp7sgfacnigf7qksvhdx232k2c";
};

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth, python3 }:
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth, python }:
# required to make python3.buildEnv use descales python module
python3.pkgs.toPythonModule (stdenv.mkDerivation rec {
# required to make python.buildEnv use descales python module
python.pkgs.toPythonModule (stdenv.mkDerivation rec {
pname = "vapoursynth-descale";
version = "r6";
version = "6";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "093dk125y4gacvhrh10x1i5g2qbsjl4spz74gjjm7xbvrvi1sc72";
};
@ -21,7 +21,7 @@ python3.pkgs.toPythonModule (stdenv.mkDerivation rec {
'';
postInstall = ''
install -D ../descale.py $out/${python3.sitePackages}/descale.py
install -D ../descale.py $out/${python.sitePackages}/descale.py
'';
meta = with lib; {

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-DFTTest";
version = "r7";
version = "7";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "1a13lziplfn8czn0rzpdj8pki8hjs2j1450xki3j09lb2ql2fm6q";
};

View File

@ -0,0 +1,79 @@
From 90fa697e44d42e7939071672a7ae282be7d37ca9 Mon Sep 17 00:00:00 2001
From: Simon Bruder <simon@sbruder.de>
Date: Sun, 17 Oct 2021 11:38:12 +0200
Subject: [PATCH] Use vs.core instead of vs.get_core()
The latter has been removed since VapourSynth R55.
---
edi_rpow2.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/edi_rpow2.py b/edi_rpow2.py
index 6aedea9..cd345bd 100644
--- a/edi_rpow2.py
+++ b/edi_rpow2.py
@@ -1,6 +1,6 @@
def nnedi3_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,etype=None,pscrn=None,opt=None,int16_prescreener=None,int16_predictor=None,exp=None):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
def edi(clip,field,dh):
return core.nnedi3.nnedi3(clip=clip,field=field,dh=dh,nsize=nsize,nns=nns,qual=qual,etype=etype,pscrn=pscrn,opt=opt,int16_prescreener=int16_prescreener,int16_predictor=int16_predictor,exp=exp)
@@ -9,7 +9,7 @@ def nnedi3_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,etype
def znedi3_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,etype=None,pscrn=None,opt=None,int16_prescreener=None,int16_predictor=None,exp=None):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
def edi(clip,field,dh):
return core.znedi3.nnedi3(clip=clip,field=field,dh=dh,nsize=nsize,nns=nns,qual=qual,etype=etype,pscrn=pscrn,opt=opt,int16_prescreener=int16_prescreener,int16_predictor=int16_predictor,exp=exp)
@@ -18,7 +18,7 @@ def znedi3_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,etype
def nnedi3cl_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,etype=None,pscrn=None,device=None):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
def edi(clip,field,dh):
return core.nnedi3cl.NNEDI3CL(clip=clip,field=field,dh=dh,nsize=nsize,nns=nns,qual=qual,etype=etype,pscrn=pscrn,device=device)
@@ -27,7 +27,7 @@ def nnedi3cl_rpow2(clip,rfactor,correct_shift="zimg",nsize=0,nns=3,qual=None,ety
def eedi3_rpow2(clip,rfactor,correct_shift="zimg",alpha=None,beta=None,gamma=None,nrad=None,mdis=None,hp=None,ucubic=None,cost3=None,vcheck=None,vthresh0=None,vthresh1=None,vthresh2=None,sclip=None):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
def edi(clip,field,dh):
return core.eedi3.eedi3(clip=clip,field=field,dh=dh,alpha=alpha,beta=beta,gamma=gamma,nrad=nrad,mdis=mdis,hp=hp,ucubic=ucubic,cost3=cost3,vcheck=vcheck,vthresh0=vthresh0,vthresh1=vthresh1,vthresh2=vthresh2,sclip=sclip)
@@ -36,7 +36,7 @@ def eedi3_rpow2(clip,rfactor,correct_shift="zimg",alpha=None,beta=None,gamma=Non
def eedi2_rpow2(clip,rfactor,correct_shift="zimg",mthresh=None,lthresh=None,vthresh=None,estr=None,dstr=None,maxd=None,map=None,nt=None,pp=None):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
def edi(clip,field,dh):
return core.eedi2.EEDI2(clip=clip,field=field,mthresh=mthresh,lthresh=lthresh,vthresh=vthresh,estr=estr,dstr=dstr,maxd=maxd,map=map,nt=nt,pp=pp)
@@ -46,7 +46,7 @@ def eedi2_rpow2(clip,rfactor,correct_shift="zimg",mthresh=None,lthresh=None,vthr
def edi_rpow2(clip,rfactor,correct_shift,edi):
import vapoursynth as vs
import math
- core = vs.get_core()
+ core = vs.core
steps=math.log(rfactor)/math.log(2) # 2^steps=rfactor
@@ -74,7 +74,7 @@ def edi_rpow2(clip,rfactor,correct_shift,edi):
def correct_edi_shift(clip,rfactor,plugin):
import vapoursynth as vs
- core = vs.get_core()
+ core = vs.core
if clip.format.subsampling_w==1:
hshift=-rfactor/2+0.5 # hshift(steps+1)=2*hshift(steps)-0.5
--
2.31.1

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "edi_rpow2";
@ -10,6 +10,10 @@ buildPythonPackage rec {
sha256 = "0vaj4v74khrsmyvkpimfkbbyk4bwn065j57fcvzx37fki8a8sw6i";
};
patches = [
./0001-Use-vs.core-instead-of-vs.get_core.patch
];
propagatedBuildInputs = with vapoursynthPlugins; [
eedi2
eedi3m
@ -22,12 +26,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D edi_rpow2.py $out/${python3.sitePackages}/edi_rpow2.py
install -D edi_rpow2.py $out/${python.sitePackages}/edi_rpow2.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "edi_rpow2" ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-eedi2";
version = "r7.1";
version = "7.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-EEDI2";
rev = version;
rev = "r${version}";
sha256 = "10yfndb4q5zd450v5di331r3hm1mfikw370jvxydd98b0lbjpp8f";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-eedi3";
version = "r4";
version = "4";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-EEDI3";
rev = version;
rev = "r${version}";
sha256 = "1q79l27arcfl7k49czsspb4z7zfr616xsxsb04x9b4d9l763716x";
};

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "finedehalo";
@ -19,14 +19,14 @@ buildPythonPackage rec {
installPhase = ''
runHook preInstall
install -D finedehalo.py $out/${python3.sitePackages}/finedehalo.py
install -D finedehalo.py $out/${python.sitePackages}/finedehalo.py
runHook postInstall
'';
checkInputs = [ vapoursynth ];
checkPhase = ''
runHook preCheck
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
runHook postCheck
'';
pythonImportsCheck = [ "finedehalo" ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fmtconv";
version = "r22";
version = "29";
src = fetchFromGitHub {
owner = "EleonoreMizo";
repo = pname;
rev = version;
sha256 = "1nvanskvh8qv45h7islwgnyrvdkcn7h9jks5fskg4c00aj6bxrrn";
rev = "r${version}";
sha256 = "sha256-V2iY8mBIFtkLkiHXlN/KrlBmzCEpGStHYaOcJSTU9LE=";
};
preAutoreconf = "cd build/unix";

View File

@ -1,4 +1,4 @@
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python3, vapoursynth }:
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python, vapoursynth }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
bilateral
@ -29,12 +29,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D fvsfunc.py $out/${python3.sitePackages}/fvsfunc.py
install -D fvsfunc.py $out/${python.sitePackages}/fvsfunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBinaryPlugins) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "fvsfunc" ];

View File

@ -1,13 +1,13 @@
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "havsfunc";
version = "r33";
version = "33";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "14132gcy0zw348c40y2i8c7n3i1ygcnv9xrf83jp6m3b9v557z7p";
};
@ -28,6 +28,7 @@ buildPythonPackage rec {
fmtconv
hqdn3d
knlmeanscl
miscfilters-obsolete
mvsfunc
mvtools
nnedi3
@ -40,12 +41,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D havsfunc.py $out/${python3.sitePackages}/havsfunc.py
install -D havsfunc.py $out/${python.sitePackages}/havsfunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "havsfunc" ];

29
plugins/imwri/default.nix Normal file
View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, imagemagick, libheif, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vs-imwri";
version = "1";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "R${version}";
sha256 = "sha256-3nNX7OxAwHPJ6JwaTZJTH13eWktPI/XBmEC/OETCun4=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ imagemagick libheif vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_variable(pkgconfig: 'libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "Image reader and writer for VapourSynth using the ImageMagick library";
homepage = "https://github.com/vapoursynth/vs-imwri";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -1,4 +1,4 @@
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python3, vapoursynth }:
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, python, vapoursynth }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
adaptivegrain
@ -14,13 +14,13 @@ let
in
buildPythonPackage rec {
pname = "kagefunc";
version = "unstable-2021-01-21";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = "a1e89b1dd591bafec3b9f95e0087b096b9b6f9b1";
sha256 = "0j7n7iz0ksqydjm3jzk2l71a77l9ljm71wg414amdqjcbm5dmsw5";
rev = version;
sha256 = "sha256-9OpFSVLQspa6+xkCFqD5xeo3akCfwnpwtFuCCsQxAvQ=";
};
patches = [
@ -36,12 +36,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D kagefunc.py $out/${python3.sitePackages}/kagefunc.py
install -D kagefunc.py $out/${python.sitePackages}/kagefunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBinaryPlugins) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
python3 tests.py
'';
pythonImportsCheck = [ "kagefunc" ];

View File

@ -1,4 +1,4 @@
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, rich, toolz, vapoursynth }:
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, rich, toolz, vapoursynth, pythonOlder }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
adaptivegrain
@ -19,13 +19,13 @@ let
in
buildPythonPackage rec {
pname = "lvsfunc";
version = "unstable-2021-05-15";
version = "0.4.2";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = "76bddb75bc014a47064958beecb13143b8206fa6";
sha256 = "0gvpz9d0lbjvpk8spkfxbmi4s8pqqyjqi8jjvfhfdf3m906v1wh1";
rev = "v${version}";
sha256 = "sha256-Yv7WBr9suuYsDI9LfZVcTBuDTPkd/DMCk/lQ58qsLyw=";
};
postPatch = ''
@ -33,10 +33,6 @@ buildPythonPackage rec {
# vapoursynth).
substituteInPlace requirements.txt \
--replace "VapourSynth>=51" "" \
# TODO: remove when python 3.9 is default in nixpkgs
substituteInPlace setup.py \
--replace "python_requires='>=3.9'" "python_requires='>=3.8'" \
'';
propagatedBuildInputs = [
@ -61,5 +57,6 @@ buildPythonPackage rec {
license = licenses.mit; # no license
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
broken = pythonOlder "3.10";
};
}

View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, tesseract, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vs-miscfilters-obsolete";
version = "unstable-2022-01-24";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "07e0589a381f7deb3bf533bb459a94482bccc5c7";
sha256 = "sha256-WEhpBTNEamNfrNXZxtpTGsOclPMRu+yBzNJmDnU0wzQ=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "A collection of VapourSynth filters that mostly are useful for Avisynth compatibility";
homepage = "https://github.com/vapoursynth/vs-miscfilters-obsolete";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,30 @@
From 6c741ced6ad6b509bde7d6a365c8981539d211f5 Mon Sep 17 00:00:00 2001
From: Simon Bruder <simon@sbruder.de>
Date: Tue, 12 Oct 2021 21:31:39 +0200
Subject: [PATCH] Use vs.core instead of vs.get_core()
It has been deprecated since R51 and was entirely removed in R55.
---
mt_lutspa.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mt_lutspa.py b/mt_lutspa.py
index d5a51dc..d6a1d85 100644
--- a/mt_lutspa.py
+++ b/mt_lutspa.py
@@ -237,10 +237,10 @@ def lutspa(clip, mode="relative", relative=True, biased=True, expr="x",
return frame
- return vs.get_core().std.ModifyFrame(clip, clip, lutspa_core)
+ return vs.core.std.ModifyFrame(clip, clip, lutspa_core)
-core = vs.get_core()
+core = vs.core
blank = core.std.BlankClip(width=848, height=480, length=250, format=vs.YUV420P8)
out = lutspa(blank, mode="relative", y_expr="x 0.5 > x 255 * y 255 * &u x y max 255 * ?",
expr="x 255 * y 255 * &u 112 max 144 min",
--
2.31.1

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchgit, numpy, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchgit, numpy, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "mt_lutspa";
@ -10,6 +10,10 @@ buildPythonPackage rec {
sha256 = "0szws6fcrcgdn31szhrmglpl2kglrglx1bgxd0bjl3r51bxiry12";
};
patches = [
./0001-Use-vs.core-instead-of-vs.get_core.patch
];
propagatedBuildInputs = [
numpy
];
@ -17,12 +21,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D mt_lutspa.py $out/${python3.sitePackages}/mt_lutspa.py
install -D mt_lutspa.py $out/${python.sitePackages}/mt_lutspa.py
'';
checkInputs = [ vapoursynth ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "mt_lutspa" ];

View File

@ -1,4 +1,4 @@
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, matplotlib, python3, vapoursynth }:
{ lib, vapoursynthPlugins, buildPythonPackage, fetchFromGitHub, matplotlib, python, vapoursynth }:
let
propagatedBinaryPlugins = with vapoursynthPlugins; [
descale
@ -30,12 +30,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D muvsfunc.py $out/${python3.sitePackages}/muvsfunc.py
install -D muvsfunc.py $out/${python.sitePackages}/muvsfunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBinaryPlugins) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "muvsfunc" ];

View File

@ -1,14 +1,14 @@
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "mvsfunc";
version = "r8";
version = "10";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
sha256 = "0y5whczp3skbfbv9ajizddpg2k8hxiiy339gkqhiqby7zlbnvdw2";
rev = "r${version}";
sha256 = "sha256-J68NMBE3MdAd9P0UJH32o0YwQx+7I5+13j8Jc5rbQtc=";
};
propagatedBuildInputs = with vapoursynthPlugins; [
@ -19,12 +19,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D mvsfunc.py $out/${python3.sitePackages}/mvsfunc.py
install -D mvsfunc.py $out/${python.sitePackages}/mvsfunc.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "mvsfunc" ];

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "nnedi3_resample";
@ -20,12 +20,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D nnedi3_resample.py $out/${python3.sitePackages}/nnedi3_resample.py
install -D nnedi3_resample.py $out/${python.sitePackages}/nnedi3_resample.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "nnedi3_resample" ];

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchgit, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "nnedi3_rpow2";
@ -20,12 +20,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D nnedi3_rpow2.py $out/${python3.sitePackages}/nnedi3_rpow2.py
install -D nnedi3_rpow2.py $out/${python.sitePackages}/nnedi3_rpow2.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
'';
pythonImportsCheck = [ "nnedi3_rpow2" ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-NNEDI3CL";
version = "r8";
version = "8";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0j99ihxy295plk1x5flgwzjkcjwyzqdmxnxmda9r632ksq9flvyd";
};

29
plugins/ocr/default.nix Normal file
View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, tesseract, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vs-ocr";
version = "unstable-2021-09-26";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "b5dd7749a2f0694840d287f0bf4d42ce5323a8cf";
sha256 = "sha256-N2+S4YRMzjpFdRnCXGgvxU1rUKIjmHe7ylzBrB4CPL8=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ tesseract vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "OCR plugin for VapourSynth";
homepage = "https://github.com/vapoursynth/vs-ocr";
license = licenses.mit;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -2,28 +2,16 @@
stdenv.mkDerivation rec {
pname = "vs-placebo";
version = "1.3.1";
version = "1.4.2";
src = fetchFromGitHub {
owner = "Lypheo";
repo = pname;
rev = version;
sha256 = "079i4ixm6273gy9x80ij7s645v5bm53vczkky5lg4vls5sk00hk2";
sha256 = "sha256-nerS1z/Ch/UqcmcY2gNL1Xl3hs1/etEAODj8pzrSuEE=";
fetchSubmodules = true;
};
patches = [
# fix build with newer libplacebo
(fetchpatch {
url = "https://github.com/Lypheo/vs-placebo/commit/d717bb49ce03ea9d67152a7c2e4df026de040c35.diff";
sha256 = "0phnhpv7alxyw4ki3kj3a19j8qv16hww6gz06lyiyabj20xqibri";
})
(fetchpatch {
url = "https://github.com/Lypheo/vs-placebo/commit/6a99aa1c427f9119d695d3e9d1a08782f51740d1.diff";
sha256 = "1x7by89vc0368p4baqlyqi5kw38plr024g4kxbr6afg4f8q4rl58";
})
];
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ libplacebo vapoursynth vulkan-headers vulkan-loader ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-ReadMpls";
version = "r4";
version = "4";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0v1hs0wgpv9raacsslmwhsw81c49c52mhc6py2ydxb0b359rqg2n";
};

View File

@ -2,7 +2,7 @@
buildPythonPackage rec {
pname = "rekt";
version = "r39";
version = "39";
src = fetchFromGitLab {
owner = "Ututu";

View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vs-removegrain";
version = "unstable-2021-09-27";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "ea3d1566b7d82e1efb2f30612d6951dc61ebba65";
sha256 = "sha256-yg6VSZzkxFLzW/bTNMx0EollzzJtMKxRuwwXBH326aI=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "VapourSynth port of RemoveGrain and Repair plugins from Avisynth";
homepage = "https://github.com/vapoursynth/vs-removegrain";
license = with licenses; [ mit unfree wtfpl ]; # only some files have license header
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-retinex";
version = "r4";
version = "4";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-Retinex";
rev = version;
rev = "r${version}";
sha256 = "108jmawfn87ydabpxkb0srbk2r8vgpfn0kiby4g56msbc0rpvc6g";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-sangnom";
version = "r42";
version = "42";
src = fetchFromGitHub {
owner = "dubhater";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0g9gr4lj5krwlkxb6fc1b408zj5gnl8v36hr66r27h9ndg12flfs";
};

View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, ffmpeg, libass, vapoursynth }:
stdenv.mkDerivation rec {
pname = "subtext";
version = "3";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "R${version}";
sha256 = "sha256-Tux8WFbUn4Bt1EL9r+f+Y/av9w9Y23gc79m1JcZWj50=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ ffmpeg libass vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "Subtitle plugin for VapourSynth based on libass";
homepage = "https://github.com/vapoursynth/subtext";
license = licenses.mit;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "vapoursynth-tcanny";
version = "r12";
version = "12";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-TCanny";
rev = version;
rev = "r${version}";
sha256 = "1jsvgxb94klqwh40820zfw8radrnlr3w3lf2kkzjp6r97kgr5i37";
};

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "VapourSynth-TTempSmooth";
version = "r3.1";
version = "3.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "0h7wxqr3kpq92pr2kbzjljlkg57l1a40w662p322l4r7587x4zdz";
};

29
plugins/vivtc/default.nix Normal file
View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vivtc";
version = "unstable-2021-09-26";
src = fetchFromGitHub {
owner = "vapoursynth";
repo = pname;
rev = "ed56d96d13a2989fc147a1e9faaced959b6b2cd8";
sha256 = "sha256-4tevOjXy41yWYIvsvNODVzVlNx5e/Yf1zFK20Q/8RGs=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
postPatch = ''
substituteInPlace meson.build \
--replace "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
'';
meta = with lib; {
description = "Field matcher and decimation filter for VapourSynth similar to TIVTC";
homepage = "https://github.com/vapoursynth/vivtc";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ sbruder ];
platforms = platforms.all;
};
}

View File

@ -1,3 +1,12 @@
From 35b84e26e337a3d8a3cacc5dcfde8d8c81931924 Mon Sep 17 00:00:00 2001
From: Simon Bruder <simon@sbruder.de>
Date: Fri, 15 Oct 2021 19:34:45 +0200
Subject: [PATCH 1/2] Skip OpenCL test
---
test/vsTAAmbkTestCase.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/test/vsTAAmbkTestCase.py b/test/vsTAAmbkTestCase.py
index ca85b73..7a70a00 100644
--- a/test/vsTAAmbkTestCase.py
@ -10,3 +19,6 @@ index ca85b73..7a70a00 100644
def test_opencl(self):
test_clip = [self.gray8, self.gray16]
for clip in test_clip:
--
2.31.1

View File

@ -0,0 +1,35 @@
From cfc284a25d94ddf4459bac612d208f9065ccebcf Mon Sep 17 00:00:00 2001
From: Simon Bruder <simon@sbruder.de>
Date: Fri, 15 Oct 2021 19:32:44 +0200
Subject: [PATCH 2/2] Use format IDs from VapourSynth R55
---
test/vsTAAmbkTestCase.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/test/vsTAAmbkTestCase.py b/test/vsTAAmbkTestCase.py
index 7a70a00..d2acdd6 100644
--- a/test/vsTAAmbkTestCase.py
+++ b/test/vsTAAmbkTestCase.py
@@ -88,12 +88,12 @@ class GeneralTestCase(unittest.TestCase):
yuv420p16 = core.std.BlankClip(width=1920, height=1080, format=vs.YUV420P16, fpsnum=24000, fpsden=1001)
yuv444p16 = core.std.BlankClip(width=1920, height=1080, format=vs.YUV444P16, fpsnum=24000, fpsden=1001)
format_id = {
- '1000010': 'GRAY8',
- '1000011': 'GRAY16',
- '3000010': 'YUV420P8',
- '3000012': 'YUV444P8',
- '3000022': 'YUV420P16',
- '3000024': 'YUV444P16',
+ '268959744': 'GRAY8',
+ '269484032': 'GRAY16',
+ '805830913': 'YUV420P8',
+ '805830656': 'YUV444P8',
+ '806355201': 'YUV420P16',
+ '806354944': 'YUV444P16',
}
def test_default_value(self):
--
2.31.1

View File

@ -1,18 +1,19 @@
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python3, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynthPlugins, python, vapoursynth }:
buildPythonPackage rec {
pname = "vsTAAmbk";
version = "unstable-2020-08-13";
version = "0.8.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = pname;
rev = "4dddf1a86effb4c6ceae7ca493f1ceed434e37ea";
sha256 = "06n744b9qr495afrpp4c1i3vcr5cab114rx69xslbhiwy2mg237s";
rev = "v${version}";
sha256 = "sha256-KfU2f7tBhw007f4RmVruV3Pkgo1zdA4o43+1lL/ohKo=";
};
patches = [
./skip-opencl-test.diff
./0001-Skip-OpenCL-test.patch
./0002-Use-format-IDs-from-VapourSynth-R55.patch
];
propagatedBuildInputs = with vapoursynthPlugins; [
@ -27,6 +28,7 @@ buildPythonPackage rec {
mvtools
nnedi3
nnedi3cl
removegrain
sangnom
tcanny
znedi3
@ -35,12 +37,12 @@ buildPythonPackage rec {
format = "other";
installPhase = ''
install -D vsTAAmbk.py $out/${python3.sitePackages}/vsTAAmbk.py
install -D vsTAAmbk.py $out/${python.sitePackages}/vsTAAmbk.py
'';
checkInputs = [ (vapoursynth.withPlugins propagatedBuildInputs) ];
checkPhase = ''
PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
python3 test/vsTAAmbkTestCase.py
'';

42
plugins/vsgan/default.nix Normal file
View File

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, vapoursynth
, numpy
, poetry
, pytorch
}:
buildPythonPackage rec {
pname = "vsgan";
version = "1.6.4";
src = fetchFromGitHub {
owner = "rlaphoenix";
repo = "VSGAN";
rev = "v${version}";
sha256 = "sha256-bMgCah3kkyxNU5tb/eLt0tuG4xnD4sbtAzUK0a4uOKE=";
};
format = "pyproject";
propagatedBuildInputs = [
numpy
poetry
pytorch
];
checkInputs = [
vapoursynth
];
pythonImportsCheck = [ "vsgan" ];
meta = with lib; {
description = "ESRGAN for VapourSynth";
homepage = "https://vsgan.phoeniix.dev/";
license = licenses.mit;
maintainers = with maintainers; [ aidalgol ];
platforms = platforms.all;
};
}

View File

@ -1,15 +1,15 @@
{ lib, buildPythonPackage, fetchFromGitHub, vapoursynth }:
{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, vapoursynth }:
buildPythonPackage rec {
pname = "vsutil";
version = "0.5.0";
version = "unstable-2021-10-23";
# there are no tests in the pypi tarball
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = version;
sha256 = "0pv3910g5cdx132cq9f3g7rb3yxyxyvw9110vsl196xswkccl8n8";
rev = "a101f22b7be4f28bc89ed73bfc82cce3067dc549";
sha256 = "sha256-IQncZxpd2QNYmjMXxE++yeY4mDffBjOtE69J2lQPQUU=";
};
patches = [

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "znedi3";
version = "r2";
version = "2";
src = fetchFromGitHub {
owner = "sekrit-twc";
repo = pname;
rev = version;
rev = "r${version}";
sha256 = "1p6563s1b52qisvvwid047jd376sz737lggwfhanci0sqxxphhrb";
fetchSubmodules = true;
};

View File

@ -7,19 +7,21 @@ let
in
buildPythonApplication rec {
pname = "getnative";
version = "3.0.0";
version = "3.0.2";
src = fetchFromGitHub {
owner = "Infiziert90";
repo = pname;
rev = version;
sha256 = "0jvvwyxlgarff2r5v2nvqmy2bw17anz4cid95gwbl3br4a2pmhzn";
# The version in setup.py is 3.0.2, but there is no tag for it
# (the tag that GitHub shows as 3.0.2 actually is 3.0.0)
rev = "2ae9037adca5ac1f5d747bb32f4dbea30631dc33";
sha256 = "sha256-h3M/eRDwJKaPRedISxW6lzBw5UT20hTLhqmRa4HzQuw=";
};
# vapoursynth is not recognised during installation
postPatch = ''
substituteInPlace requirements.txt \
--replace "VapourSynth>=45" ""
--replace "VapourSynth>=55" ""
'';
propagatedBuildInputs = [