Log in

View Full Version : Stabilize (green flashes in DePan bug?)


Pages : [1] 2

Lyris
11th February 2011, 19:46
Hey everyone,
Right now the stab() function < http://avisynth.org/mediawiki/Stab > is doing me very nicely for stabilising film scans that have a little bit of jitter (film weave).

But, it leaves the edges blank, meaning that the resulting video has 2-3px or so of black at the edges. I'm not skilled enough with AviSynth to figure out how to have it fill in the edges, maybe with a copy of the previous frame? Can anyone give me any pointers on how I'd do that?

Dark Shikari
11th February 2011, 21:29
Why not just crop the edges?

Lyris
11th February 2011, 21:39
This is a 60s film, and the negative appears to have been hand-cut. So, near the end of some scenes, there are some quite big jumps. So cropping just a few pixels from the edges wouldn't hide all of the black.

I found the answer, though: turns out DePan (which is what makes Stab() tick) has a function specifically for this:

mirror - fill empty borders with mirrored from frame edge pixels (instead of black):
0 - no mirror (default);
1 - top;
2 - bottom;
4 - left;
8 - right;
sum any of above - combination (15 - all ).


The only remaining problem I have is that for some reason, using Stab() makes some frames saturated with Green? Particularly noticeable because this is B&W material. Weird...

egrimisu
12th February 2011, 00:45
is stab safe to use with anime? i mean it is stab allways accurate or sometime it stabilize what is should not?

Usedocne
12th February 2011, 02:16
The only remaining problem I have is that for some reason, using Stab() makes some frames saturated with Green? Particularly noticeable because this is B&W material. Weird...

Could it be that your films resolution isn't mod8/16?

Lyris
13th February 2011, 22:12
Thanks for the suggestion - in fact, the resolution wasn't, but I just returned it to native PAL (720x 576) and the green flashes still happen!

scharfis_brain
14th February 2011, 00:00
I strongly suggest to try Deshaker for VirtualDub.
It can also used within an AVISynth script.

Deshaker has pretty nice options for edge filling.

Lyris
14th February 2011, 00:03
I'm familiar with DeShaker already for using with handheld camcorder footage. But, would you be able to give me any advice on how to set it up to remove the much smaller "micro judder" I'm describing here?

scharfis_brain
14th February 2011, 00:25
just limit the amount of stabilization.

Dogway
14th February 2011, 02:03
set "mirror=15" in the depan line of the stab function. You can also stack another function besides stab for micro judder/weaving.
I dont remember where I saw the code, but probably some Didée creation, wrap it into a function and call it as you wish:


#Dejitter
_fft = 6
_thSAD = 600
_bs = 16
_ov = 4

prefilt=s.FFT3DFilter(sigma=_fft,plane=4,bw=32,bh=32,ow=8,oh=8,bt=5,ncpu=2)
osuper=s.MSuper()
asuper=prefilt.MSuper()

b3v = MAnalyse(asuper, isb=true, delta=3, blksize=_bs, overlap=_ov)
b2v = MAnalyse(asuper, isb=true, delta=2, blksize=_bs, overlap=_ov)
b1v = MAnalyse(asuper, isb=true, delta=1, blksize=_bs, overlap=_ov)
f1v = MAnalyse(asuper, delta=1, blksize=_bs, overlap=_ov)
f2v = MAnalyse(asuper, delta=2, blksize=_bs, overlap=_ov)
f3v = MAnalyse(asuper, delta=3, blksize=_bs, overlap=_ov)
process = MDeGrain3(osuper, b1v, f1v, b2v, f2v, b3v, f3v, thSAD=_thSAD)

mt_merge(process, mt_edge("min/max").RemoveGrain(19), U=3,V=3)

Floatingshed
14th February 2011, 09:20
I have noticed the green when using Stab() too. More a changing hue than flashes though. If it is B&W material just add Greyscale() to the end of the script.
Be careful with Stab() if there are any pans in the footage, they may become jerky.

