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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#101 | Link | |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Quote:
![]() However, it's easy to implement: 1. Copy the plugin to "Fritz Photo\plugins\Seamer" directory. 2. Copy the following scripts to "Fritz Photo\Templates\Seamer" directory (extension should be "avs"). TRSeamer.avs: Code:
# ==============================================================================
# http://forum.doom9.org/showthread.php?t=135735
# ==============================================================================
x = 800
y = 600
peak = False
alt = False
# ==============================================================================
# x = True, False, Beginner, Desired width of output frame | int
# y = True, False, Beginner, Desired height of output frame | int
# peak = True, False, Beginner, Whether to use highs or lows as seam carving | bool, {False, True}
# alt = True, False, Beginner, Whether seams are to be affected alternately along width and height | bool, {False, True}
# ==============================================================================
LoadPlugin("plugins\Seamer\Seamer.dll")
Import("lib\FritzPhoto\FritzPhoto.avs")
isYV12() ? YV12toRGB32() : NOP()
TRSeamer(x=x, y=y, peak=peak, alt=alt)
Code:
# ==============================================================================
# http://forum.doom9.org/showthread.php?t=135735
# ==============================================================================
x = 800
y = 600
peak = False
alt = False
# ==============================================================================
# x = True, False, Beginner, Desired width of output frame | int
# y = True, False, Beginner, Desired height of output frame | int
# peak = True, False, Beginner, Whether to use highs or lows as seam carving | bool, {False, True}
# alt = True, False, Beginner, Whether seams are to be affected alternately along width and height | bool, {False, True}
# ==============================================================================
LoadPlugin("plugins\Seamer\Seamer.dll")
Import("lib\FritzPhoto\FritzPhoto.avs")
isYV12() ? YV12toRGB32() : NOP()
WSSeamer(x=x, y=y, peak=peak, alt=alt)
Last edited by Archimedes; 30th September 2010 at 18:05. |
|
|
|
|
|
|
#104 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Changed to version 2.6.0 of AviSynth. Fixed the chroma shift problem, when doing color conversions (from RGB32 to double sized YV12 and vice versa).
![]() Added language support for the template directories and the parameters in script inspector (while the german translation for the template folders are ready, i need some time to finish the translation for the parameter descriptions). Added "NLMeansCL" to the denoise section. |
|
|
|
|
|
#106 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Works fine here with the latest alpha release.
|
|
|
|
|
|
#108 | Link |
|
Registered User
Join Date: Apr 2006
Posts: 299
|
I guess I'll have to keep my old EEDI3 version as I'd hate to choose between MT functionality and FritzPhoto.
A question about the resize templates; is there any way to input decimal values instead of absolute values? PS: Please consider adding a template for automttap3. In my testing scaling a megapixel original to web-size I found it resolved fine texture in a flattering way that spline and lanczos couldn't do. PS 2: Same problem with warpsharp.dll, again replaced it with unknown different version from the attic of my harddrives to be functional... Last edited by markanini; 9th February 2011 at 19:42. |
|
|
|
|
|
#109 | Link | |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Quote:
Strange. Works also fine here. What error message do you get? |
|
|
|
|
|
|
#113 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Here is the template (Fritz Photo script) for the automttap3 function.
1. Save the automttap3 function to lib\automttap3\automttap3.avs in the program directory. 2. Save the following script to Templates\Resize\automttap3.avs in the program directory. Code:
# ==============================================================================
# http://forum.doom9.org/showthread.php?p=1211873#post1211873
# ==============================================================================
Width = 800
Height = 600
mtaps3 = 1
thresh = 256
ss_x = 1.0
ss_y = 1.0
KeepAspectRatio = True
Oversize = False
ForceResize = False
# ==============================================================================
# Width = True, False, Beginner, Width | int
# Height = True, False, Beginner, Height | int
# mtaps3 = True, False, Beginner, Amount of taps | int
# thresh = True, False, Beginner, Threshold | int, [0, 256]
# ss_x = True, False, Intermediate, Horizontal supersampling factor | float
# ss_y = True, False, Intermediate, Vertical supersampling factor | float
# KeepAspectRatio = True, False, Beginner, Keep aspect ratio | bool, {False, True}
# Oversize = True, False, Intermediate, Ensures that the resized image is even or greater than width x height | bool, {False, True}
# ForceResize = True, False, Beginner, Force resize (enlargement mode) | bool, {False, True}
# ==============================================================================
LoadPlugin("plugins\GScript\GScript.dll")
LoadPlugin("plugins\MaskTools 2\mt_masktools-26.dll")
Import("lib\automttap3\automttap3.avs")
Import("lib\FritzPhoto\FritzPhoto.avs")
isYV12() ? GEval("""
if (ForceResize) {
fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize)
}
else {
Oversize == false ? Width < (last.Width / 2) || Height < (last.Height / 2) ? fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize) : NOP() : Width < (last.Width / 2) && Height < (last.Height / 2) ? fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize) : NOP()
}
""") : GEval("""
if (%%KeepAlphaChannel%%) {
fp_alpha = Crop(0, 0, -(last.Width % 2), -(last.Height % 2))
}
else {
NOP()
}
if (ForceResize) {
RGB32toYV12().fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize)
}
else {
Oversize == false ? Width < last.Width || Height < last.Height ? RGB32toYV12().fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize) : NOP() : Width < last.Width && Height < last.Height ? RGB32toYV12().fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize) : NOP()
}
if (%%KeepAlphaChannel%% && isYV12()) {
fp_clip1 = YV12toRGB32()
fp_alpha.ShowAlpha("YV12").PointResize(fp_alpha.Width * 2, fp_alpha.Height * 2)
fp_automttap3(Width=Width, Height=Height, mtaps3=mtaps3, thresh=thresh, ss_x=ss_x, ss_y=ss_y, KeepAspectRatio=KeepAspectRatio, Oversize=Oversize)
MergeARGB(last.PointResize(last.Width / 2, last.Height / 2), fp_clip1, fp_clip1, fp_clip1)
}
else {
NOP()
}
""")
function fp_automttap3(clip input, int "Width", int "Height", int "mtaps3", int "thresh", float "ss_x", float "ss_y", bool "KeepAspectRatio", bool "Oversize") {
KeepAspectRatio == True ? GEval("""
Width = (Oversize == true) ? Width + (Width % 2) : Width
Height = (Oversize == true) ? Height + (Height % 2) : Height
Width = (Oversize == false) ? (Round(Float(Width) * input.Height / input.Width) <= Height) ? Width : Round(Float(Height) * input.Width / input.Height) : (Round(Float(Width) * input.Height / input.Width) < Height) ? Round(Float(Height) * input.Width / input.Height) : Width
Height = Round(Float(Width) * input.Height / input.Width)
""") : GEval("""
NOP()
""")
Width = (ss_x > 1.0) ? Round(Float(Width) * ss_x / 2) * 2 : Width
Height = (ss_y > 1.0) ? Round(Float(Height) * ss_y / 2) * 2 : Height
Width = Width - (Width % 2)
Height = Height - (Height % 2)
input.PointResize(input.Width / 2, input.Height / 2)
automttap3(dx=Width, dy=Height, mtaps3=mtaps3, thresh=thresh)
PointResize(last.Width * 2, last.Height * 2)
MergeChroma(input.YV12ToRGB32().Spline36Resize(Width, Height).RGB32ToYV12(), 1)
}
3648 x 2736 --> 640 x 480, automttap3 >> Last edited by Archimedes; 17th February 2011 at 20:57. |
|
|
|
|
|
#114 | Link |
|
Registered User
Join Date: Apr 2006
Posts: 299
|
Thanks Archimedes!
So I've been spending the last hour seeing if I can sort out my issues. Going back and forth between sf.net, XhmikosR and SEt 2.6 build and avisynth plugin directory renamed to avoid issue with incomatible plugins and autoloading scripts. I made the following findings: Warpsharp works fine, just my plugins folder causing trouble I guess. EEDI3 failes to load with all builds. |
|
|
|
|
|
#115 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Added drag-and-drop functionality to the AviSynth Scripts page (moving scripts from the templates to the job list and vice versa). Ordering the job list with drag-and-drop operations is also possible now.
Added "Refresh image before filtering with the selected script" and "Refresh image after filtering with the selected script" to the context menus in the preview windows. Should be self-explanatory.
Last edited by Archimedes; 2nd March 2011 at 21:45. |
|
|
|
|
|
#116 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Simplified the resize templates and added the possibility to enter scaling factors (in percent). With the new parameter "Unit" you can define, whether the parameters "Width" and "Height" are treated as pixel or percent values.
I've also added the new "ResampleHQ" plugin. Last edited by Archimedes; 17th March 2011 at 17:24. |
|
|
|
|
|
#117 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Added more encoding options for the JPEG format:
- Color Space (RGB, Grey Scale, YCbCr, CMYK, YCbCrK) - Chroma Subsampling (4:1:1, 4:2:2, 4:4:4) - DCT Method - Optimal Huffman Table (more compression) Last edited by Archimedes; 28th March 2011 at 14:19. |
|
|
|
|
|
#119 | Link | |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
Quote:
I've changed that. Now it is possible to zoom in and out without processing the image again. Will be part of the next update. |
|
|
|
|
|
|
#120 | Link |
|
Registered User
Join Date: Apr 2005
Posts: 213
|
- Changed zoom function in the preview windows. Now you can zoom in and out without processing the image again.
- Fixed a memory leak when processing AviSynth scripts. - Added an additional crop page, where you can rotate and crop images in front of any filtering. - Updated ResampleHQ plugin and script. |
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|