Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 17th April 2016, 11:25   #121  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Atak_Snajpera View Post
For science!
Ah, OK. I can relate to that.
Groucho2004 is offline   Reply With Quote
Old 17th April 2016, 15:31   #122  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,462
Is this still in development? I could see myself 'hack' a copy of the QTGMC script to use this OpenCL-nnedi3, instead of the original one. Seems it's 3 years old, though.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 19th June 2016, 15:33   #123  |  Link
luigizaninoni
Registered User
 
Join Date: Apr 2015
Posts: 163
and still no 64-bit version ? Avisynth+ 64-bit is very stable now
luigizaninoni is offline   Reply With Quote
Old 16th August 2016, 18:24   #124  |  Link
yup
Registered User
 
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
Quote:
Originally Posted by yup View Post
High all!

Lucky life continue until Geforce driver updated to 362.00.
See error during load simle script in VirtyualDub

https://www.dropbox.com/s/k4gsunhr29...diocl.png?dl=0

Language my windows is Russian.
Translation Video driver do not respond and was recovered,
Video driver Nvidia Windows Kernel Mode Driver , Version 362.00 do not respond and was recovered.

Any suggesrtions, please.

yup.
After upgrade to Avisynth+, I am try this plugin one more and find in old plugin directory file nnedi3ocl.clb. I am copy all files excluding one, and now all work fine.

yup.
yup is offline   Reply With Quote
Old 30th September 2016, 02:33   #125  |  Link
edcrfv94
Registered User
 
Join Date: Apr 2015
Posts: 84
anti-aliasing need nsize=6, qual=2, pscrn=4, nns=4, nnedi3ocl will any plan completely relaced nnedi3?
edcrfv94 is offline   Reply With Quote
Old 5th November 2016, 09:49   #126  |  Link
TheProfosist
Registered User
 
TheProfosist's Avatar
 
Join Date: Aug 2009
Posts: 136
I cant seem to get this to do anything it just crashes AvsPmod everytime I add it.
TheProfosist is offline   Reply With Quote
Old 11th January 2021, 12:49   #127  |  Link
misakitchi
Registered User
 
Join Date: Aug 2018
Posts: 2
I modded Santiag script (Anti-Aliasing) to use NNEDI3ocl and its very good! Thanks!

Is there a new version of NNEDI3ocl since 2013...??

I find this page:
https://github.com/zachsaw/MPDN_Exte...pts/OCL_NNEDI3
Are thoses 2 files updated/better?

Edit:
I tested the "new" version of MPDN from zachsaw
And i have Error!
"nnedi3ocl: can't allocate OpenCL Resources"
So i keep the original version



PS: My Computer: AMD FX-8350 + Radeon HD 7800 Series

If someone is interested in my modded Santiag script, i can give the code here


Code:
# santiag v1.6
# Simple antialiasing

# OpenCL MOD
# santiagocl(strh=0, strv=0, type="nnedi3", nns=1,  nsize=0, halfres=false, scaler_post="Spline36Resize")
# Note: variable "threads" was removed

# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.

# type = "nnedi3", "eedi2", "eedi3" or "sangnom"
# "eedi3" requires v0.9.2 or later
# "sangnom" requires sangnom2
Function santiagocl (clip c, int "strh", int "strv", string "type", int "nns", int "aa", int "aac", int "nsize", int "vcheck", int "fw", int "fh", bool "halfres", string "scaler_post", int "maskt", string "typeh", string "typev")
{
	strh        = Default (strh,                       1)
	strv        = Default (strv,                       1)
	type        = Default (type,                "nnedi3")
	typeh       = Default (typeh,                   type)
	typev       = Default (typev,                   type)
	halfres     = Default (halfres,                false)
	scaler_post = Default (scaler_post, "Spline36Resize")

	c

	w   = Width ()
	h   = Height ()
	fwh = (strv < 0) ? fw : w
	fhh = (strv < 0) ? fh : h

	(strh >= 0) ?             santiag_dir (strh, typeh, halfres, scaler_post, nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt, fw=fwh, fh=fhh)              : last
	(strv >= 0) ? TurnLeft ().santiag_dir (strv, typev, halfres, scaler_post, nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt, fw=fh,  fh=fw ).TurnRight () : last

	fwx = Default (fw, w)
	fhx = Default (fh, h)
	(strh < 0 && strv < 0) ? Eval (scaler_post + " (fwx, fhx)") : last
}