egrimisu
7th April 2011, 19:50
sorry for the silly question, i'm trying to find what "pans" are, google translate are translating as chicken in my language :) , also how do jitter error lock in video?

johnmeyer
7th April 2011, 20:43
I'm familiar with DeShaker already for using with handheld camcorder footage. But, would you be able to give me any advice on how to set it up to remove the much smaller "micro judder" I'm describing here?
[Edit]I noticed after I posted this that the original question about this was from several months ago. For some reason, my email just notified me of that post and I responded without looking at the date. Weird ... [end edit]

If you Google my name (John Meyer) and "deshaker," you'll find that I've written quite a bit about it. Gunnar Thalin, the Deshaker author, actually worked with a user, about six years ago, to develop settings to just remove film gate weave/judder. The discussion was on the 8mm film editing forum, which has been restructured so I can't find the thread any more (it probably exists somewhere). I did, however, save the settings that were recommended. Here is the "VCF" file from VirtualDub. Just copy this to Notepad, save as a VCF file, and then use the Load Processing Settings command in VirtualDub to load it.

I broke up the "VirtualDub.video.filters.instance" line below into several lines so it wouldn't disrupt the doom9 formatting. I don't know if the VCF format permits this, so you may need to remove the end of line "/" to make this one continuous, long line. Also, you may need to change the call to Deshaker because this VCF was created for Deshaker v1.6. If you aren't sure what to use, just add your version of Deshaker in VirtualDub, then use the Save Processing Settings option to create a VCF. Then open the resulting VCF file in Notepad and use the filters.Add command from that VCF file in place of the one below.
VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x64737664,0,10000,0);
VirtualDub.video.SetCompData(8,"RFZTRAAAAAA=");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("Deshaker v1.6");
VirtualDub.video.filters.instance[0].Config("4|2|100|2|0.911392|2|/
0.911392|2|720|480|1|1|1|0|1500|0|0|1|1|0|2|1|2|300|1|/
C:\\Deshaker.log|0|0|0|0|0|0|1|0|0|20|0|0|0|1|100|2|100|/
100|0|0|0|0|0");
VirtualDub.audio.filters.Clear();

Floatingshed
8th April 2011, 22:16
sorry for the silly question, i'm trying to find what "pans" are, google translate are translating as chicken in my language :) , also how do jitter error lock in video?

A pan is when the camera moves over the scene from left to right or right to left. Often used to show a city skyline etc. A tilt is the same thing but vertically.

Lyris
15th June 2011, 03:56
JohnMeyer, thanks, I will give it a try. From the brief shot I had, it doesn't seem to be quite as effective at stab(), which kills micro judder.

Has anyone found a solution to the green flashes? Try it - Greyscale() your video, apply Stab(), then turn the saturation all the way up and you'll see them. I know you can only complain so much about free software, but this is a real let down for me since it's such a great tool except for this.

BTW, it does affect colour video. Any shadowed areas flash green every so often...

Lyris
15th June 2011, 15:34
Scratch that... have managed to get Deshaker results I'm happy with. Thank you :)

johnmeyer
15th June 2011, 22:56
Scratch that... have managed to get Deshaker results I'm happy with. Thank you :)
Just out of curiosity, what settings did you use? Did you use the ones I linked to, or were you able to come up with better settings?

Mini-Me
16th June 2011, 09:54
Scratch that... have managed to get Deshaker results I'm happy with. Thank you :)

Wait, really? What does it do for VCR bounce? I never gave Deshaker much of a chance (and Stab and DepanStabilize couldn't produce the right results), and I've been working on my own solution, but I'm going to have to check this out when I get the chance. :)

It's a shame that VirtualDub runs in RGB, but I can always match the field heights of the original to the modified version afterwards to keep precision.

Lyris
16th June 2011, 14:07
Just out of curiosity, what settings did you use? Did you use the ones I linked to, or were you able to come up with better settings?

I used these:

VirtualDub.video.filters.instance[0].Config("13|1|8|1|0.911585|2|0.911585|
2|720|480|0|1|1|0|1500|0|0|1|1|0|2|1|2|300|1|C:\\FILMNAME.log|0|1|40|40|
100|100|0|40|40|40|40|0|0|1|100|2|100|100|1|1|5|5|0|0|0|0|0|0|1|0|0|15|1000|0|88|1|0");

Sorry to backtrack, but the results sadly aren't as good as Stab() - at least not with these settings. Is there any way to get a comparable result, do you think? Or better yet - to fix the Stab green flashing problem? Does anyone have any idea what causes it?

Fizick
16th June 2011, 19:13
please provide some short clip, simplest script and filters settings for "green flashes"

Lyris
16th June 2011, 19:37
Thanks Fizick, appreciate it:

Source file: https://rapidshare.com/files/3456790175/source.avi ~50mb Lagarith YV12

Script below. The greyscale and Tweak commands are to make the error more visible. Even without this and with colour footage, you can see shadowed areas turning green when Stab() is used.

AVISource("source.avi")
greyscale()
stab()
tweak(sat=25.0)


Stab() code is here, as I'm sure you're aware:
http://avisynth.org/mediawiki/Stab

Frame 25 of above script (OK):
http://img202.imageshack.us/img202/766/f25f.jpg

and Frame 26:
http://img146.imageshack.us/img146/8462/f26l.jpg

Lyris
16th June 2011, 22:58
Interestingly, generating color bars internally returns an output free of the issue:

COLORBARS().converttoyv12
spline64resize(720,480) #I was testing to see if it was resolution related
greyscale()
stab()
tweak(sat=25.0)

Tests I've done so far:

1. Not related to resolution
2. Not related to frame rate
3. Flashes are in the same position each time; reloading the script will produce the same green frames each time
4. Doesn't happen with internal color bars
5. Also happens when the same source is loaded with DirectShowSource (Not too surprising)
6. Flashes occur in same place on different PCs

jmac698
17th June 2011, 00:57
It's obvious that the flashes are related to the stabilization, that's why it doesn't affect colorbars (they aren't moving). A green color means there's a 0 values somewhere internally in memory. It seems like certain movements are causing a bug to appear. Try comparing the amount of movement before and after to see how many pixels of movement is causing this bug.
The green color in this case means that the u,v channels are being set to 0. If you had some other function that did the actual moving, you could use that instead and just use stab to determine the fix.
I'm sure I could write a script to work around it.

Mini-Me
17th June 2011, 03:00
Interestingly, generating color bars internally returns an output free of the issue:

COLORBARS().converttoyv12
spline64resize(720,480) #I was testing to see if it was resolution related
greyscale()
stab()
tweak(sat=25.0)

Tests I've done so far:

1. Not related to resolution
2. Not related to frame rate
3. Flashes are in the same position each time; reloading the script will produce the same green frames each time
4. Doesn't happen with internal color bars
5. Also happens when the same source is loaded with DirectShowSource (Not too surprising)
6. Flashes occur in same place on different PCs

The major filters Stab uses are TemporalSoften, Repair, DepanEstimate, and Depan, so the problem must occur somewhere in there. Because the flashes are SO unmistakably green, it actually reminds me of the way that Masktools trashes chroma by default...but Stab doesn't use Masktools, and the trashing would be random.

I'm working on a stabilization script, but it's not release-ready yet, especially for progressive material (which I never even considered; I'll have to modify the script for that). For now, my suggestion would be to narrow things down to a single culprit function:

Temporarily modify Stab to return debug clips. The function returns after Depan, but try returning the intermediate clips after TemporalSoften and Repair. If neither of them show the green flashes, then you can be nearly assured that Depan is causing the problem...or less likely, your clip is triggering a bug in DepanEstimate and causing it to produce weird output, and Depan is choking on something it wasn't expecting.

To check for the latter case, try replacing the DepanEstimate call with calls to MSuper, MAnalyse, and MDepan, and run Depan with that motion data instead. I'm sorry that I haven't flat-out modified Stab for you (I'm too tired to figure out the parameters at the moment, and I changed something else in my version of Stab but forget why...), but I posted another script last night for matching field heights, and you can use it as a reference for seeing how to replace DepanEstimate with MSuper, MAnalyse, and MDepan.

I'll post it again here. Take note of the bolded lines:
# Pass in clip with separated fields
function MatchFieldHeight(clip c, clip target, string "fill", bool "mvtools", int "maxdisp", int "metric")
{
# Defaults:
# Fill black lines? Valid values are "target" and
# "mirror", and other values leave the lines black.
fill = Default(fill, "target")
# Use MVTools or DepanEstimate? DepanEstimate can make unpredictable
# undercompensation errors when the movement is large.
mvtools = Default(mvtools, True)
# Limit maximum displacement with DepanEstimate?
# I haven't figured out how to translate this to MVTools yet.
maxdisp = Default(maxdisp, 50)
# Metric controls DCT parameter of MAnalyse. Default is 0 for SAD, but
# other modes may work better for difficult scenes and captures with
# different luma levels or flicker.
metric = Default(metric, 0)

# Note on other MAnalyse Params:
# blksize 32 gives wrong results; using default of 8, but 16 is probably viable.
# search = 7 is an exhaustive vertical search.
# searchparam is search radius; search 2 * radius + 1 at each level;
# using the default of 2, since maxdisp doesn't directly translate.
# Truemotion is for high correlation/global motion (which is what we want).

# Get motion data
interleaved = Interleave(target, c, target)
vectors = mvtools ? MAnalyse(MSuper(interleaved, pel = 1), blksize = 8, search = 7, \
searchparam = 2, truemotion = True, dct = metric) : NOP()
motion = mvtools \
? MDepan(interleaved, vectors, zoom = False, rot = False, range = 0) \
: DePanEstimate(interleaved, range = 1, trust = 0.0, dxmax = 0, dymax = maxdisp)

# Match the field heights
mirrorval = fill == "mirror" ? 3 : 0
result = Depan(interleaved, data = motion, offset = 1, subpixel = 0, mirror = mirrorval)
result = result.SelectEvery(3, 2)

# Return, and paint in black lines if necessary
return fill == "target" ? result.FillBlackLines(target) : result
}

function FillBlackLines(clip dest, clip source, bool "protectpixels", bool "debug")
{
# Defaults
protectpixels = Default(protectpixels, False)
debug = Default(debug, False)

# Convert to planar if necessary
planar = dest.IsPlanar()
dest = planar ? dest : dest.ConvertToYV16()
source = source.ConvertToYV16()

# Create a mask for pure black pixels
destblackmask = mt_lut(dest, "x 0 == 255 0 ?")
sourceblackmask = mt_lut(source, "x 0 == 255 0 ?")
mask = mt_lutxy(destblackmask, sourceblackmask, "x y > 255 0 ?")

# Eliminate spurious matches at user request; could horizontally downsize,
# binarize, and upsize for a better result, but that's slow and unnecessary
# given visual black = 16 luma.
mask = protectpixels ? mask.mt_inpand(mode = "horizontal") : mask

# Merge the fields (all channels) using the mask's Y channel
mask = MaskYUVFromY(mask)
dest = mt_merge(dest, source, mask, u = 3, v = 3, chroma = "process")

# Return result or mask in original format (unless RGB)
return debug ? \
planar ? mask : mask.ConvertToYUY2() \
: planar ? dest : dest.ConvertToYUY2()
}

function MaskYUVFromY(clip mask)
{
u = mask.UToY()
maskuv = mask.BicubicResize(u.width, u.height)
return YToUV(maskuv, maskuv, mask)
}

Lyris
17th June 2011, 04:30
Temporarily modify Stab to return debug clips. The function returns after Depan, but try returning the intermediate clips after TemporalSoften and Repair. If neither of them show the green flashes, then you can be nearly assured that Depan is causing the problem...or less likely, your clip is triggering a bug in DepanEstimate and causing it to produce weird output, and Depan is choking on something it wasn't expecting.
Already done... returning the other stages of Stab() shows that the output is free from green flashes, which only appear after DePan itself is called.

I'll take a look at your script and suggestion ASAP. Thanks!

Mini-Me
17th June 2011, 14:41
Already done... returning the other stages of Stab() shows that the output is free from green flashes, which only appear after DePan itself is called.

I'll take a look at your script and suggestion ASAP. Thanks!

Now that I've had some sleep, keep in mind that MSuper's pel=1 parameter assumes no subpixel movement (in case you're unfamiliar with mvtools). Change to pel=2 for half-pixel accuracy and pel=4 for quarter-pixel accuracy. Also, change MAnalyse's search from 7 to something else if you want it to stabilize horizontally as well as vertically.

(You could very easily know a lot more about MVTools than me anyway, but I wanted to give you a heads up in case you don't. Just like Masktools and Depan, the documentation is a bit overwhelming at first, and it can feel like you'll never understand any of it. You will. :))

I'll be interested to hear how things go. My own script obviously uses Depan, and I use it a lot for fitting VHS captures to each other. I haven't seen any green flashes, but I'm a bit nervous now!

Lyris
17th June 2011, 20:56
Mini-Me: Just tried it.

The green flashes remain, and also the stabilisation is not as good. The final DePan call is certainly the culprit.

(You could very easily know a lot more about MVTools than me anyway, but I wanted to give you a heads up in case you don't.I don't - so I appreciate it! :)

Gerry62
25th June 2011, 16:06
I get the green flashes too, I process lots of Monochrome stuff so It doesn't matter, Would hate to have to DePan some colour material.
My green flashes are a little less 'green' than yours, but there all the same, I was telling (boring) the wife with this essential info only the other day, she thought I was saying 'hot flushes'

I always though it was because I always work in RGB (don't like mucking about with D2v or whatever)

Lyris
27th June 2011, 23:26
My green flashes are a little less 'green' than yours,Keep in mind i cranked the saturation in my example script up to demonstrate.

Lyris
5th August 2011, 19:23
So - does anyone have any ideas of how to work around this, or even an alternative filter to Depan that can be substituted?

jmac698
7th August 2011, 05:42
Yes, writing a script should be easy. See my shift script as a basis. Can't do it right now though.

Lyris
8th August 2011, 15:50
I'll give it a shot and let you know how I get on!

jmac698
8th August 2011, 18:44
I started it too, but there's some problems. ConditionalReader isn't flexible enough to read deshaker log format, so we have to decode the "service clip" produces by depanestimate. I think the data we want is in the first few bytes.
This code doesn't work but it's what it might look like:

#replace buggy depan
#Requires NoiseGenerators http://kvcd.net/sansgrip/avisynth/
#Requires Depan tools
plugindir="C:\Program Files\AviSynth 2.5\plugins\"
loadplugin(plugindir+"UniformNoise.dll")
#Noise is necessary to get enough detail to get depanestimate to return a "perfect" dx/dy result
UniformNoise(ua=16, ub=240, va=16, vb=240,temporal=false,fast=true)
demo(last,12,2)#2 pixels per frame to the right
logdir="E:\project001a\"
pass=1
pass==1?depanestimate(log="deshaker.txt"):newdepan(log=logdir+"deshaker.txt")
#on frame 1, dx=-12 dy=2, so it gives how to give the last frame from the current frame, by y reversed (quadrant 4 coordinates)


function demo(clip clip, int h, int v){
#create simple motion animation
#scriptclip sees only global or top level variables
str="shift("+string(h)+"*current_frame,"+string(v)+"*current_frame)"
ScriptClip(clip,str)
}

function shift(clip v, int sx, int sy) {
v#shift a video sx, sy pixels, sx<0 is left, sy<0 is down
pointresize(width*2,height*2)#to allow 1 pixel shifts in YV12
sx=sx*2
sy=sy*2
l=(sx<0)?-sx:0
r=(sx<0)?0:sx
t=(sy<0)?0:sy
b=(sy<0)?-sy:0
crop(l,t,-r,-b)
addborders(r,b,l,t)
pointresize(v.width,v.height)
}

function newdepan(clip clip, string fn){
clip
conditionalreader("deshaker.txt","dx")
shift(clip,dx,0)
}

Lyris
8th August 2011, 20:46
Ooof. Over my head, I'm afraid. I'll give it a look over in the morning.

pwnsweet
5th April 2016, 14:54
I very much wish the green tint/flashing mentioned here was resolved.

Does anyone know of a good alternative to stab() that doesn't use depan()?

poisondeathray
5th April 2016, 16:05
I very much wish the green tint/flashing mentioned here was resolved.

Does anyone know of a good alternative to stab() that doesn't use depan()?

Dogway wrote a stab2() , with a uvfix option which attempts to address the green frame issue . It's in his stabilization tools pack

http://forum.videohelp.com/threads/371336-Stabilization-Tools-Pack-v2-1

I saw Fizick posting recently , so hopefully he can address the actual underlying problem

pwnsweet
5th April 2016, 17:13
Thanks for the info!

Fizick
5th April 2016, 23:29
I am here.
I still not quite understand what "green flash" you talked about, but recently I fixed a bug with small color tint (about 1 units) for YUY2, subpixel=2 without zoom and rotation. Download version 1.13.1.
I tested not stab.avs but plane depanstabilize.
If the bug is still present, please provide complete script and short source

poisondeathray
6th April 2016, 00:15
Greetings Fizick , nice to see you back!

This is a cartoon video sample , courtesy of dogway, but this is a long standing problem, occurs on all types not just animation

zippyshare mirror
http://www54.zippyshare.com/v/o5VsUeJk/file.html

OR

mediafire mirror
https://www.mediafire.com/?bk82mgjyyfyxb11



sample script (the greyscale() , tweak(sat=5, coring=false), and histogram("levels") are just to visualize it better)

MPEG2Source("VTS_01_1.demuxed.d2v")
TFM().TDecimate()
Greyscale()
Stab()
Tweak(sat=5, coring=false)
Histogram("levels")

pwnsweet
6th April 2016, 01:39
Poison, could you please advise on the best way to stabilize this clip? (17mb) (https://mega.nz/#!pMo00LTC!TGS4LU95ol0Jdj0MotnySfjJLVVX-IBLOllB7wWI3Xs)

I am particularly interested in removing the hard left/right shifts that occur between scene changes. I've been slowly reading through the videohelp thread that you linked above and from what I've read so far (please correct if I'm wrong), I'm under the impression that stabilization is best done on a scene-by-scene basis rather than the entire video. Is this still the case? (I haven't finished reading the entire thread)

As always your feedback is greatly appreciated.

poisondeathray
6th April 2016, 02:27
Poison, could you please advise on the best way to stabilize this clip? (17mb) (https://mega.nz/#!pMo00LTC!TGS4LU95ol0Jdj0MotnySfjJLVVX-IBLOllB7wWI3Xs)

I am particularly interested in removing the hard left/right shifts that occur between scene changes. I've been slowly reading through the videohelp thread that you linked above and from what I've read so far (please correct if I'm wrong), I'm under the impression that stabilization is best done on a scene-by-scene basis rather than the entire video. Is this still the case? (I haven't finished reading the entire thread)

As always your feedback is greatly appreciated.





You should start another thread, because this one deals with the "green frame" bug

We are not allowed to use the "B" word here.

In general, IMO you should always try "easier" methods first. You might get something acceptable for your tastes. Scene by scene (with any tool) can be very time consuming

But for the scene changes on this one, it's very bad - because besides blends, there is warping in the frame (not a simple x,y translation - different parts of the frame can move in different directions with different magnitudes). This is not easily "fixable" even scene by scene. It requires a lot of manual work - there are no "automatic" dewarping tools that work very well.

If it's that distracting for you, people have used other methods, such as replacing with duplicate frames at the scenechange. Not ideal either, but for some people it might be better

StainlessS
6th April 2016, 02:28
Pretty much everything works best on a scene by scene basis, major prob is splitting into scenes.

PD, It is my understanding that use of the word 'best' is not prohibited (or if it is it is a little silly),
prohibitation is in saying that a particular tool is better than another (my fav tool is better than your fav tool),
one method over another surely is not subject to prohibitiation. (to just outlaw a word is completely insane
and do little other than to have euphemisms used instead [or will 'Better', 'Superior' soon be outlawed followed by other words,
and after that complete phrases be banned which basically mean exactly the same thing]).

pwnsweet
6th April 2016, 02:46
Thanks to both of you. Fortunately I have the time to dedicate the majority of my day and myself to this project.

@poisondeathray,
I was afraid you might say that. I have already began manually fixing the scene changes by doing exactly as you have suggested. It will take a long time, but it must be done.

@StainlessS,
Thanks for the confirmation re: scene by scene stabilization. Do you know of any tools that can help identify and/or split a video into scene parts?

StainlessS
6th April 2016, 02:52
You could take a look at this, DBSC:- http://forum.doom9.org/showthread.php?t=171624&highlight=dbsc

poisondeathray
6th April 2016, 03:35
PD, It is my understanding that use of the word 'best' is not prohibited (or if it is it is a little silly),
prohibitation is in saying that a particular tool is better than another (my fav tool is better than your fav tool),
one method over another surely is not subject to prohibitiation. (to just outlaw a word is completely insane
and do little other than to have euphemisms used instead [or will 'Better', 'Superior' soon be outlawed followed by other words]).

??? Is the brew affecting your memory, or maybe mine ???

I would agree, but I'm pretty sure I'm not the only one who got warnings and strikes for using the B word. Warnings or kind pointers to forum rules about what's B&*% still occur don't they? Sure, D9 now is more relaxed and not like it was back then (the wild west :D). I just try to reword or rephrase, no biggie

pwnsweet
6th April 2016, 03:53
You could take a look at this, DBSC:- http://forum.doom9.org/showthread.php?t=171624&highlight=dbsc

I will. Thanks again.


EDIT: One quick question. When I stabilize, should it be done on a clip with no black borders or is it OK to have small borders around the image?

Fizick
6th April 2016, 17:05
poisondeathray,
I downloaded your clip. I do not know what is Stab() and all its possible versions.
If you consider that the bug is present in DepanStabilize, please provide more clean script and what and where I should to catch.

poisondeathray
6th April 2016, 17:19
sorry , stab() is the one from here
http://avisynth.nl/images/Stab.avs

depanestimate is 1.9.2 from here
http://www.avisynth.org.ru/depan/depan.html

I noticed you uploaded new depan version for YUY2, but I haven't tested it yet and this clip was YV12. I can try it out later to see if it makes a difference

The green tint on some frames should be very obvious, or do you need more details ?

poisondeathray
6th April 2016, 17:25
Hold on! Bug is fixed with new depan.dll version! That is the culprit - if I switch to old version, error is repeatable

DePan Version 1.13.1, April 6, 2016 :)

I will check on other clips to make sure and report back if there is still an issue

Fizick
6th April 2016, 17:52
Well, the last code (rounding) fix is really related to any color format processing. The bug was very common in my tests In YUY2. In yv12 I did not catch it without your help. Thanks.
So, I will correct the doc (remove YUY2 relation).