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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 11th September 2009, 23:22   #41  |  Link
tin3tin
Registered User
 
tin3tin's Avatar
 
Join Date: Mar 2005
Posts: 366
Oh; you're right it wasn't a limitation in Zoom, but apparently an Avisynth limitation of 60 arguments:
http://forum.doom9.org/showthread.ph...331#post595331
__________________
DVD slideshow GUI(Freeware).
tin3tin is offline   Reply With Quote
Old 11th September 2009, 23:35   #42  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,431
That limitation was removed at least as far back as Avisynth 2.57.
Gavino is offline   Reply With Quote
Old 12th March 2016, 18:48   #43  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Quote:
Originally Posted by PeaceAnt View Post
hello,

how about source and destination PAR parameters?

pozdrawiam
Quote:
Originally Posted by IanB View Post
The fast triple shear algorithm assumes square pixels, so this filter cannot be made to directly compensate for PAR.

Mohan's version uses the slower direct 2d interpolation, for that algorithm PAR compensation would be possible.
In several years I at last implemented PAR in Rotate plugin v1.5.
Really now I am learning to (re)code Avisynth 2.6 plugins with planar color formats Chroma in YV16 have different PAR.
May be I am missed some other new rotation plugin? (or core filter )
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 27th March 2018, 03:13   #44  |  Link
BlueCop
Registered User
 
Join Date: Sep 2006
Posts: 18
Is it possible to compile this for 64bit? I was using this in a script but was running out of memory with 32bit so I switched to 64bit. This is only plugin I was using that was 32bit.

If not could someone recommend a 64bit plugin that can rotate similarly?

Code:
function Rotate(clip, float "angle", int "color", int "start", int "end", float "endangle")
{
	return KenBurnsEffect(clip, startAngle=angle, endAngle=endangle, StartFrame=start, EndFrame=end, useZoomBox=0)
}
I ended up just writing a little wrapper for the kenburnseffect script so I didn't have to rewrite my script.

Last edited by BlueCop; 27th March 2018 at 03:47.
BlueCop is offline   Reply With Quote
Old 18th July 2019, 14:35   #45  |  Link
KreuzBlick
Registered User
 
Join Date: Jun 2012
Location: Germany
Posts: 20
Thank you, this is a very useful plugin. I use the function HShear, when restoring my old anamorphic amateur movies, where the lens was not exactly vertical when shooting.

Nevertheless, it would be nice to have a 64bit version. Unfortunately, my knowledge of plugin development is not very advanced. But also tips how to do that by myself would be helpful for me.

KreuzBlick is offline   Reply With Quote
Old 18th July 2019, 18:41   #46  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Kreuzblick,
EDIT: LINK REMOVED, ~See later post.

v1.3.5, as v1.3.4, but recompile for v2.6 x86 & x64 (as original RGB32 & YV12 only).

Not tested in any way, x64 C version only, excluded MMX from compile for x64, x86 has MMX.

Code:
// 18 July 2019, recompile by StainlessS. Reversioned as v1.3.5 (from 1.3.4), few slight mods.
//     Several "ssS: Moved i outside of for() else later undeclared identifier in vs2008" style messages in ImgRotate.h, fixed.
//     Excluded MMX asm where x64 compile, so C only for 64 bit.
EDIT: Above "undeclared identifier" thing was legal and worked ok in VS98, but not in VS2008.
eg
Code:
    for(int i=0;i<256;++i) { ... }
    i=42; // Error in VS2008
fixed
Code:
    int i;
    for(i=0;i<256;++i) { ... }
    i=42; // OK
Say if works ok or not.
EDIT: Also @ MediaFire in sig below this post in HOSTED Folder.

EDIT: 2x dll's, source + VS2008 project files + original source and dll.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 27th June 2020 at 12:30.
StainlessS is offline   Reply With Quote
Old 18th July 2019, 20:41   #47  |  Link
KreuzBlick
Registered User
 
Join Date: Jun 2012
Location: Germany
Posts: 20
Hi StainlessS,
many thanks for the quick processing. I have tested with my script, which was so slow under 32bit that a serious use was not possible. The function HShear occurres 46 times, since almost every scene has a different angle.
Quickly I tested the function HShear of the plugin Rotate_x64.dll under Avisynth+.
The result is fantastic: It works well, the script runs at an acceptable speed! That's a big step forward. I did not dare to dream it would happen so fast. I'm impressed.
The next few days I will do more tests and report.
KreuzBlick is offline   Reply With Quote
Old 26th June 2020, 19:28   #48  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by StainlessS View Post
v1.3.5, as v1.3.4, but recompile for v2.6 x86 & x64 (as original RGB32 & YV12 only).
StainlessS, I'm not sure what happened here but the latest version is 1.5.

