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. |
24th June 2016, 14:31 | #1822 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,582
|
Quote:
This is the script I used: PHP Code:
Are you under Windows 8 or 10?
__________________
@turment on Telegram |
|
24th June 2016, 14:58 | #1824 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
I'm using Windows 7, with Windows 10 some problems have been reported: |
|
24th June 2016, 15:08 | #1826 | Link | ||
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,582
|
Quote:
Quote:
P.S: I have tried AVSPmod_x64 in a pure x64 environment. Corruption happens in frame 24 and others. Thanks for reporting me that on obsolete OS, it works. And, ABOVE ALL, try it in a pure x64 environment.
__________________
@turment on Telegram Last edited by tormento; 24th June 2016 at 15:17. |
||
24th June 2016, 15:31 | #1827 | Link | |
Registered User
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
|
Quote:
|
|
25th June 2016, 18:43 | #1831 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Artifact hunting mode ON
Reproduced. Converted the .h264 into mp4 with ffmpeg because I couldn't get work any dgdecxxx. Find my input source here Script: Code:
SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("lsmashvideosource", 3) lsmashvideosource("13HoursCUT.mp4", format="YUV420P8") Crop(0, 140, 0, -140) SMDegrain (tr=4,PreFilter=4,thSAD=400,contrasharp=false,refinemotion=false,plane=4,chroma=true,lsb=true,mode=6) Prefetch(8) We remove and simplify the non-relevant lines (assuming the SMDegrain calling parameters) So we replace the whole Code:
pref=eval(""" ...... """) Code:
NL_in = input8.Dither_convert_8_to_16() NL_W = width(NL_in) U8 = UToY8(NL_in) V8 = VToY8(NL_in) NL_lsb = StackVertical(StackVertical(Dither_get_msb(u8),Dither_get_msb(v8)),\ StackVertical(Dither_get_lsb(u8),Dither_get_lsb(v8))) Y8 = StackHorizontal(ConvertToY8(NL_in),NL_lsb) #PF remark: # We created a big image, assuming that U and V is half the height in YV12 # Y8: # Y_msb U_msb # Y_msb V_msb # Y_lsb U_lsb # Y_lsb V_lsb Y8 = Y8.KNLMeansCL(D=1, A=1, h=7.0,lsb_inout=true,device_type="GPU") # D=0/1 nochange GPU/CPU:nochange u_h = u8.height()/2 v_h = v8.height()/2 u16 = StackVertical(Dither_get_msb(Y8).crop(NL_W,0,0,-v_h),Dither_get_lsb(Y8).crop(NL_W,0,0,-v_h)) v16 = StackVertical(Dither_get_msb(Y8).crop(NL_W,u_h, 0,0),Dither_get_lsb(Y8).crop(NL_W,u_h, 0,0)) pref=YToUV(u16,v16,Y8.crop(0,0,-u8.width(),0)) Code:
Y8=Y8#.KNLMeansCL(D=1,A=1,h=7.0,lsb_inout=true,device_type="GPU") I don't know how KNLMeans work but the idea that all planes are stuffed into one greyscale image and is sent to the plugin may fail sometimes. Now I really wonder why only avs+ is affected. Last edited by pinterf; 25th June 2016 at 18:48. |
25th June 2016, 19:14 | #1832 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
I wish I could help but I still cannot reproduce the corruption even with the simplified script. :/ Are you using Windows 10? |
|
25th June 2016, 19:53 | #1834 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
O.K.
Still smdegrain.avsi, Dither_Luma_Rebuild Replaced the line with 56064 (219*256) with 61184 (239*256) (and the 219 with 239 but it does not play now). The artifact disappeared. There is another thing that may not be intentional: Code:
String(lsb?65536:255) Code:
function Dither_Luma_Rebuild (clip src, float "s0", float "c",int "uv", bool "lsb", bool "lsb_in", bool "lsb_out", int "mode", float "ampn", bool "slice"){ lsb_in = Default( lsb_in ,false) lsb_out = Default( lsb_out ,false) lsb = Default( lsb ,lsb_in || lsb_out) mode = Default( mode ,6) uv = Default(uv, 3) s0 = Default(s0, 2.0) c = Default(c, 1.0/16) ampn = Default(ampn, 0.0) slice = Default(slice, true) k = (s0 - 1) * c t = lsb_in ? "x 4096 - 61184 / 0 1 clip" : "x 16 - 239 / 0 1 clip" # t = lsb_in ? "x 4096 - 56064 / 0 1 clip" : "x 16 - 219 / 0 1 clip" e = String(k)+" "+String(1+c)+" "+String((1+c)*c)+" "+t+" "+String(c) \ +" + / - * "+t+" 1 "+String(k)+" - * + "+String(lsb?65536:255)+" *" src lsb ? (lsb_in ? Dither_lut16 (yexpr=e,expr="x 32768 - 32768 * 28672 / 32768 +",y=3, u=uv, v=uv) : \ Dither_lut8 (yexpr=e,expr="x 128 - 32768 * 112 / 32768 +" ,y=3, u=uv, v=uv)) : \ mt_lut (yexpr=e,expr="x 128 - 128 * 112 / 128 +" ,y=3, u=uv, v=uv) lsb_out ? last : (lsb ? Ditherpost(mode=mode,ampn=ampn,slice=slice,staticnoise=ampn!=0.0?true:false,u=uv,v=uv) : last)} Last edited by pinterf; 25th June 2016 at 19:54. Reason: correction |
25th June 2016, 21:39 | #1836 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Have you look at cretindesalpes original script: http://forum.doom9.org/showthread.ph...18#post1548318
|
26th June 2016, 02:16 | #1837 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
this with TV_range bool http://pastebin.com/vz6Ewuvv
Code:
SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("lsmashvideosource", 3) lsmashvideosource("13HoursCUT.mp4", format="YUV420P8") Crop(0, 140, 0, -140) # In a more lucid state I could probably have laid out this block much better... or not... NL_in = Dither_convert_8_to_16() NL_W = width(NL_in) U8 = UToY8(NL_in) V8 = VToY8(NL_in) NL_lsb = StackVertical(StackVertical(Dither_get_msb(u8),Dither_get_msb(v8)),StackVertical(Dither_get_lsb(u8),Dither_get_lsb(v8))) Y8 = StackHorizontal(ConvertToY8(NL_in),NL_lsb) Y8 = Y8.KNLMeansCL(D=1, A=1, h=7.0,lsb_inout=true,device_type="GPU") u_h = u8.height()/2 v_h = v8.height()/2 u16 = StackVertical(Dither_get_msb(Y8).crop(NL_W,0,0,-v_h),Dither_get_lsb(Y8).crop(NL_W,0,0,-v_h)) v16 = StackVertical(Dither_get_msb(Y8).crop(NL_W,u_h, 0,0),Dither_get_lsb(Y8).crop(NL_W,u_h, 0,0)) prefilter4 = YToUV(u16,v16,Y8.crop(0,0,-u8.width(),0)) Code:
SMDegrain (tr=4,PreFilter=prefilter4,TV_range=false,thSAD=400,contrasharp=false,refinemotion=false,plane=4,chroma=true,lsb=true,mode=6) Prefetch(8) Code:
SMDegrain (tr=4,PreFilter=prefilter4.SmoothCustom16("Y>60160?y:y","u>61440?u:u","v>61440?v:v",limiter=true),thSAD=400,contrasharp=false,refinemotion=false,plane=4,chroma=true,lsb=true,mode=6) Prefetch(8) Code:
SMDegrain (tr=4,PreFilter=prefilter4.Ditherpost(mode=6,ampn=0.0,staticnoise=false).Limiter(),thSAD=400,contrasharp=false,refinemotion=false,plane=4,chroma=true,lsb=true,mode=6) Prefetch(8)
__________________
See My Avisynth Stuff Last edited by real.finder; 27th June 2016 at 21:29. |
26th June 2016, 18:37 | #1838 | Link | |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
|
Quote:
Code:
if(lsb) return String(65536); else return String(255); |
|
26th June 2016, 18:44 | #1839 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
@ultim or someone
I have a question about multi-threading. Is it possible to implement a temporal IIR filter as MT_NICE_FILTER ?
__________________
my repositories |
26th June 2016, 19:07 | #1840 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
he mean the value, 65536 is full 16 bit range, 256 is full 8 bit range, so he say that it should (65536 -1) like (256 -1)
__________________
See My Avisynth Stuff |
|
|