View Full Version : flash3kyuu_deband 1.5.1 / 2.0pre2 with native VapourSynth support [2012-12-03]
SAPikachu
27th May 2011, 07:46
Hi all,
I've ported a deband filter for AviUtl (http://www.geocities.jp/flash3kyuu/auf/banding17.zip) to AviSynth. Its algorithm is simple but it is quite effective for some anime sources.
2.0pre2 with native VapourSynth support: http://nmm.me/tr
Some notes:
* This is still an experimental version, it has not been fully
tested, so please use it with caution.
* sample_mode=0 and dither_algo=0 are removed in this
version since nobody is using them.
* Document has not been updated yet, please refer to test.vpy
for sample usage. All parameters are in lower case.
* Because input_mode/input_depth/output_mode can be
implied from clip properties, they are not settable in VS
interface. output_depth is still available though.
2.0pre2:
* Fixes compatibility with XP
* Exports public API, can be used as a standalone library
Change log:
1.5.1 (2012-04-07)
* Supports setting StdDev (sigma) for the Gaussian random number generator
1.5.0 (2012-03-12)
* (There isn't any new feature in this version, only some parameters are modified to reduce user confusion)
* ditherY/ditherC are renamed to grainY/grainC
* dynamic_dither_noise is renamed to dynamic_grain
* precision_mode is renamed to dither_algo, mode 4 and 5 are removed
* random_algo_dither is renamed to random_algo_grain
* enable_fast_skip_plane is removed, this optimization will be enabled mplicitly whenever possible (Filter result won't be changed by this optimization)
1.4.2 (2011-11-10)
* Fixed crash on some non-mod16 videos
1.4.1 (2011-11-05)
* Fixed broken YUY2 support (still slow)
* Improved default value handling of bitdepth-related parameters
* precision_mode 4 / 5 are now deprecated and may be removed in future versions, you can use output_mode 1 / 2 to achieve the same result
1.4.0 (2011-10-30)
* 9 ~ 16 bit-depth input/output
** Related parameters: input_mode/input_depth/output_mode/output_depth
* New random number generator, reference position and dither noise can be generated in uniform or gaussian distribution
** Related parameters: random_algo_ref / random_algo_dither
* diff_seed is replaced with dynamic_dither_noise, when enabled, noise pattern will be different for each frame
* Another new parameter: enable_fast_skip_plane
* Short filter alias: f3kdb
* Now the ICC-compiled DLL should be runnable on pre-SSE2 systems (untested)
* Several bug fixes
1.3.0 (2011-09-07)
* Added x64 version
* Added a downsample filter: f3kdb_dither
* Internal precision is increased to 16bit
* New parameter: keep_tv_range, please see readme.txt for details
* Default sample_mode is changed to 2 as it is better in most cases
* Fixed: Floyd-Steinberg dithering may produce incorrect result for full-range videos
* Fixed: Broken YUY2 debanding
* Minor optimizations
1.2.0 (2011-08-01)
* Added support for YUY2 (not optimized yet)
* Added support for all planar YUV format in AviSynth 2.6
* The filter is now compatible with both AviSynth 2.5 and 2.6
* 16bit output (precision_mode = 4/5)
* Note: The internal processing precision is still 14bit, this will be
improved in future versions
1.1.0 (2011-06-18)
* Fixed a bug that high threshold values would produce incorrect result in high precision modes.
* Threshold values was scaled based on other parameter in previous versions, it is unscaled now to increase flexibility. Using same value has weaker effect in new version. Effect of default parameter set is also changed.
* SSE optimization for high precision mode.
* Rejects some invalid parameter combination instead of silently skips them
1.0.2
* High precision mode
(currently non-optimized, SSE routine will be added later)
* Frame edges are properly processed now
* Fix crash in some cases (unaligned frames are handled correctly)
* Other bug fixes
Binary: x86 (http://nmm.me/ff) / x64 (http://nmm.me/fh) / MSVC (http://nmm.me/fg)
(The MSVC build is slower, use that only if the x86 build has problems)
Documentation: https://raw.github.com/SAPikachu/flash3kyuu_deband/1.5.1/flash3kyuu_deband.txt
Source code: https://github.com/SAPikachu/flash3kyuu_deband/tree/1.5.1
Samples: #1 (https://picasaweb.google.com/lh/photo/XtvTmJ70F7sZTV6JBP_3LA?feat=directlink) #2 (https://picasaweb.google.com/lh/photo/jnmFoK_2WZgpRS_sFN1Dow?feat=directlink) #3 (https://picasaweb.google.com/lh/photo/vLCEJD0bsMY1WmFxrDGlfg?feat=directlink) #4 (1st in post #4) (https://picasaweb.google.com/lh/photo/FC9fwXrs-kMuHvSI_weieQ?feat=directlink) #5 (2nd in post #4) (https://picasaweb.google.com/lh/photo/1QtAx-sz59WwSLM2w-Oj0A?feat=directlink) All (https://picasaweb.google.com/SAPikachu/Flash3kyuu_deband110SampleRev2?feat=directlink)
(Note: I used different image source for samples starting from 1.0.2, the original sources are not very banded indeed.)
Script for generating the samples (changed again on 6-19):
ImageReader("wallorig.png", end=0)
ConvertToYV12
pic=last
global i=0
LoadPlugin("flash3kyuu_deband.dll")
StackVertical(last.croppic.subtitle("original"), last.croppic.luma_histogram.subtitle("original"))
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=3)""") #1
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=3,y=64,cb=64,cr=64,grainy=32,grainc=32)""") #2
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=3,y=64,cb=64,cr=64,grainy=16,grainc=16)""") #3
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=3,y=64,cb=64,cr=64,grainy=0,grainc=0)""") #4
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=2,y=64,cb=64,cr=64,grainy=32,grainc=32)""") #5
addtest(last,pic,"""flash3kyuu_deband(sample_mode=2,dither_algo=1,y=64,cb=64,cr=64,grainy=32,grainc=32)""") #6
addtest(last,pic,"""gradfun3(smode=1,mask=0)""") #7
addtest(last,pic,"""gradfun3(smode=2,mask=0)""") #8
ConvertToRGB
ImageWriter("out",type="png")
function luma_histogram(clip c)
{
return c.histogram("luma").ColorYUV(levels="PC->TV")
}
function croppic(clip c)
{
return c.crop(100,100,400,400)
}
function addtest(clip c, clip pic, string expr)
{
pic
eval(expr)
croppic
global i=i+1
expr="#" + string(i) + " " + expr
StackVertical(last.subtitle(expr), luma_histogram.subtitle(expr))
return StackHorizontal(c,last)
}
Comments are appreciated. :)
CruNcher
27th May 2011, 09:05
Comparison with http://forum.doom9.org/showthread.php?p=1386559#post1386559 seems missing
mastrboy
27th May 2011, 09:12
could you provide some screenshots comparing this to GradFun2DBmod and using histogram(mode="luma") ?
cretindesalpes
27th May 2011, 10:22
Three comparisons done with flash3kyuu_deband v1.0.0, without High precision mode:
http://img143.imageshack.us/img143/6048/bikesorig.th.png http://img52.imageshack.us/img52/6237/hbikesorig.th.png
orig (http://img143.imageshack.us/img143/6048/bikesorig.png) | gf2m (http://img607.imageshack.us/img607/7351/bikesgf2m.png) | f3kds1 (http://img269.imageshack.us/img269/121/bikesf3kds1.png) | f3kds2 (http://img198.imageshack.us/img198/6526/bikesf3kds2.png) | gf3sm0 (http://img638.imageshack.us/img638/73/bikesgf3sm0.png) | gf3sm1 (http://img857.imageshack.us/img857/9995/bikesgf3sm1.png) | gf3sm2 (http://img847.imageshack.us/img847/6822/bikesgf3sm2.png) (normal)
orig (http://img52.imageshack.us/img52/6237/hbikesorig.png) | gf2m (http://img35.imageshack.us/img35/9393/hbikesgf2m.png) | f3kds1 (http://img853.imageshack.us/img853/7394/hbikesf3kds1.png) | f3kds2 (http://img151.imageshack.us/img151/1512/hbikesf3kds2.png) | gf3sm0 (http://img829.imageshack.us/img829/9907/hbikesgf3sm0.png) | gf3sm1 (http://img101.imageshack.us/img101/711/hbikesgf3sm1.png) | gf3sm2 (http://img15.imageshack.us/img15/6818/hbikesgf3sm2.png) (histogram)
http://img835.imageshack.us/img835/315/redorig.th.png http://img198.imageshack.us/img198/3162/hredorig.th.png
orig (http://img835.imageshack.us/img835/315/redorig.png) | gf2m (http://img194.imageshack.us/img194/4851/redgf2m.png) | f3kds1 (http://img24.imageshack.us/img24/6929/redf3kds1.png) | f3kds2 (http://img805.imageshack.us/img805/3986/redf3kds2.png) | gf3sm0 (http://img97.imageshack.us/img97/2558/redgf3sm0.png) | gf3sm1 (http://img228.imageshack.us/img228/7789/redgf3sm1.png) | gf3sm2 (http://img263.imageshack.us/img263/1290/redgf3sm2.png) (normal)
orig (http://img198.imageshack.us/img198/3162/hredorig.png) | gf2m (http://img84.imageshack.us/img84/3571/hredgf2m.png) | f3kds1 (http://img225.imageshack.us/img225/690/hredf3kds1.png) | f3kds2 (http://img339.imageshack.us/img339/118/hredf3kds2.png) | gf3sm0 (http://img339.imageshack.us/img339/7392/hredgf3sm0.png) | gf3sm1 (http://img839.imageshack.us/img839/7782/hredgf3sm1.png) | gf3sm2 (http://img9.imageshack.us/img9/6792/hredgf3sm2.png) (histogram)
http://img828.imageshack.us/img828/6518/wallorig.th.png http://img696.imageshack.us/img696/7694/hwallorig.th.png
orig (http://img828.imageshack.us/img828/6518/wallorig.png) | gf2m (http://img163.imageshack.us/img163/475/wallgf2m.png) | f3kds1 (http://img69.imageshack.us/img69/646/wallf3kds1.png) | f3kds2 (http://img838.imageshack.us/img838/49/wallf3kds2.png) | gf3sm0 (http://img59.imageshack.us/img59/7411/wallgf3sm0.png) | gf3sm1 (http://img845.imageshack.us/img845/9733/wallgf3sm1.png) | gf3sm2 (http://img21.imageshack.us/img21/7774/wallgf3sm2.png) (normal)
orig (http://img696.imageshack.us/img696/7694/hwallorig.png) | gf2m (http://img703.imageshack.us/img703/599/hwallgf2m.png) | f3kds1 (http://img688.imageshack.us/img688/977/hwallf3kds1.png) | f3kds2 (http://img806.imageshack.us/img806/6481/hwallf3kds2.png) | gf3sm0 (http://img197.imageshack.us/img197/4183/hwallgf3sm0.png) | gf3sm1 (http://img801.imageshack.us/img801/2826/hwallgf3sm1.png) | gf3sm2 (http://img6.imageshack.us/img6/3691/hwallgf3sm2.png) (histogram)
orig = original
gf2m = Gradfun2dbMod (str=0)
f3kds1 = flash3kyuu_deband (sample_mode=1)
f3kds1 = flash3kyuu_deband (sample_mode=2)
gf3sm0 = GradFun3 (smode=0)
gf3sm1 = GradFun3 (smode=1)
gf3sm2 = GradFun3 (smode=2)
Conversion to RGB done with yv12torgb24hq ()
Edit 1: Histogram(mode="luma") looks broken and outputs PC-range lumas whatever the input range. I fixed the screenshots
Edit 2: One more comparison
Edit 3: imageshack.us resized silently most of the pictures so the comparison is now irrelevant.
SAPikachu
27th May 2011, 10:40
Added some more samples. Also thanks cretindesalpes for testing.
mandarinka
27th May 2011, 18:17
I see zero banding in the image in post #1 and only very very little banding in post #4 (not worht filtering imho). Monitor is Samsung SyncMaster 226bw (not exactly expensive TN, 4 years old), without any special calibration...
Anyone with good/calibrated display can comment? It's tricky if one can without knowing run debanding just because of deficiences of particular lcds...
SAPikachu
28th May 2011, 02:34
The original image have banding in lower sky. I can't find an image with more serious banding at this time... The third image in #4 should be more visible.
Hiritsuki
28th May 2011, 02:44
May I ask which is this filter used? GPU or CPU?
SAPikachu
28th May 2011, 02:47
It runs on CPU. It should be pretty fast with current CPU though.
Hiritsuki
28th May 2011, 03:42
Thank you. It's seems amazing.
I'll try it.
Hiritsuki
28th May 2011, 03:43
BTW, this filter support with MT?
SAPikachu
28th May 2011, 03:51
I didn't test that, but it should support MT mode 2 with appropriate overlap.
Chikuzen
28th May 2011, 10:00
Hi.
@SAPikachu
some Japanese on 2ch complain that "AviUtl's original can adjust params by 32 stages(0 to 31), but this can be adjusted only by three stages(value 15 of original corresponds to value 1 of this) except range".
would you mind improving it?
SAPikachu
28th May 2011, 10:08
Yes, I plan to add 12-bit (or even 16-bit) processing when I have time. Parameter stages will be the same as the original plugin then.
Chikuzen
28th May 2011, 10:16
Yes, I plan to add 12-bit (or even 16-bit) processing when I have time. Parameter stages will be the same as the original plugin then.
i see, thx:)
Hiritsuki
28th May 2011, 16:00
My friend say it's cannot use MT with over 4threads, I have 980X 6c12t to run and it's slow.
SAPikachu
29th May 2011, 01:58
My friend say it's cannot use MT with over 4threads, I have 980X 6c12t to run and it's slow.
Is there any error message? Could you try setting mt=false when using AVS MT? For some reasons I can't test AVS MT at the moment...
Hiritsuki
29th May 2011, 15:26
No error message.
I means this filter only use 4threads for multithreads to run.
SAPikachu
30th May 2011, 02:29
Actually the filter only uses 2 threads internally. It is more complicated to use more threads, I won't change it until 12-bit processing is completed. You may want to try MT-related filter to speed up.
SAPikachu
7th June 2011, 05:16
Released 1.0.2.
kolak
16th June 2011, 17:07
I see zero banding in the image in post #1 and only very very little banding in post #4 (not worht filtering imho). Monitor is Samsung SyncMaster 226bw (not exactly expensive TN, 4 years old), without any special calibration...
Anyone with good/calibrated display can comment? It's tricky if one can without knowing run debanding just because of deficiences of particular lcds...
Yes- I have Eizo monitor and see a lot of banding in image 1.
Debanding does a quite good job.
Andrew
Chikuzen
16th June 2011, 17:48
Yes- I have Eizo monitor and see a lot of banding in image 1.
Debanding does a quite good job.
It is not mysterious that you praise this plugin.
I heard that the original author(AviUtl version) is a professional who is working in an authoring studio as you.
sneaker_ger
16th June 2011, 23:02
Totally missed this one, sample_mode=2 looks amazing.
Anything to watch out for concerning pre-x264-encode debanding?
Groucho2004
16th June 2011, 23:34
Very impressive. And fast!
SAPikachu
17th June 2011, 01:22
Yes- I have Eizo monitor and see a lot of banding in image 1.
Debanding does a quite good job.
Andrew
I changed test image source for 1.0.2 version, the original image has less banding indeed. Forgot to mention this in OP, sorry.
SAPikachu
17th June 2011, 01:33
By the way, I recently found a serious (stupid) bug in 1.0.2 that makes high threshold values useless. I will release a new version next week, along with SSE optimization for high precision mode.
SAPikachu
17th June 2011, 01:47
Totally missed this one, sample_mode=2 looks amazing.
Anything to watch out for concerning pre-x264-encode debanding?
I haven't done research for this, you may need to tweak parameters yourself. :p
SAPikachu
18th June 2011, 12:47
1.1.0 and new samples are updated.
cretindesalpes
18th June 2011, 15:02
flash3kyuu_deband in high precision mode has the job very well done, indeed. And it is fast. Congratulations to you and to the author of the original filter.
BTW, GradFun3 current default settings are a bit on the conservative side, therefore to get comparable results you should add mask=0 to your tests.
SAPikachu
19th June 2011, 05:44
flash3kyuu_deband in high precision mode has the job very well done, indeed. And it is fast. Congratulations to you and to the author of the original filter.
BTW, GradFun3 current default settings are a bit on the conservative side, therefore to get comparable results you should add mask=0 to your tests.
Thanks. :) I've added mask=0 to my scripts and uploaded new samples.
CruNcher
19th June 2011, 13:31
yup definitely one of the optimized quality/speed ones here great work :)
kolak
19th June 2011, 15:20
Thanks for your great work SAPikachu.
What abut YUY2 support?
There seams to be quite a lot work going on around dithering/debanding.
Is there a solution, which would dither 10bit (or higher) source to 8bit output?
As far as I understand this tool is for debanding and designed to remove existing banding on 8bit sources. What about dithering eg. v210 source- can it do this?
Andrew
SAPikachu
20th June 2011, 02:15
Thanks for your great work SAPikachu.
What abut YUY2 support?
There seams to be quite a lot work going on around dithering/debanding.
Is there a solution, which would dither 10bit (or higher) source to 8bit output?
As far as I understand this tool is for debanding and designed to remove existing banding on 8bit sources. What about dithering eg. v210 source- can it do this?
Andrew
YUY2 may be added in next version.
Actually, the high precision mode will upsample pixels to 14bit first, and downsample to 8bit after processing. Dithering occurs in downsampling. The dither algorithm are well-known ones (Floyd-Steinberg dithering (https://secure.wikimedia.org/wikipedia/en/wiki/Floyd–Steinberg_dithering) and Ordered dithering (https://secure.wikimedia.org/wikipedia/en/wiki/Ordered_dithering)). But since AviSynth does not support higher bit-depth natively, it may be difficult to import the video source. If it can be loaded, it shouldn't be very hard to add support for it.
kolak
20th June 2011, 13:04
There were some attemps to import v210 Qt into avisynth- not sure if it's working and compatible with your work.
http://forum.doom9.org/showthread.php?t=158985&highlight=v210
Andrew
ryrynz
20th June 2011, 13:46
Performance and quality wise how does this compare to ffdshows deband filter?
SAPikachu
21st June 2011, 06:28
There were some attemps to import v210 Qt into avisynth- not sure if it's working and compatible with your work.
http://forum.doom9.org/showthread.php?t=158985&highlight=v210
Andrew
OK, I will add a dither function in future version. You may also try cretindesalpes's dither tools (http://forum.doom9.org/showthread.php?p=1386559#post1386559), it has built-in dither function (DitherPost). It has some advanced dither algorithms that may be better than mine. Of course the data need to be restructured to meet its requirement.
SAPikachu
21st June 2011, 06:33
Performance and quality wise how does this compare to ffdshows deband filter?
As far as I know, ffdshow uses gradfun2dbmod, its quality is not very good and my filter should be better than it, but I don't have time to test them now. To be sure you can test them yourself.
naoan
21st June 2011, 09:14
For real time debanding, this filter is noticeably better than ffdshow's one, tried on several anime source. Thank you for sharing this SAPikachu. :D
SAPikachu
21st June 2011, 10:28
For real time debanding, this filter is noticeably better than ffdshow's one, tried on several anime source. Thank you for sharing this SAPikachu. :D
Thanks for testing. :)
Groucho2004
21st June 2011, 10:38
I have used this filter in combination with MDegrain for several sources and I'm very happy with the results.
I also played around with the "diff_seed" parameter but can't really see any difference (apart from the fact that "diff_seed = true" is quite a bit slower). Do you have any more info on the usefulness of that parameter?
SAPikachu
21st June 2011, 12:36
I have used this filter in combination with MDegrain for several sources and I'm very happy with the results.
I also played around with the "diff_seed" parameter but can't really see any difference (apart from the fact that "diff_seed = true" is quite a bit slower). Do you have any more info on the usefulness of that parameter?
When it is enabled, it will use different seed to generate the reference info and noise pattern for each frame. It's not very useful indeed, I keep it for completeness only.
ryrynz
23rd June 2011, 08:53
cretindesalpes, any chance of getting a sample of that clip used in the first image? I notice everything but gf3 wipes out all the detail on the bikes in the shadow, gf3 looks the best to me but I assume it's also the slowest.
That image seems to me to be the best test for a deband filter I would like to use it for my own comparisons if I could, thanks.
cretindesalpes
23rd June 2011, 23:44
Here are some samples of the original clips:
http://www.mediafire.com/?ge0ntbznzbcv76c
Anyway, the screenshots displayed in post #4 of this thread were done with the first version of flash3kyuu_deband. The new high precision mode retains much better the details.
SAPikachu
25th June 2011, 03:57
Just added the other 2 images to sample collection. Quality of latest version should be better than the previous one.
PS: I'm going on vacation tomorrow for a week. I will reply to new posts after I return home.
ryrynz
25th June 2011, 13:37
Here are some samples of the original clips:
http://www.mediafire.com/?ge0ntbznzbcv76c
Anyway, the screenshots displayed in post #4 of this thread were done with the first version of flash3kyuu_deband. The new high precision mode retains much better the details.
Thanks, I did some testing and flash3kyuu kicks ffdshows deband in terms of quality AND performance, so this filter is a keeper. I find setting the DitherY and DitherC strength to 16 is a good blend of filtering and detail retention, Excellent work!!
Oh and cheers for the introduction to Kyubey. Love the face plant, adorable.
hetrinity
22nd July 2011, 11:18
SAPikachu,
Thank you for a great filter. I have been using your filter in combination with two other filters to radically improve on the quality of my encodes. Below is an example of my avisynth scripts...
---------------------------------------------------------------------
"SetMemoryMax(1024)
MPEG2Source("myvob5.d2v")
audio=DirectShowSource("myvob5.ac3")
audiodub(audio)
Crop(4,0,-4,-2)
Spline64Resize(720,400)
FFT3DGPU(sigma=2,bw=8,bh=8,bt=1,sharpen=0,plane=0,precision=2,ow=4,oh=4,oldfft=false)
FFT3DGPU(sigma=2,bw=8,bh=8,bt=3,sharpen=0,plane=4,precision=2,ow=4,oh=4,oldfft=false)
flash3kyuu_deband(opt=3,mt=true,precision_mode=1)
---------------------------------------------------------------------
OR (for IVTC)
---------------------------------------------------------------------
SetMemoryMax(1024)
MPEG2Source("myvob1.d2v",idct=0)
TFM(d2v="myvob1.d2v",opt=3)
TDecimate(opt=3)
audio=DirectShowSource("myvob1.ac3")
audiodub(audio)
#Crop(8,0,-6,0)
Spline64Resize(720,400)
FFT3DGPU(sigma=2,bt=1,bw=8,bh=8,sharpen=0,mode=1,plane=0,precision=2,wintype=2,oldfft=false)
FFT3DGPU(sigma=2,bt=3,bw=8,bh=8,sharpen=0,mode=1,plane=4,precision=2,wintype=2,oldfft=false)
flash3kyuu_deband(opt=3,mt=true,precision_mode=1)
---------------------------------------------------------------------
The audio directshowsource would be ac3filter. These, with mediacoder 2011, provide excellent x264 quality for me... and I encode them at my 1100 bitrate. In most cases, the quality of the encode will visibly look superior to the original due to the vast reduction in noise. In comparison to the original, there is some loss of detail, particularly in space scenes where some of the stars are lost. Your filter helped to minimize/eliminate the banding created by my using the FFT3DGPU filters.
I'm no expert or specialist in this area, though, I am an IT person. So, you guys may be way ahead of me in visual quality encodes. Let me know what you think.
SAPikachu
22nd July 2011, 13:02
SAPikachu,
Thank you for a great filter. I have been using your filter in combination with two other filters to radically improve on the quality of my encodes. Below is an example of my avisynth scripts...
---------------------------------------------------------------------
"SetMemoryMax(1024)
MPEG2Source("myvob5.d2v")
audio=DirectShowSource("myvob5.ac3")
audiodub(audio)
Crop(4,0,-4,-2)
Spline64Resize(720,400)
FFT3DGPU(sigma=2,bw=8,bh=8,bt=1,sharpen=0,plane=0,precision=2,ow=4,oh=4,oldfft=false)
FFT3DGPU(sigma=2,bw=8,bh=8,bt=3,sharpen=0,plane=4,precision=2,ow=4,oh=4,oldfft=false)
flash3kyuu_deband(opt=3,mt=true,precision_mode=1)
---------------------------------------------------------------------
OR (for IVTC)
---------------------------------------------------------------------
SetMemoryMax(1024)
MPEG2Source("myvob1.d2v",idct=0)
TFM(d2v="myvob1.d2v",opt=3)
TDecimate(opt=3)
audio=DirectShowSource("myvob1.ac3")
audiodub(audio)
#Crop(8,0,-6,0)
Spline64Resize(720,400)
FFT3DGPU(sigma=2,bt=1,bw=8,bh=8,sharpen=0,mode=1,plane=0,precision=2,wintype=2,oldfft=false)
FFT3DGPU(sigma=2,bt=3,bw=8,bh=8,sharpen=0,mode=1,plane=4,precision=2,wintype=2,oldfft=false)
flash3kyuu_deband(opt=3,mt=true,precision_mode=1)
---------------------------------------------------------------------
The audio directshowsource would be ac3filter. These, with mediacoder 2011, provide excellent x264 quality for me... and I encode them at my 1100 bitrate. In most cases, the quality of the encode will visibly look superior to the original due to the vast reduction in noise. In comparison to the original, there is some loss of detail, particularly in space scenes where some of the stars are lost. Your filter helped to minimize/eliminate the banding created by my using the FFT3DGPU filters.
I'm no expert or specialist in this area, though, I am an IT person. So, you guys may be way ahead of me in visual quality encodes. Let me know what you think.
I don't use FFT3DGPU much, but as far as I know sigma=2 is very high for normal videos, and due to your plane settings, the luma plane is filtered twice, so it is not surprising that many details are lost. To gain more details, you may try lowering the sigma values, and/or change plane in the second FFT3DGPU to 3, make it filter only the chroma planes.
Also for flash3kyuu_deband, opt and mt should usually be left out unless error occurs. The default settings are rather strong, so you may want to lower them a bit, particularly ditherY and ditherC.
Have a happy encoding. :)
ryrynz
24th July 2011, 00:58
there is some loss of detail, particularly in space scenes where some of the stars are lost.
Setting DitherY and DitherC to a lower value (I prefer 16 for each) as stated by SAPikachu and myself will help improve detail.
hetrinity
26th July 2011, 21:26
Thanks everyone for your input. I have a quick question. I'm not sure if the avsinput for MediaCoder will work with 64 bit avisynth, but, I have all my filters in 64 bit, except for your flash3kyuu_deband. Do you have a current 64 bit version made, or planned for later down the road? Thanks again!
SAPikachu
27th July 2011, 01:37
I have plan to make a 64bit version, but it has low priority and I have been very busy recently, so it may take some time to complete...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.