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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th December 2018, 23:09   #41  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
A link to your checkmate plugin would be nice, so we can test it too.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 25th December 2018, 23:09   #42  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Quote:
Originally Posted by Danette View Post
Excellent update!

However, I am encountering an error that I did not with the older version. As soon as I open AvsPmod, I receive a box that states: error parsing plugin string at function "checkmate"

Any idea why this is happening?
Thank you.

I just dumped checkmate.dll into my plugin folder.

No error received at startup.

Maybe an old AvsPmod filter database (filterdb.dat) or
self created parameters in the function definitions (see picture)

Time to unpack the new version completely in a directory and then start it.

__________________
Live and let live
gispos is offline   Reply With Quote
Old 26th December 2018, 09:07   #43  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by gispos View Post
I thought too far.
Hm, I do not have a git repository, I have to think about it.
Thanks, then I'll wait a bit.

Imagine, now if I'd fork the original AvsPMod, and copy in your current source and commit it back, it will appear on github under my name, because you made those modifications "offline". Using github not only keeps the who-made-and-what history of the source in order (through the properly arranged and documented commits) but makes the teamwork possible.

It can also be used to host the assembled releases - and github is even automatically snapshotting the actual source code.
pinterf is offline   Reply With Quote
Old 26th December 2018, 17:50   #44  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Quote:
Originally Posted by pinterf View Post
Thanks, then I'll wait a bit.

Imagine, now if I'd fork the original AvsPMod, and copy in your current source and commit it back, it will appear on github under my name, because you made those modifications "offline". Using github not only keeps the who-made-and-what history of the source in order (through the properly arranged and documented commits) but makes the teamwork possible.

It can also be used to host the assembled releases - and github is even automatically snapshotting the actual source code.
Have you sent a private message.
__________________
Live and let live
gispos is offline   Reply With Quote
Old 30th December 2018, 20:23   #45  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Thanks, I'm halfway on porting to interface version V6 (which includes Avs+ new functions).
Big success though, because x64 now works, and I think it's even a bit ahead of the x86 version.
Please check it, you have a broader view on the whole AvsPMod project.

One have to know that in this branch avxsynth (a former avisynth variant for linux) will probably not supported.
Neither will this branch support Avisynth versions with interface version less than 6, practically AvsPMod needs classic Avisynth 2.6 or Avisynth+.
But I think this is not a huge problem nowadays.

Things to solve on my part: look into the x86 part, which is not moved to interface V6. As we don't want to support Avs+ exclusively.
So I have to solve that those functions which do no exist on classic Avisynth, those functions should silently fallback to a compatible call. E.g. "is_yuv444" would not crash on classic avisynth, but fall back to the existing "is_yv24".
I think if that works, the core functions can be updated with the high bit depth stuff.

I was also experimenting with trying to use a bit newer environment (use Python 3.7 instead of 2.7, wxWidget 4.x instead of 2.8/3.0.2).
I have not succeeded, the exe compiler (py2exe) should be changed because its development has been stopped and it does not support Python 3.7.
pinterf is offline   Reply With Quote
Old 31st December 2018, 16:56   #46  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
@gispos: Update: probably finished with the x86 part, Avisynth+ specific functions can be used freely. I'm using a similar automatic fallback mechanism as I used in the C++ avisynth interface.

For example avs_is_444 will call avs_is_yv24 instead, avs_bits_per_component will always return 8 for classic Avisynth.
So the non-existant Avisynth+ extensions are simulated, they won't crash on classic Avisynth.
is_444, is_422, is_420, is_y, bits_per_component, num_components, component_size, is_planar_rgb, is_planar_rgba, is_yuva, is_rgb48, is_rgb64

Status of the x64 part: the code is working, but the Avisynth+ specific things I just made now for x86 are missing there, I hope it can be done during the next some days.
Yet I won't start a pull request on git immediately, just after you say it's really usable

