Last active
January 1, 2025 19:31
-
-
Save tp7/8899021 to your computer and use it in GitHub Desktop.
Revisions
-
tp7 revised this gist
Mar 27, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -162,5 +162,7 @@ SetFilterMTMode("yadifmod", MT_NICE_FILTER) #keep it the last line please if (FunctionExists("avstp_set_threads")) { # this isn't actually optimal, because it will also disable avstp threads if running # on a single-threaded filter chain avstp_set_threads(0, 1) #disable threading in dither } -
tp7 revised this gist
Feb 24, 2014 . 1 changed file with 69 additions and 43 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,12 +1,13 @@ ########################################################################### # DO NOT OPEN THIS DOCUMENT IN GOOGLE TRANSLATE OR BAD THINGS WILL HAPPEN # ########################################################################### # General info: # 1. Do not include core filters in the list # 2. Specify the lowest mode that produces correct output with any settings. # For example if something works with MT_MULTI_INSTANCE on some parameters and MT_SERIALIZED with other, MT_SERIALIZED should be used # You can of course specify this in comments so people who do want to get MAXIMUM PERFORMANCE can modify the script themselves. # 3. Do not specify MT modes for runtime filters. Behaviour of runtime filtering with mt is not very well known yet. # 4. In case it isn't obvious, NICE_FILTER - mt mode 1, MULTI_INSTANCE - mt mode 2, SERIALIZED - mt mode 3. Variables are defined by avs+ core. ################################################################################## # Official avs+ filters. Newer versions will register themself so you should never force any of these modes ############################################ @@ -17,7 +18,7 @@ SetFilterMTMode("verticalcleaner", MT_NICE_FILTER) SetFilterMTMode("clense", MT_NICE_FILTER) #medianblur SetFilterMTMode("medianblur", MT_MULTI_INSTANCE) SetFilterMTMode("medianblurtemporal", MT_MULTI_INSTANCE) #masktools SetFilterMTMode("mt_invert", MT_MULTI_INSTANCE) SetFilterMTMode("mt_binarize", MT_MULTI_INSTANCE) @@ -49,8 +50,9 @@ SetFilterMTMode("TMaskCleaner", MT_MULTI_INSTANCE) SetFilterMTMode("checkmate", MT_NICE_FILTER) SetFilterMTMode("Deblock", MT_NICE_FILTER) SetFilterMTMode("msharpen", MT_MULTI_INSTANCE) SetFilterMTMode("TColorMask", MT_NICE_FILTER) SetFilterMTMode("Vinverse", MT_MULTI_INSTANCE) SetFilterMTMode("Vinverse2", MT_MULTI_INSTANCE) ######################################### # Core filters (because putting it here is easier than modifying the source and firing a PR) @@ -73,10 +75,13 @@ SetFilterMTMode("FFT3dGPU", MT_SERIALIZED) ############################################# # External Filters (tested) ############################################# # Testing info: # 1. All processing plugins have been tested with ColorBars(pixel_type="YV12") as the source. Plugins that do not support YV12 have been tested accordingly. # 2. AVSMeter is used to check optimal performance and VDub/MPC-HC is used to check correct output. ############################################# # Source plugins SetFilterMTMode("DGSource", MT_SERIALIZED) #DGDecNV 2046 2014/01/01 - GPU decoding # Processing plugins SetFilterMTMode("aBlur", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Odd, with certain Prefetch values mode 1 is slightly better with other values mode 2 is slightly better??? SetFilterMTMode("aSobel", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur @@ -85,54 +90,75 @@ SetFilterMTMode("aWarp4", MT_NICE_FILTER) #aWarpSharp2 --- SetFilterMTMode("aWarpSharp", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("aWarpSharp2", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("DeCross", MT_SERIALIZED) #DeCross v0.0.02 2004/02/01 - Mode 1/2 hang up and crash. Mode 3 with Prefetch >1 is much less effecient than single threaded. SetFilterMTMode("frfun7", MT_MULTI_INSTANCE) #frfun7 rev6 2006/05/10 - With mode 1 the output is corrupted. This plugin works well by itself but it's really slow with other filters. :( # 2013 version seems to work as mode 1 SetFilterMTMode("gradfun2db", MT_MULTI_INSTANCE) #gradfun2db v1.0 2006/03/15 - With mode 1 the output is corrupted, random artifacts when playing and/or seeking. SetFilterMTMode("MosquitoNR", MT_SERIALIZED) #MosquitoNR v0.10 2013/03/14 - It also works with mode 2, but you have to set MosquitoNR(threads=1) so it does not create any unnecessary threads. SetFilterMTMode("StaticNoiseC", MT_NICE_FILTER) #StaticNoiseC ---> 2011/01/08 - Mode 1/2 performance is almost identical. SetFilterMTMode("tcanny", MT_MULTI_INSTANCE) #tcanny v1.0 2009/06/03 - With mode 1 the output is corrupted, random artifacts when playing and/or seeking. SetFilterMTMode("tdtrans", MT_MULTI_INSTANCE) #tcanny v1.0 2009/06/03 - Same as tcanny SetFilterMTMode("TCannyMod", MT_MULTI_INSTANCE) #TCannyMod v0.1.1 2013/08/19 - Same as tcanny SetFilterMTMode("TEdgeMask", MT_MULTI_INSTANCE) #TEdgeMask v0.9 2005/01/20 - Same as tcanny SetFilterMTMode("TEMmod", MT_MULTI_INSTANCE) #TEMmod v0.2.0 2013/08/12 - Same as tcanny SetFilterMTMode("TMM", MT_MULTI_INSTANCE) #TMM v1.0 2007/04/06 - Mode 1 randomly crashes and mode 2/3 are not very efficient. SetFilterMTMode("TNLMeans", MT_MULTI_INSTANCE) #TNLMeans v1.0.3 2007/08/28 - Mode 1 is extremely slow SetFilterMTMode("UnsharpHQ", MT_MULTI_INSTANCE) #UnsharpHQ v0.5 2014/01/19 - Mode 1 creates a few extra threads without any benefit. SetFilterMTMode("VideoScope", MT_NICE_FILTER) #VideoScope v1.2 2004/05/01 - Mode 1/2 performance is almost identical. SetFilterMTMode("flash3kyuu_deband", MT_MULTI_INSTANCE) #flash3kyuu_deband 1.5.1 2012/04/07 - Also works with mode 1 if set mt=False # flash3kyuu_deband 2.0pre2 2012/12/03 - Crashes with mode 1 even with mt=False # Filters from Dither 1.25.0. Tested by Firesledge (not extensively though) SetFilterMTMode ("DitherPost", MT_NICE_FILTER) SetFilterMTMode ("SmoothGrad", MT_NICE_FILTER) SetFilterMTMode ("Dither_box_filter16", MT_NICE_FILTER) SetFilterMTMode ("Dither_bilateral16", MT_NICE_FILTER) SetFilterMTMode ("Dither_limit_dif16", MT_NICE_FILTER) SetFilterMTMode ("Dither_resize16", MT_NICE_FILTER) SetFilterMTMode ("Dither_out", MT_NICE_FILTER) SetFilterMTMode ("Dither_removegrain16", MT_NICE_FILTER) SetFilterMTMode ("Dither_repair16", MT_NICE_FILTER) SetFilterMTMode ("Dither_median16", MT_NICE_FILTER) SetFilterMTMode ("Dither_add16", MT_NICE_FILTER) SetFilterMTMode ("Dither_sub16", MT_NICE_FILTER) SetFilterMTMode ("Dither_max_dif16", MT_NICE_FILTER) SetFilterMTMode ("Dither_merge16", MT_NICE_FILTER) SetFilterMTMode("DGDecode_mpeg2source",MT_NICE_FILTER) #seems to work fine as 1 SetFilterMTMode("ColorMatrix", MT_NICE_FILTER) #read note2 SetFilterMTMode("NNEDI3", MT_MULTI_INSTANCE) SetFilterMTMode("eDeen", MT_SERIALIZED) #1 and 2 gave errors SetFilterMTMode("Deen", MT_SERIALIZED) #2 randomly gave errors, or corrupted output SetFilterMTMode("vaguedenoiser", MT_MULTI_INSTANCE) SetFilterMTMode("TFM", MT_MULTI_INSTANCE) #2 is faster. 1 crashes randomly. SetFilterMTMode("TDecimate", MT_SERIALIZED) #1 gave error, 2 was slower than 3 SetFilterMTMode("FTurnLeft", MT_NICE_FILTER) SetFilterMTMode("FTurnRight", MT_NICE_FILTER) SetFilterMTMode("nnedi3ocl", MT_MULTI_INSTANCE) SetFilterMTMode("Yadif", MT_MULTI_INSTANCE) #note1: Can't use mode 1 or 2 on any filters if encoding 1080i files(480i works perfectly fine). #FFVideoSource runs a few seconds, however, it always crashes. #As far as I know, the only workaround seems to be running a deinterlacer right after the video source and running it as "MT_SERIALIZED", #than running any desired filters after. Filters after the deinterlacer, seem to be able use any mode. #note2: tried multiple files, seems to corrupt video even when it is the only filter in a script. #tried mode 1, 2, and 3, none worked. however it works fine if MT isn't enabled. #should ColorMatrix still be in the list? as a notice? or should it be removed? #tp7's update: removed sangnom2 and vinverse lines since they cannot run with mode 1 correctly (updated versions can but those will register themselves anyway), also removed core filters SetFilterMTMode("FRFun3d", MT_NICE_FILTER) SetFilterMTMode("ContinuityFixer", MT_NICE_FILTER) SetFilterMTMode("ReferenceFixer", MT_NICE_FILTER) SetFilterMTMode("SmoothLevels", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothTweak", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothCurve", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothCustom", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothTools", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothLevels16", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothTweak16", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothCurve16", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothCustom16", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("SmoothTools16", MT_MULTI_INSTANCE) # Mode 1 freezes SetFilterMTMode("TDeint", MT_MULTI_INSTANCE) # Mode 1 creates artifacts SetFilterMTMode("yadifmod", MT_NICE_FILTER) #keep it the last line please if (FunctionExists("avstp_set_threads")) { -
tp7 revised this gist
Feb 15, 2014 . 1 changed file with 83 additions and 4 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,14 @@ ################################################################################## # PLEASE DO NOT LOAD THIS DOCUMENT IN GOOGLE TRANSLATE OR BAD THINGS WILL HAPPEN # ################################################################################## # General info: # 1. Do not include core filters in the list # 2. Specify the lowest mode that produces correct output with any settings. # For example if something works with MT_MULTI_INSTANCE on some parameters and MT_SERIALIZED with other, MT_SERIALIZED should be used # You can of course specify this in comments so people who do want to get MAXIMUM PERFORMANCE can modify the script themselves. # 3. Do not specify MT modes for runtime filters. Behaviour of runtime filtering with mt is not very well known yet. ################################################################################## # Official avs+ filters. Newer versions will register themself so you should never force any of these modes ############################################ #rgtools SetFilterMTMode("removegrain", MT_NICE_FILTER) @@ -42,7 +51,13 @@ SetFilterMTMode("Deblock", MT_NICE_FILTER) SetFilterMTMode("msharpen", MT_MULTI_INSTANCE) SetFilterMTMode("TColorMask", MT_MULTI_INSTANCE) #can probably run with 1 but has internal threading SetFilterMTMode("Vinverse", MT_MULTI_INSTANCE) ######################################### # Core filters (because putting it here is easier than modifying the source and firing a PR) ################################## SetFilterMtMode("DirectShowSource", MT_SERIALIZED) SetFilterMtMode("AudioDub", MT_SERIALIZED) ######################################### # External filters (guessed, might not be very stable) ################################## @@ -53,9 +68,73 @@ SetFilterMTMode("Dither_box_filter16", MT_MULTI_INSTANCE) SetFilterMTMode("Dither_limit_dif16", MT_NICE_FILTER) SetFilterMTMode("dfttest", MT_SERIALIZED) #same story as with sangnom2 SetFilterMTMode("AddGrainC", MT_MULTI_INSTANCE) SetFilterMTMode("FFT3dGPU", MT_SERIALIZED) ############################################# # External Filters (tested) ############################################# # Source plugins SetFilterMTMode("DGSource", MT_SERIALIZED) #DGDecNV 2046 2014/01/01 - GPU decoding # Processing plugins SetFilterMTMode("aBlur", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Odd, with certain Prefetch values mode 1 is slightly better with other values mode 2 is slightly better??? SetFilterMTMode("aSobel", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("aWarp", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("aWarp4", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Mode 1/2/3 perform very similar and have no real inprovement over single threaded. SetFilterMTMode("aWarpSharp", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("aWarpSharp2", MT_NICE_FILTER) #aWarpSharp2 ---> 2012/03/28 - Same as aBlur SetFilterMTMode("DeCross", MT_SERIALIZED) #DeCross v0.0.02 2004/02/01 - Mode 1/2 hang up and crash. Mode 3 with Prefetch >1 is much less effecient than single threaded. SetFilterMTMode("frfun7", MT_NICE_FILTER) #frfun7 rev6 2006/05/10 - Mode 1/2 performance is almost identical. It works well by itself but it's really slow with other filters. :( SetFilterMTMode("gradfun2db", MT_NICE_FILTER) #gradfun2db v1.0 2006/03/15 - Odd, with certain Prefetch values mode 1 is slightly better with other values mode 2 is slightly better??? SetFilterMTMode("MosquitoNR", MT_SERIALIZED) #MosquitoNR v0.10 2013/03/14 - It also works with mode 2, but you have to set MosquitoNR(threads=1) so it does not create any unnecessary threads. SetFilterMTMode("StaticNoiseC", MT_NICE_FILTER) #StaticNoiseC ---> 2011/01/08 - Mode 1/2 performance is almost identical. SetFilterMTMode("TCannyMod", MT_MULTI_INSTANCE) #TCannyMod v0.1.1 2013/08/19 - With mode 1 the output is corrupted, random artifacts when playing and/or seeking. SetFilterMTMode("tcanny", MT_MULTI_INSTANCE) #tcanny v1.0 2009/06/03 - Same as TCannyMod SetFilterMTMode("tdtrans", MT_MULTI_INSTANCE) #tcanny v1.0 2009/06/03 - Same as TCannyMod SetFilterMTMode("TEdgeMask", MT_MULTI_INSTANCE) #TEdgeMask v0.9 2005/01/20 - Same as TCannyMod SetFilterMTMode("TEMmod", MT_MULTI_INSTANCE) #TEMmod v0.2.0 2013/08/12 - Same as TCannyMod SetFilterMTMode("TMM", MT_NICE_FILTER) #TMM v1.0 2007/04/06 - Mode 1 randomly crashes and mode 2/3 are not very efficient. SetFilterMTMode("TNLMeans", MT_MULTI_INSTANCE) #TNLMeans v1.0.3 2007/08/28 - Mode 1 is extremely slow SetFilterMTMode("UnsharpHQ", MT_NICE_FILTER) #UnsharpHQ v0.5 2014/01/19 - Odd, with certain Prefetch values mode 1 is slightly better with other values mode 2 is slightly better??? SetFilterMTMode("VideoScope", MT_NICE_FILTER) #VideoScope v1.2 2004/05/01 - Same as gradfun2db SetFilterMTMode("flash3kyuu_deband", MT_MULTI_INSTANCE) #flash3kyuu_deband 1.5.1 2012/04/07 - Also works with mode 1 if set mt=False # flash3kyuu_deband 2.0pre2 2012/12/03 - Crashes with mode 1 even with mt=False #Feel free to change, edit, or delete anything that doesn't belong here, #or if I made an error somewhere. #tested multiple times and on different sources. ############################################ # Re-posted filters ############################################ SetFilterMTMode("frfun7", MT_SERIALIZED) #1 and 2 gave me errors on multiple sources ############################################ # External filters ############################################ SetFilterMTMode("DGDecode_mpeg2source",MT_NICE_FILTER) #seems to work fine as 1 SetFilterMTMode("ColorMatrix", MT_NICE_FILTER) #no matter if I use 1 2 or 3, if enabled with prefetch() I get corrupted video SetFilterMTMode("NNEDI3", MT_SERIALIZED) #should work with multi-instance SetFilterMTMode("Deen", MT_MULTI_INSTANCE) SetFilterMTMode("vaguedenoiser", MT_MULTI_INSTANCE) SetFilterMTMode("TFM", MT_SERIALIZED) #1 and 2 gave me a decrease in speed SetFilterMTMode("TDecimate", MT_SERIALIZED) #errors on 1 and 2 SetFilterMTMode("FTurnLeft", MT_NICE_FILTER) SetFilterMTMode("FTurnRight", MT_NICE_FILTER) SetFilterMTMode("nnedi3ocl", MT_SERIALIZED) SetFilterMTMode("MDegrain1", MT_MULTI_INSTANCE) SetFilterMTMode("MDegrain2", MT_MULTI_INSTANCE) SetFilterMTMode("MDegrain3", MT_MULTI_INSTANCE) SetFilterMTMode("Yadif", MT_MULTI_INSTANCE) #*note1, didn't test using other sources but with DGDecode_mpeg2source, and only with 1080i video, (480i worked fine) #if using prefetch() you MUST deinterlace or you'll get an instant crash. or is this just with me? #*note2, also when using prefetch(), if using Mdegrain(1)(2) or SMDegrain(1)(2) or QTGMC(Preset="Draft") and (Preset="Very Fast") #I get corrupted video, but Mdegrain and SMdegrain on (3) worked fine, using "Super Fast" and higher levels #on QTGMC also worked fine. Setting MDegrain1, MDegrain2, and MDegrain3 to "MT_SERIALIZED" #fixed the corrupted video on lower settings of Degrain, and QTGMC. again, I don't know if this is just on my system. #tp7's update: removed sangnom2 and vinverse lines since they cannot run with mode 1 correctly (updated versions can but those will register themselves anyway), also removed core filters #keep it the last line please if (FunctionExists("avstp_set_threads")) { avstp_set_threads(0, 1) #disable threading in dither } -
tp7 created this gist
Feb 9, 2014 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,61 @@ ############################################ # Official avs+ filters ############################################ #rgtools SetFilterMTMode("removegrain", MT_NICE_FILTER) SetFilterMTMode("repair", MT_NICE_FILTER) SetFilterMTMode("verticalcleaner", MT_NICE_FILTER) SetFilterMTMode("clense", MT_NICE_FILTER) #medianblur SetFilterMTMode("medianblur", MT_MULTI_INSTANCE) SetFilterMTMode("medianblurtemp", MT_MULTI_INSTANCE) #masktools SetFilterMTMode("mt_invert", MT_MULTI_INSTANCE) SetFilterMTMode("mt_binarize", MT_MULTI_INSTANCE) SetFilterMTMode("mt_inflate", MT_MULTI_INSTANCE) SetFilterMTMode("mt_deflate", MT_MULTI_INSTANCE) SetFilterMTMode("mt_inpand", MT_MULTI_INSTANCE) SetFilterMTMode("mt_expand", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lut", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lutxy", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lutxyz", MT_MULTI_INSTANCE) SetFilterMTMode("mt_luts", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lutf", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lutsx", MT_MULTI_INSTANCE) SetFilterMTMode("mt_lutspa", MT_MULTI_INSTANCE) SetFilterMTMode("mt_merge", MT_MULTI_INSTANCE) SetFilterMTMode("mt_logic", MT_MULTI_INSTANCE) SetFilterMTMode("mt_convolution", MT_MULTI_INSTANCE) SetFilterMTMode("mt_mappedblur", MT_MULTI_INSTANCE) SetFilterMTMode("mt_makediff", MT_MULTI_INSTANCE) SetFilterMTMode("mt_average", MT_MULTI_INSTANCE) SetFilterMTMode("mt_adddiff", MT_MULTI_INSTANCE) SetFilterMTMode("mt_clamp", MT_MULTI_INSTANCE) SetFilterMTMode("mt_motion", MT_MULTI_INSTANCE) SetFilterMTMode("mt_edge", MT_MULTI_INSTANCE) SetFilterMTMode("mt_hysteresis", MT_MULTI_INSTANCE) SetFilterMTMode("sangnom2", MT_SERIALIZED) #can run with 2 but you should specify threads=1 then, otherwise too many threads will get created without any benefit SetFilterMTMode("average", MT_NICE_FILTER) SetFilterMTMode("TMaskCleaner", MT_MULTI_INSTANCE) SetFilterMTMode("checkmate", MT_NICE_FILTER) SetFilterMTMode("Deblock", MT_NICE_FILTER) SetFilterMTMode("msharpen", MT_MULTI_INSTANCE) SetFilterMTMode("TColorMask", MT_MULTI_INSTANCE) #can probably run with 1 but has internal threading SetFilterMTMode("Vinverse", MT_MULTI_INSTANCE) ######################################### # External filters (guessed, might not be very stable) ################################## SetFilterMTMode("DitherPost", MT_NICE_FILTER) SetFilterMTMode("Dither_resize16", MT_MULTI_INSTANCE) SetFilterMTMode("SmoothGrad", MT_MULTI_INSTANCE) SetFilterMTMode("Dither_box_filter16", MT_MULTI_INSTANCE) SetFilterMTMode("Dither_limit_dif16", MT_NICE_FILTER) SetFilterMTMode("dfttest", MT_SERIALIZED) #same story as with sangnom2 SetFilterMTMode("AddGrainC", MT_MULTI_INSTANCE) SetFilterMTMode("TEdgeMask", MT_NICE_FILTER) SetFilterMTMode("FFT3dGPU", MT_SERIALIZED) if (FunctionExists("avstp_set_threads")) { avstp_set_threads(0, 1) #disable threading in dither }