Function santiag_dir (clip c, int strength, string type, bool halfres, string scaler_post, int "nns", int "aa", int "aac", int "nsize", int "vcheck", int "maskt", int "fw", int "fh")
{
	c
	w = Width ()
	h = Height ()
	fw = Default (fw, w)
	fh = Default (fh, h)

	multi = (IsYUV () && ! IsYV12 ())
	c_y = (multi             ) ?         ConvertToYV12 () : last
	c_u = (multi && ! IsY8 ()) ? UToY ().ConvertToYV12 () : last
	c_v = (multi && ! IsY8 ()) ? VToY ().ConvertToYV12 () : last
	c_y =                        c_y.santiag_stronger (strength, type, halfres, multi, nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt)
	c_u = (multi && ! IsY8 ()) ? c_u.santiag_stronger (strength, type, halfres, true , nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt) : c_u
	c_v = (multi && ! IsY8 ()) ? c_v.santiag_stronger (strength, type, halfres, true , nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt) : c_v
	  (multi && ! IsY8 ()) ? YToUV (c_u, c_v, c_y)
\	: IsY8 ()              ? c_y.ConvertToY8 ()
\	:                        c_y

	Eval (scaler_post + " (fw, fh, src_left=0, src_top=(halfres)?0:0.5, src_width=Width (), src_height=Height ())")
}

Function santiag_stronger (clip c, int strength, string type, bool halfres, bool lumaonly, int "nns", int "aa", int "aac", int "nsize", int "vcheck", int "maskt")
{
	strength = (strength < 0) ? 0 : strength
	field = strength % 2
	dh = (strength <= 0 && ! halfres)

	(strength > 0) ? c.santiag_stronger (strength - 1, type, halfres, lumaonly, nns=nns, aa=aa, aac=aac, nsize=nsize, vcheck=vcheck, maskt=maskt) : c

	  (type == "nnedi3" ) ? santiag_nnedi3  (dh, field, lumaonly, nns=nns, nsize=nsize)
\	: (type == "eedi2"  ) ? santiag_eedi2   (dh, field)
\	: (type == "eedi3"  ) ? santiag_eedi3   (dh, field, lumaonly, nns=nns, nsize=nsize, vcheck=vcheck, maskt=maskt)
\	: (type == "sangnom") ? santiag_sangnom (dh, field, aa=aa, aac=aac)
\	: Assert (false, "Santiag: unexpected value for type.")
}


# NNEDI3 OpenCL
Function santiag_nnedi3 (clip c, bool dh, int field, bool lumaonly, int "nns", int "nsize")
{
	c.nnedi3ocl (dh=dh, field=field, nns=nns, nsize=nsize, u=!lumaonly, v=!lumaonly)
}


Function santiag_eedi2 (clip c, bool dh, int field)
{
	c
	w = Width ()
	h = Height ()
	(dh) ? last : PointResize (w, h / 2, 0, 1-field, w, h)
	eedi2 (field=field)
}