Quote:
v1.5 2016/03/11
- Added support for differently subsampled planar formats.
- Added parameter "aspect".
- Changed processing of big angles (about 90) to be compatible with aspect, but it is more blurred now.

v1.4 2016/02/28
- Updated to vc2005. Upgrade to avisynth 2.6 (all planar formats).
Reel.Deel is offline   Reply With Quote
Old 26th June 2020, 20:50   #49  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Damn, looks like I used source 1.3.4 which I musta already had in archive.
I'll do it again.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 27th June 2020 at 16:58.
StainlessS is offline   Reply With Quote
Old 27th June 2020, 12:34   #50  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Rotate, v1.60 update.
See MediaFire in my sig below this post, HOSTED folder:- Rotate_25&26_x86_x64_dll_v1.6.0_20200627.zip
Also available for 30 days via sendSpace in sig.

v1.60, support
Avs 2.58, RGB32, YV12
Avs 2.60, YV16, YV24, YV411, Y8
Avs+ RGBP8 (8 bit only)

dlls for avs v2.58, v2.60 x86 and x64 + source + VS 2008 project files.

Rotate(45.0)


EDIT: Could probably do with some testing. [Prev version did not support v2.58]
EDIT: Above image is RGBP8.

EDIT: Test script
Code:
#Avisource("D:\Parade.avi")
Colorbars
script="""
    ang = (current_frame % 360).Float
    Rotate(ang)
"""
Scriptclip(script)
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 27th June 2020 at 12:58.
StainlessS is offline   Reply With Quote
Old 27th June 2020, 19:41   #51  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Thanks for the update StainlessS!
Reel.Deel is offline   Reply With Quote
Old 29th October 2023, 18:49   #52  |  Link
Rob105
Registered User
 
Join Date: Oct 2021
Posts: 43
Quote:
Originally Posted by StainlessS View Post
When overlaying one video over another video background color is very undesirable.

Here is example attached, orange box is a video i am rotating, over teal background, of course i can set a background color to teal as well to have no visible background. But that trick will not work when overlaying video over another video.

Could you please add option to make background transparent as opposed to black or any other color, e.g. adjustable background opacity option?

Attached Images
 

Last edited by Rob105; 29th October 2023 at 18:56.
Rob105 is offline   Reply With Quote
Old 29th October 2023, 19:38   #53  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by Rob105 View Post
When overlaying one video over another video background color is very undesirable.

Here is example attached, orange box is a video i am rotating, over teal background, of course i can set a background color to teal as well to have no visible background. But that trick will not work when overlaying video over another video.

Could you please add option to make background transparent as opposed to black or any other color, e.g. adjustable background opacity option?

You need to add a fully white mask:

Code:
# For RGB
a = ColorBars(width=320, height=240)
b = Version(pixel_type="RGB32").AddAlphaPlane(255).Rotate(33)
c = b.ExtractA()

Overlay(a, b, mask=c)

# For YUV
a = ColorBars(width=320, height=240, pixel_type="YUV420P8")
b = Version(pixel_type="YUV420P8").Rotate(33)
c = BlankClip(b, pixel_type="Y8", colors=[255]).Rotate(33).ColorYUV(levels="TV->PC")

Overlay(a, b, mask=c)
Note that if the mask is fully static, it will be faster to process just one frame.

Reel.Deel is offline   Reply With Quote
Old 30th October 2023, 19:24   #54  |  Link
Rob105
Registered User
 
Join Date: Oct 2021
Posts: 43
Thanks works great.

Quote:
Originally Posted by Reel.Deel View Post
Note that if the mask is fully static, it will be faster to process just one frame.
What exactly do you mean by that?
Rob105 is offline   Reply With Quote
Old 30th October 2023, 19:35   #55  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by Rob105 View Post
Thanks works great.

What exactly do you mean by that?
If angle and endangle are the same it means that the rotation is static (does not change over time). So in that case it will be faster to process just one frame for the mask, like so:

Code:
# For YUV
a = ColorBars(width=320, height=240, pixel_type="YUV420P8")
b = Version(pixel_type="YUV420P8").Rotate(33)
c = BlankClip(b, pixel_type="Y8", colors=[255], length=1).Rotate(33).ColorYUV(levels="TV->PC")

Overlay(a, b, mask=c)
For RGB, it would also be done this way.
Reel.Deel is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.