Vor 2 oder 3 Jahren hatte ich exakt das gleiche Problem. Das war fuer mich der Grund auf TNLMeans und schliesslich KNLMeansCL umzusteigen. Never looked back.
Beiträge von Groucho2004
-
-
Eigentlich müssten die OpenCL Anwendungen die Shader beschäftigen, und nicht die Dekodiereinheit
Weder noch. OpenCL läuft auf der GPU. Teile von DGDecode laufen ebenfalls auf der GPU. Das Problem mit DGDecode und OpenCL auf Win10 ist NVidia's Unfähigkeit stabile Treiber (für Win10) zu entwickeln. -
AviSynth-2.0x-Plugins sollte man nicht mehr im AutoLoad-Plugin-Verzeichnis aufbewahren. Bei MeGUI sollten aus dieser Ära hoffentlich keine mehr enthalten sein.
Das kann man sehr einfach mit "AVSMeter -avsinfo" 'rausfinden.
-
Hier ist eine Liste mit alten Plugins. Es ist schon richtig, die meisten wurden durch interne Funktionen oder modernere Filter ersetzt.
-
AviSynth-2.0x-Plugins sollte man nicht mehr im AutoLoad-Plugin-Verzeichnis aufbewahren.
Von welchen 2.0 Plugins sprichst du? C 2.0 oder CPP 2.0?
C-Plugins sollten grundsätzlich nicht im AutoLoad Verzeichnis sein, es sei denn man benutzt Avisynth+ das C-Plugins automatisch laden kann (aber nur C 2.5 Plugins, C 2.0 Plugins werden nicht unterstützt). -
Um alte Avisynth C 2.0 Plugins zu laden braucht man "avisynth_c.dll". Wenn sich diese DLL im Plugin-Verzeichnis befindet, muss jedes (2.0 und 2.5) C-Plugin mit "Load_Stdcall_Plugin()" geladen werden da avisynth_c.dll den "LoadCPlugin()" Aufruf "hijacked".
Es gibt uebrigens auch yadifmod2.
-
Kleiner Tipp: Ich würde da wohl nicht so gemütlich sitzen.
Ah. Gutes Photoshopping. -
Irgendwas fehlt hier...
[Blockierte Grafik: http://frupic.frubar.net/shots/33435.jpg]
Zwei Mobiltelefone? -
MDeGrain2.avs mit AviSynth MT:
CodeSetMTMode(3, 0)AVISource("YourFile.avi")SetMTMode(5)super = MSuper(pel=2, sharp=1)backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)MDegrain2(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400)
ca. 6 fps im SetMTMode 5 und/oder 6 (drunter spinnt er) (Win7/64, i7 2600k (3,4GHz) (4 Cores (8 Threads)), 8GB RAM)
So mit 720x576 interlaced Material
Manchmal hilft es, die Dokumentation (in diesem Fall Avisynth MT) zu lesen:Code
Alles anzeigen[Script] setmtmode(5) LoadPlugin("E:\Apps\VideoTools\DGDec\DGDecode.dll") MPEG2Source("F:\Test\test.d2v", idct = 3) setmtmode(2) super = MSuper(pel=2, sharp=1) backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4) backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4) forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4) forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4) MDegrain2(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400) [Clip info] Number of frames: 5863 Length (hh:mm:ss.ms): 00:03:54.520 Frame width: 720 Frame height: 576 Framerate: 25.000 (25/1) Colorspace: YV12 [Runtime info] Frames processed: 1000 (0 - 999) FPS (min | max | average): 8.156 | 298295 | 29.58 Memory usage (phys | virt): 563 | 582 MB Thread count: 5 CPU usage (average): 88% Time (elapsed): 00:00:33.802
(WinXP/32, i5 2500k (4GHz) (4 Cores (4 Threads)), 4GB RAM)
Läuft ohne jegliches "Spinnen".
-
Nicht CUDA, nur PureVideo.
Aus der DGIndexNV-Dokumentation:ZitatDecode_Modes=0/1/2,0/1/2,0/1/2: The order of the parameters corresponds to AVC video, MPEG2 video, and VC1 video. A value of 0 selects CUVID decoding; a value of 1 selects CUDA decoding; a value of 2 selects DXVA decoding. For example, "Decode_Modes=0,1,0" causes CUDA to be used for MPEG2 video and CUVID for AVC and VC1 video. By default, CUVID is used for AVC and VC1, and CUDA is used for MPEG2.
-
Falls du auf AviSynth 2.60 MT von SEt umsteigen möchtest, solltest du beachten, dass du es mit der Anzahl Threads nicht übertreiben darfst, weder für die Parallel-Ausführung von QTGMC insgesamt noch für die Parallelisierung einzelner Komponenten (sonst multipliziert sich die Thread-Anzahl, und dann warten alle nur noch aufeinander). Bei einem intel Quad-Core mit HyperThreading werden 8 logische Kerne erkannt, aber 8 Threads sind definitiv zu viele, man sollte auf vielleicht 3 oder höchstens 4 begrenzen. Dazu zählen folgende Stellen:
- SetMTMode(mode, skript_threads) beim ersten Aufruf vor dem Quellfilter (bei dir: AviSource)
- avstp_set_threads(avstp_threads) für die Parallelisierung der MVTools
- QTGMC(..., EDIThreads=edi_threads) für die "Edge Directed Interpolation" (Vergrößerung mit Kantenschutz innerhalb von QTGMC); dfttest verwendet übigens ebenso viele eigene Threads wie NNEDI3, außer man definiert das mit QTGMC(..., DftThreads=dft_threads) anders
Ein Skript mit SetMTMode(2, 4) und QTGMC(..., EDIThreads=3) würde also in 4 parallelen Threads zur Ausführung des Skriptes jeweils NNEDI und dfttest mit 3 eigenen Threads für sich parallel ausführen, wodurch in diesen Momenten dann bis zu 4*3=12 Threads parallel arbeiten könnten (plus eine AviSynth-Basis, z.B. zur Ausgabe des Ergebnis-Videos). Mit 8 logischen Kernen ist das schon eine gewisse Verwaltungsarbeit für das Betriebssystem, und der RAM füllt sich...
Alles richtig aber mit AVS MT sollte avstp.dll nicht benutzt werden. Die beiden spielen überhaupt nicht gut zusammen. -
Was nun den praktisch nicht vorhandenen Geschwindigkeitsunterschied angeht ... avstp beschleunigt nur einen kleinen Anteil am gesamten QTGMC-Skript. Aber ausgerechnet ein ziemlich langsamer Anteil wird immer noch nur in einem Thread ausgeführt.
Bei mir ist der Unterschied deutlich, ich benutze allerdings nicht die QTGMC() DeNoise-Funktionen sondern einen GPU-Denoiser(KNLMeansCL). -
hab nochmal probiert mit und ohne avstp:
2016-01-30 10_50_21-Administrator_ C__Windows_system32_cmd.exe.png
der erste Aufruf mit parameter: avstp_set_threads (8)
der zweite ohne avstp (mit "#" auskommentiert)
der dritte mit parameter: avstp_set_threads (4)
alles ohne Denoise (video = QTGMC(video,Preset="slow")#,NoisePreset="medium",EZDenoise=1.5)) DenoisePresets auskommentiert
Beim ersten Aufruf läuft mvtools2 mit 8 Threads
Beim zweiten Aufruf läuft mvtools2 ebenfalls mit 8 Threads
Beim dritten Aufruf läuft mvtools2 mit 4 Threadscretindesalpes' mvtools2 2.6.0.5 benutzt avstp.dll zum Multi-Threading wenn sie sich im gleichen Verzeichnis befindet. Ohne die Angabe von "avstp_set_threads()" wird die Anzahl der logischen CPU-Kerne gesetzt. Um mvtools2 ohne avstp zu testen musst du die Datei löschen oder umbenennen (z.B. "avstp.dl").
-
Dfttest ist intern multi-threaded und ziemlich langsam und maskiert deswegen den Unterschied. Wenn du das Ganze mal ohne Noise-Presets laufen laesst siehst du den Unterschied. Ausserdem ist CPU-Auslastung sekundaer. Was helfen 100% Auslastung wenn das Skript ineffiezient ist. Tipp: Benutze AVSMeter zum Vergleichen von Speed/CPU-Auslastung.
-
Es gibt eine Modifikation von AviSynth MT 2.60 mit Tweaks für hochauflösende Videos, dafür aber ohne die nötige Bibliothek für ImageSource.
Siehe hier
Sowas passiert wenn Hobby-Programmierer mit Code rumpfuschen den sie nicht verstehen. :lol: -
Hm ... ok, aber warum Varistoren ? Wäre 'n normaler Widerstand da nicht "sinnvoller" ?
Denn dann würde es nicht zu einem überhitzen kommen ...
Bevor ich mir Finger wundschreibe - Hier ist das recht gut erklärt. -
Die Temperaturentwicklung von LEDs sollte wesentlich geringer sein als die von Glühlampen, oder?
Deutlich geringer. Dieses Jahr haben wir mal diese Lichterkette ausprobiert, 2.2 Watt (gemessen)! Die alte Kette mit "normalen" Birnen hatte 30 Watt verbraucht. -
Die Glühlampen sind in Reihe geschaltet und beim Ausfall einer Lampe kommt ein integrierter Varistor zum Einsatz der die Unterbrechung der Kette verhindert. Je mehr Lampen ausfallen, desto mehr Spannung fällt an den einzelnen, verbleibenden Lampen ab -> mehr Verlustleistung pro Lampe -> höhere Temperatur.
-
Diese Antwort fand ich eigentlich sehr nützlich.
-
Ich hab doch aber 2.6.0.4. und das sollte auch Global genutzt werden
2.6.0.4 ist Interface Version 5.
Ich verstehe nicht warum du eine Alpha Version von Avisynth benutzt wenn seit mehreren Monaten eine Release existiert.