# maskt = 24
Function santiag_eedi3 (clip c, bool dh, int field, bool lumaonly, int "nns", int "nsize", int "vcheck", int "maskt")
{
	chroma = (lumaonly) ? 1 : 3
	sclip = c.santiag_nnedi3 (dh, field, lumaonly, nns=nns, nsize=nsize)
	mclip_flag = (Defined (maskt) && maskt > 0)

	mclip = (mclip_flag && dh) ? sclip.BicubicResize (c.Width (), c.Height (), src_top=0.5-field) : sclip
	mclip = (mclip_flag)
\	?	mclip.mt_edge (mode="1 2 1 0 0 0 -1 -2 -1 1", thY1=0, thY2=255, u=chroma, v=chroma)
\			.mt_binarize (threshold=maskt, y=3, u=chroma, v=chroma)
\			.mt_expand (y=3, u=chroma, v=chroma)
\	:	santiag_undef ()

	c.eedi3 (dh=dh, field=field, vcheck=vcheck, sclip=sclip, mclip=mclip, u=!lumaonly, v=!lumaonly)
}

Function santiag_sangnom (clip c, bool dh, int field, int "aa", int "aac")
{
	c
	w = Width ()
	h = Height ()
	(dh) ? Spline36Resize (w, h * 2, 0, -0.25, w, h) : last
	SangNom2 (order=field, aa=aa, aac=aac)
}

Function santiag_undef () { }

Last edited by misakitchi; 12th January 2021 at 18:16.
misakitchi is offline   Reply With Quote
Old 12th January 2021, 17:44   #128  |  Link
Kisa_AG
Registered User
 
Join Date: Sep 2005
Location: Moscow, Russia
Posts: 66
Quote:
Originally Posted by misakitchi View Post

If someone is interested in my modded Santiag script, i can give the code here
Yes, please!
Kisa_AG is offline   Reply With Quote
Old 13th January 2021, 01:28   #129  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,161
Quote:
Originally Posted by Kisa_AG View Post
Yes, please!
Code he was posted above
kedautinh12 is offline   Reply With Quote
Old 20th June 2022, 16:00   #130  |  Link
mogobime
Registered User
 
Join Date: Oct 2012
Posts: 44
x64 / 64 bit version of nnedi3ocl

Quote:
Originally Posted by SEt View Post
As there is no usable x64 Avisynth no x64 version for now. This plugin wouldn't benefit from it anyway.

nnedi3ocl is basic functionality implemented as plugin. nnedi3x and nnedi3x_rpow2 scripts that extended beyond that. Basically, what is reasonable to do in script should be done in script.

GTX 560 should work just fine. Slower than similar Radeons or CC2.0 cards, but still ok.
Hi,

First a few words to myself and why I try to contact you. I'm currently writing a script, which tries to calculate prefetches for every single filter (which is worth to be "extra" prefetched) in an avisynth+ script with the help of a constantly growing database which contains how many threads a filter normally creates per prefetch to not overload the cpu in complex scripts.
Such AviSynth+ scripts with prefetches set after every filter sometimes seem to be even faster than VapourSynth scripts using the same filters.
So I think AviSynth+ is still noteworthy nowadays, especially for non high end systems.

Since times have changed and AviSynth+ 64 bit works great and is really fast if filter prefetching is used correctly, I wanted to ask you if you see any chance to port nnedi3ocl to 64 bit, so it can be used in an 64 bit environment which can address more than 3 GB of memory, which is necessary in times of 4K.

With current basic GPU hardware this might speed up many nnedi3 based filters in 64 bit AviSynth+ and also improve quality of filtering by abandoning the prescreener.

So it would be nice to hear from you.

cu, mogobime
__________________

X-QuaSaT - x264 Quality and Speed analyse Tool (multiple file analysation/average values/csv-output)
Benchmark-thread for x264 encoding with GPU-based OpenCL lookahead and DGDecNV GPU-based decoding
mogobime is offline   Reply With Quote
Old 19th November 2022, 06:41   #131  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,161
NNEDI3CL 1.0.5
https://github.com/Asd-g/AviSynthPlus-NNEDI3CL/releases
kedautinh12 is offline   Reply With Quote
Old 28th November 2022, 04:21   #132  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,161
NNEDI3CL 1.0.6

https://github.com/Asd-g/AviSynthPlus-NNEDI3CL/releases
kedautinh12 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.