Happy New Year!
pinterf is offline   Reply With Quote
Old 31st December 2018, 18:19   #47  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Once again: well done, Ferenc!
I look forward to test it!

Happy new year, everyone!
FranceBB is offline   Reply With Quote
Old 2nd January 2019, 13:37   #48  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
test-test-test
Warning: not a release (I will have no releases, just did the background C interface things and nothing more, and leave the project back for gispos master).
Just please try it to see that they work for you (=no freeze) to sort out obvious bugs when calling the new interface functions. Error messages shown are welcomed - or not

In theory x86 should work for both Avs+ and classic Avisynth 2.6.0.5
x64 should work for Avisynth+

x86: https://drive.google.com/file/d/17n2...ew?usp=sharing
x64: https://drive.google.com/file/d/1cqP...ew?usp=sharing
pinterf is offline   Reply With Quote
Old 2nd January 2019, 22:51   #49  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Quote:
Originally Posted by pinterf View Post
test-test-test
Warning: not a release (I will have no releases, just did the background C interface things and nothing more, and leave the project back for gispos master).
Just please try it to see that they work for you (=no freeze) to sort out obvious bugs when calling the new interface functions. Error messages shown are welcomed - or not

In theory x86 should work for both Avs+ and classic Avisynth 2.6.0.5
x64 should work for Avisynth+

x86: https://drive.google.com/file/d/17n2...ew?usp=sharing
x64: https://drive.google.com/file/d/1cqP...ew?usp=sharing
Hello Ferenc,
I follow your changes already a few days, but I was not at home, sorry for the late reply.

Very nice, and also the comments are very helpful.
I'm about to apply your changes to my next version, and have also successfully created an x32 version.
This version contains all your recent changes, but must first take a look at everything.

And for Information:
I do not want to hinder the project, so I do not mind if you create your own releases.
It's finally 'open source'

I found a small mistake in avsp.py line #15487
Code:
if debug_stats:
    print ('speed_factor: {0}, required_interval: {1} '\
          'interval: {2} interval_factor: {3}'.format(
          self.play_speed_factor, interval0, interval, factor))
    self.increment = 0
    self.previous_time = self.play_initial_time

    self.play_timer_id = self.timeSetEvent(interval,
    self.play_timer_resolution, self.callback_c, factor, periodic)

Correctly:
if debug_stats:
    print ('speed_factor: {0}, required_interval: {1} '\
          'interval: {2} interval_factor: {3}'.format(
          self.play_speed_factor, interval0, interval, factor))
    self.increment = 0
    self.previous_time = self.play_initial_time

self.play_timer_id = self.timeSetEvent(interval,
    self.play_timer_resolution, self.callback_c, factor, periodic)
Greetings Gisbert
and a happy new year to all

Edit:
Yes I just created an x64 version.
Had previously tried with all sorts of avisynth.h versions ... with your modifications, it finally works.
Thanks!

I changed it back to the old code
Quote:
#GPo, @PF not working on py2.7, Error(arg 1 must be string or..)
#~exec (macrotxt in self.macroVars, {})
__________________
Live and let live

Last edited by gispos; 3rd January 2019 at 03:25. Reason: Edit
gispos is offline   Reply With Quote
Old 3rd January 2019, 09:04   #50  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by gispos View Post
And for Information:
I do not want to hinder the project, so I do not mind if you create your own releases.
It's finally 'open source'
Yep, true, open source, but it means open co-work rather than open competition. In this small world it is healthier to have a single chief project maintainer at a time, unless our targets are completely different which is not the case. And I'm more interested in the background things and engines rather than in GUI.

Quote:
Originally Posted by gispos View Post
I found a small mistake in avsp.py line #15487
Code:
    self.play_timer_id = self.timeSetEvent(interval,
    self.play_timer_resolution, self.callback_c, factor, periodic)
Correctly:
self.play_timer_id = self.timeSetEvent(interval,
    self.play_timer_resolution, self.callback_c, factor, periodic)
Oh, those indentation-based blocks I didn't use Python previously, there were quite a few surprises for me.
pinterf is offline   Reply With Quote
Old 4th January 2019, 20:54   #51  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 447
Bookmarks to Chapter is broken now.
Using higher* wxWidget version than the default one breaks the field where you manually enter the frame number (bottom left) - if you enter once a frame number, there is no problem, but the next time you try, it's already broken.

* - If I remember correctly > 2.9 breaks it.

Thanks for your and @gispos work.

Is it possible a option Video - YUV -> RGB to remember what I set? I set BT.709 and after a restart the option is Resolution-based again.
StvG is offline   Reply With Quote
Old 4th January 2019, 22:09   #52  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Thanks, yes, my idea of using wxWidget over 2.8 caused gispos some grey hairs, he had already reverted it meanwhile.
pinterf is offline   Reply With Quote
Old 6th January 2019, 03:29   #53  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,345
Thanks for the improvements , and keeping the project alive

Just a cosmetic typo on both pftest1 x86,x64 ; video=>bith depth should be "bit depth"
poisondeathray is offline   Reply With Quote
Old 6th January 2019, 05:07   #54  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Quote:
Originally Posted by poisondeathray View Post
Thanks for the improvements , and keeping the project alive

Just a cosmetic typo on both pftest1 x86,x64 ; video=>bith depth should be "bit depth"
In the next release, if I do not forget it.

Yes I am back on wx version 2.8, with the version 3 there were only problems. For further tests, I have no time at the moment.
New version is uploaded. See first post.
__________________
Live and let live
gispos is offline   Reply With Quote
Old 6th January 2019, 05:16   #55  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Gispos,
I dont like AvsPMod (Never have) but its lovely to see someone taking over from vdcrim, its a very brave effort on your behalf.
(I dont like the way it modifies my scripts, and I have to keep changing them back again).
Also, with a bit of the monster that is Pinterf, assisiting you, I'm sure that it will be well good

Again, thanks for expending your time.

EDIT: Would it be a big task to mod to v3,0 Python (from v2.7 or whatever),
would probably be a big advantage (with others to maybe assist), if not using the older 2.7 snakey stuff.
__________________
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; 6th January 2019 at 05:22.
StainlessS is offline   Reply With Quote
Old 6th January 2019, 05:52   #56  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Quote:
Originally Posted by StainlessS View Post
Gispos,
I dont like AvsPMod (Never have) but its lovely to see someone taking over from vdcrim, its a very brave effort on your behalf.
(I dont like the way it modifies my scripts, and I have to keep changing them back again).
Also, with a bit of the monster that is Pinterf, assisiting you, I'm sure that it will be well good

Again, thanks for expending your time.

EDIT: Would it be a big task to mod to v3,0 Python (from v2.7 or whatever),
would probably be a big advantage (with others to maybe assist), if not using the older 2.7 snakey stuff.
I do not understand that now.
The scripts are not changed by AvsP. Or did not I understand you correctly?

Higher python version:
I've already written that AvsP was the first program I touched with python.

I do not know how it is on newer versions, but Python is a pain for me. I do not want to continue here, but it is and remains a script language for which there is no reasonable IDE.
At least I do not know any, I use PyScripter for Python and the syntax check is for the ass.

Well, first of all, I'm not really good with python, and I do not like it either.
Have already thought about a separate project with Delphi ... but that is probably a lot of work ... I think that's too much for me. At least for the moment.

Greetings
__________________
Live and let live
gispos is offline   Reply With Quote
Old 6th January 2019, 06:03   #57  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Well from Python 2.7 to Python 3.0, I believe the main diff is the print statement[becomes a function in v3.0], not really too big a difference (see x in y minutes web page for differences)
x in y minutes:- https://learnxinyminutes.com/

I have eg a script that calls a file selector to get a filename from user, On return AvsPMod actually changes my script and embeds to chosen filename in script, making the purpose of the script, useless (Ie file sector no longer works proper).
I have no idea whatever how AvsPMod does what it does (to screw up my scripts). I just know that it does.
Most people love AvsPMod, but if you are a script developer, and have to un-fuck what the AVSPMod thing does EVERY TIME, then its a bit not nice.

EDIT: I think this is one of the ones that causes probs (from RT_Stats), [EDIT: It actually modifes the source script, go figure]
Code:
avi = RT_FSelOpen("Please select an AVI file",Filt="*.AVI|*.AVI")
Assert(avi.IsString,"RT_FSelOpen: Error="+String(avi))
AVISource(AVI)
txt = RT_FSelOpen("And now select a Text file",Filt="*.txt|*.txt")
Assert(txt.IsString,"RT_FSelOpen: Error="+String(txt))
Txt=RT_ReadTxtFromFile(txt)
Lines=RT_TxtQueryLines(Txt)
# config
DELAY=100
ALIGN=1			# As Numeric KeyPad
SCROLL=0		# 0 = Upwards : 1 = Downwards : 2 = Right to Left : 3 = Left to right : 4 = Karaoke
#
ORG=Last
Last=(SCROLL==4)? ORG.Blankclip(height=80) : Last
CMD_0 = """RT_Subtitle("%s",Txt,align=ALIGN,y=height+DELAY-current_frame,expx=true,expy=true)"""
CMD_1 = """RT_Subtitle("%s",Txt,align=ALIGN,y=-(Lines*20+DELAY) + current_frame,expx=true,expy=true)"""
CMD_2 = """RT_Subtitle("%s",Txt,align=ALIGN,x=width+DELAY-current_frame,expx=true,vcent=true)"""
CMD_3 = """RT_Subtitle("%s",Txt,align=ALIGN,x=-(width+DELAY)+current_frame,expx=true,vcent=true)"""
CMD_4 = """RT_Subtitle("%s",Txt,align=ALIGN,y=height+DELAY-current_frame,expx=true,expy=true)"""
CMD_5 = """RT_Subtitle("BAD SCROLL COMMAND (0->4)")"""
CMD = (SCROLL<0 || SCROLL>4) ? CMD_5 : Select(Scroll,CMD_0,CMD_1,CMD_2,CMD_3,CMD_4)
ScriptClip(CMD)
Return (SCROLL==4)? StackVertical(ORG,Last) : Last
EDIT: Dont know how it does it, really clever actually, but is unwanted, and detrimental.
__________________
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 February 2020 at 03:19.
StainlessS is offline   Reply With Quote
Old 6th January 2019, 06:52   #58  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
@StainlessS, if I copy your example then should it work? Will try it with AvsP.

Test:



I completely forgot.
This is my preliminary 'Dark Color Style' for the editor.
Move the file to the program folder of AvsP and load it in the Options menu (Load font and color backup'.
Can anyone even make the fine tuning.
Attached Files
File Type: 7z backup_style.7z (915 Bytes, 144 views)
__________________
Live and let live

Last edited by gispos; 6th January 2019 at 07:28.
gispos is offline   Reply With Quote
Old 6th January 2019, 18:01   #59  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 447
Quote:
Originally Posted by gispos View Post
In the next release, if I do not forget it.

Yes I am back on wx version 2.8, with the version 3 there were only problems. For further tests, I have no time at the moment.
New version is uploaded. See first post.
wx version 2.8 - when you zoom more than 4x, the preview has the right and bottom edge cut. It could happen 7x is ok, but 6x/8x are cut. It's valid for every step more than 4x.
With higher wx version that problem is gone but there is another.
StvG is offline   Reply With Quote
Old 6th January 2019, 18:43   #60  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,345
Request: would it be possible to improve the %RGB %YUV values for pixel sampler (mouse pointer) for additional pixel formats RGB=(R,G,B) , YUV=(Y,U,V)

The video status message bar correctly displays additional pixel formats (eg. YUV422P10, etc...), it would be a nice addition to display those values correctly (currently 8bit 0-255 only)
poisondeathray 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:41.


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