View Full Version : AvsPmod (Windows_x86) mod
gispos
21st October 2018, 15:57
I have adapted the program to my own needs. Maybe one or the other likes it.
Large Address Aware Flag is set (32bit version).
Version is based on vdcrim 2.5.1 bug-fix Version for "only one prefetcher allowed" see Doom9 Forum.
With modifications from pinterf (avisynth header V6)
--------------------------
Last Version 2.7.9.7
Changelog (https://github.com/gispos/AvsPmod/blob/GPo/changelog.txt)
Pre-Releases: https://drive.google.com/drive/folders/1I7yNkFLoYmOush5Olx-jT799GphKcSwX?usp=share_link
AvsPmod needs write permissions in its own directory. So please do not unzip into a system program directory!
--------------------------
Mouse button combinations (for the new users)
On video window:
- Press left and right click: changes zoom 100%, 200%
- Press left and use mouse wheel: changes the zoom
- Press Ctrl and double click on the video window increases the height a few pixels
- If tab change for mouse browse buttons selected, press Ctrl or move the mouse on the slider area and bookmark jump is used.
- When the mouse pointer is in the video slider area. Press Ctrl and use mouse browse buttons only trim editor marks would be selected
- When the mouse pointer is in the video slider area. Press Alt and use mouse browse buttons only bookmarks with title would be selected
On script window:
- Press left and right click: The # character is removed or added at the beginning of the selected lines
- If a boolean selected (True, False) the value does change
On slider window:
- If direct slider update enabled (only with preview filters), can then be deactivated by pressing Ctrl on slider move
On the status bar:
- A right click open a context menu for the video slider range
Furthermore:
- On the video slider right click to add or remove a bookmark
- Right click on a marked area in the video slider opens an area menu
- Right click on the play or frame step button opens a selection menu
- Standard functions for mouse middle button, browse buttons and the wheel can be set under Options.
Preview Filter:
- Are an essential part of AvsPmod. They allow near real-time display of filter parameter changes.
- Help > Preview filter example (readme)
GitHub:
https://github.com/gispos/AvsPmod/releases
https://github.com/gispos/AvsPmod
gispos
21st October 2018, 16:00
Last Version 2.1.0
Reads bookmarks saved with AvsPmod in avs script. Also reads a bookmarks list (cr.txt).
You can save the read as a stream, to open quickly with AvsPThumb.
Can send commands to AvsPmod.
GitHub:
https://github.com/gispos/AvsPThumb/releases
https://github.com/gispos/AvsPThumb
Forteen88
21st October 2018, 19:24
Thanks, but what's the difference compared to this version?
https://forum.doom9.org/showthread.php?p=1801766#post1801766
StainlessS
21st October 2018, 22:25
Thanks, but what's the difference compared to this version?
https://forum.doom9.org/showthread.php?p=1801766#post1801766
1488,
This is a perfect opportunity 4U2 do the comparison, and inform the other members about same.
Developers spend a long, long, long, time making it happen, and time is better spent having
someone else do comparison test, docs etc. [you would would not ask the chef to eat it for you].
EDIT:
Whatever a user spends on review, probably 1.0% of developer effort.
Forteen88
22nd October 2018, 12:29
1488,
This is a perfect opportunity 4U2 do the comparison, and inform the other members about same.
Developers spend a long, long, long, time making it happen, and time is better spent having
someone else do comparison test, docs etc. [you would would not ask the chef to eat it for you].
EDIT: Whatever a user spends on review, probably 1.0% of developer effort.I'm not a developer, so I thought s/he'd be more accurate in spotting the difference watching github maybe. And I'm not sure if this developer made a fork out of the AvsPmod that I linked to (that's why I mainly asked the question).
And yes, I appreciate what the developers do a lot, I wanted to be a developer myself once, but I discovered that it's VERY hard.
I even think that developers should have the salaries of lawyers (who got VERY high salaries), and the opposite.
EDIT2: Both this version & the version I linked here have the identical AvsPmod.exe x64-binary as Gispos mentioned here ("Version is based on 2.5.1 r452 bug-fix Version for "only one prefetcher allowed" see Doom9 Forum."), but I like that this version changed to
"- Change the checked status "Video > Play video > Drop frames" now at startup checked=False".
EDIT3: Although, StainlessShlomo, I think you got a stick up your a55 for another reason... You go cry because I want to preserve, and not liking genocide...
StainlessS
22nd October 2018, 16:37
- Error handling on AvsPmod x64: Error "FormatTime - %d cannot convert float" (only handling no fix) - avisynth returns NaN value, no idea how I can fix this
Post the offending line [+ a bit extra], perhaps someone here speaks Parceltongue. [EDIT: Maybe a divide by zero]
EDIT: Unfortunately, the Parceltongue Translator is currently offline:- https://www.adweek.com/galleycat/parseltongue-translator-released/34545
EDIT:
I wanted to be a developer myself once, but I discovered that it's VERY hard.
If you write your own avs scripts, you are half way there already.
The first programming language is the hardest one to learn, after that it becomes quite easy really.
gispos
22nd October 2018, 18:46
Thanks, but what's the difference compared to this version?
https://forum.doom9.org/showthread.php?p=1801766#post1801766
Sorry for the confusion, the base is the linked version. (AvsPmod v2.5.1-90-gfcd7a61 (Windows x86)
But that is also confusing, r452, 2.5.1 with and without bug fix and no release note in the code. Or I overread it.
Edit: @StainlessS, python declares NaN as 'not a number'
StainlessS
22nd October 2018, 22:14
@StainlessS, python declares NaN as 'not a number'
Yep, and 'NaN' (Not a Number) is often result of divide by zero.
gispos
23rd October 2018, 16:53
Yep, and 'NaN' (Not a Number) is often result of divide by zero.
You're right, but I had already tested this and passed zero and float to the function, no error.
So an uninitialized variable or a variable that does not consist of numbers will probably be transferred.
FranceBB
25th October 2018, 22:46
Since you are modifying AVSPmod, how about adding BT2020 / 2100 support?
That would be a real improvement.
color
26th October 2018, 09:25
I have two suggestions, One is to fix the bug (https://forum.doom9.org/showthread.php?t=175830) so the text error color could be changed for us who have problem with red and black. Also, I do got a logo and new symbols for the buttons in the program if you want to change. No need, I can post when I find them.
EDIT: Found them. I also made a few icons also.
Here Is some logos, I do like the donut alot, I tried to use the colors that was used original. :)
I got all files in better quality and larger in psd if you want to use. :P
old:
https://image.ibb.co/irXuRV/men1.png
new:
https://image.ibb.co/f2Y16V/men2.png
Look at the donut. :D
https://image.ibb.co/kuD16V/05.png
gispos
26th October 2018, 20:35
I love AvsPmod and I respect the developers, it took a lot of work and brain.
Since it has not been maintained for a long time, I had decided to adapt it to my needs.
But I do not want to rob the developers of their fruits of work and to make major changes to the program.
Changing icons is not an option for me. Sorry. I hope for understanding.
The question of BT 2020, 2100. Honestly, I know myself with color spaces, bit depth, etc. too little. I'm quite new to avisynth.:helpful:
I also hope that through my action the AvsPmod developers may be get desire to maintain the program.
As you can see there is interest.
regards,
Gisbert
color
27th October 2018, 08:31
Na, I get it. I just don't like the low resolution icon. That's why I made an update on it. But I agree to a bit off it. But I do think some things like changing it should be shown somehow by changing the look a bit so people know it's changed. =)
But if you can, please fix the color bug. =) I would love that. I have problem seeing red on black.
And yes. I hope it would be maintained as well. It's the best and only(?) For watching in real time. I wish there were one more option. =)
EDIT: The smileys didn't work when writing on my phone.
gispos
27th October 2018, 20:25
But if you can, please fix the color bug. �� I would love that. I have problem seeing red on black.
I honestly do not know where your problem is look for yourself.
Color for unknown function (Basic2)
Without changes
https://i.postimg.cc/FdNdfxR4/Unknown-Func.jpg (https://postimg.cc/FdNdfxR4)
With change to yellow
https://i.postimg.cc/gwvLk7Gs/Unknown-Func2.jpg (https://postimg.cc/gwvLk7Gs)
Show me some pictures
regards
color
27th October 2018, 21:56
Because its about the text in the "videobox" when there is an error. :) Otherwise it works perfect with the script with white background. Its just red on black background I have problem seeing. (well red on green is even worse, but thankfully its not the case)
https://thumb.ibb.co/mbvsGV/Sk-rmbild-466.png (https://preview.ibb.co/kqc6bV/Sk-rmbild-466.png)
gispos
27th October 2018, 22:41
see post #2
thanks
FranceBB
4th November 2018, 08:55
Could you add real high bit depth support instead of just stacked 16bit and interleaved 16bit?
For instance, I tried to use ColorBars 4:4:4 8bit and it shows yv24 correctly: Img (https://i.imgur.com/z7iXwQJ.png)
However, when I tried to convert it to 10bit, AVSPmod stopped showing "yv24" and it showed nothing instead. May I suggest adding the label "yuv44410p"? Img (https://i.imgur.com/r7VBbDj.png)
Same applies to other sampling and bit-depths.
Thank you in advance,
Frank.
gispos
9th November 2018, 23:38
update
Dreamland
10th November 2018, 21:57
wrong password..
please, help me! thx
https://i.postimg.cc/ThX5cfh5/Appunti01.jpg (https://postimg.cc/ThX5cfh5)
Groucho2004
10th November 2018, 23:41
Apart from the fact that the password is wrong - what's the point in password protecting a file and at the same time publicly posting the password?
Wait, I understand the logic now. Since the password is wrong, the file is protected. It all makes sense. Very clever. :rolleyes:
FranceBB
11th November 2018, 03:30
Apart from the fact that the password is wrong - what's the point in password protecting a file and at the same time publicly posting the password?
Wait, I understand the logic now. Since the password is wrong, the file is protected. It all makes sense. Very clever. :rolleyes:
ROTFL.
So the password is really wrong!
I thought it was the Antivirus installed in the computers of the company I work for that was somehow blocking it.
gispos
11th November 2018, 22:28
File is uploaded without password protection again.
I just wanted to show you my state of mind.
That's how it is.
But you can see how people even read. Hardly anyone even understood what was written there or did not read it. Funny.
FranceBB
12th November 2018, 03:08
File is uploaded without password protection again.
Thank you! :D
I tested the new version and I'm so glad that you took into account the changes I asked for (high bit depth support and BT2020 support), however I think there's something wrong with the display of BT2020.
This is how BT2020 is displayed: Link (https://i.imgur.com/SeV8C60.png)
This is how I think it should be displayed:
Link (https://i.imgur.com/12ZtNHw.png)
I encoded 100 frames in HEVC and I compared it by opening the file with MPV and it looked totally different.
gispos
13th November 2018, 21:47
I encoded 100 frames in HEVC and I compared it by opening the file with MPV and it looked totally different.
Have you sent a private message.
It's not 16bit (RGB48) display drawing, that's still 8bit (RGB32)
Edit:
Rec. 2020 defines a bit depth of either 10 bits per sample or 12 bits per sample.
I just read.
Well, Rec2020 will be removed.
This happens when you hunt in areas you do not know.:rolleyes:
preludium975
18th November 2018, 09:51
So is it support 64bit plugins?
pinterf
18th November 2018, 10:35
Once I was looking into Avspmod, it turned out that it still based on the old "baked code" Avisynth interface, which allocates and frees up an AVSValue on its own so it's like supporting avs 2.5 interface.
I had problems during avs+ development (when I wanted to introduce the array type to the syntax) because it was incompatible with avspmod, when avspmod invoked BlankClip, the provided parameters were freed up by both Avisynth and avspmod, thus the latter crashed of course. (Arrays did not go live - and they won't until there are plugins using the historical 2.5 interface)
So it would also be nice to have this part rewritten. I didn't have time to figure out how to build avspmod.
gispos
24th November 2018, 15:23
Once I was looking into Avspmod, it turned out that it still based on the old "baked code" Avisynth interface, which allocates and frees up an AVSValue on its own so it's like supporting avs 2.5 interface.
I have sent you a private message
Greetings
gispos
24th November 2018, 15:33
update
gispos
9th December 2018, 22:40
update and new tool post #2
FranceBB
9th December 2018, 23:24
update and new tool post #2
--------------------------
Version 2.5.1.16 [2018-12-08] GPo
--------------------------
- AvisynthPlus (pinterf) fork Neo r2822 compatible, added 'func' to avisynth value parsing
I use the official one provided by pinterf, I don't use the nekopanda fork, but thank you anyway. ^^
FranceBB
21st December 2018, 09:13
I just noticed that 16bit stacked and interleaved visualizations are broken.
They are still there, but when I click on them, it doesn't do anything, it keeps displaying 8bit data with MSB and LSB.
gispos
22nd December 2018, 00:28
I just noticed that 16bit stacked and interleaved visualizations are broken.
They are still there, but when I click on them, it doesn't do anything, it keeps displaying 8bit data with MSB and LSB.
Strange, it works for me.
Try a different version (not mine)
ChaosKing
22nd December 2018, 01:08
I saw this git issue: https://github.com/AvsPmod/AvsPmod/issues/13
Is VapourSynth support something you might add someday maybe?
I don't know if looked at this, but there is also a PR that imroves some high bit depth stuff. And this is the latest fork https://github.com/enccc/AvsPmod/commits/master. Just in case you missed it :)
gispos
22nd December 2018, 14:35
I saw this git issue: https://github.com/AvsPmod/AvsPmod/issues/13
Is VapourSynth support something you might add someday maybe?
I do not know what you mean by that. I can not add anything that avisynth does not support.
But if I understood it wrong: :)
Support for Vapoursynth ... a lot of work, not feasible for me, even if I wanted.
I don't know if looked at this, but there is also a PR that imroves some high bit depth stuff. And this is the latest fork https://github.com/enccc/AvsPmod/commits/master. Just in case you missed it :)
Thanks for the link.
Have just checked the relevant places in the code and found no differences. So my base code is based on the latest version. :)
pinterf
22nd December 2018, 14:43
Which one is your git repository?
FranceBB
23rd December 2018, 02:46
Strange, it works for me.
Try a different version (not mine)
My bad, it works on my home computer, but not in the one I have at the office (sadly, it's definitely something blocked by group policy).
Never mind ^^
gispos
23rd December 2018, 23:11
Which one is your git repository?
My base code source?
https://forum.doom9.org/showthread.php?p=1801766#post1801766
pinterf
23rd December 2018, 23:50
No, I thought you forked the project and use git for source control, and did not know which fork is yours.
gispos
24th December 2018, 23:12
No, I thought you forked the project and use git for source control, and did not know which fork is yours.
I thought too far.:)
Hm, I do not have a git repository, I have to think about it.
My last source code:
https://www114.zippyshare.com/v/Ltry3mrZ/file.html
This will be version 2.5.1.17 which is not yet published.
All relevant changes from me are only in the files:
avsp.py and pyavs.py
Happy Holidays to all!
Danette
25th December 2018, 19:15
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?
ChaosKing
25th December 2018, 23:09
A link to your checkmate plugin would be nice, so we can test it too.
gispos
25th December 2018, 23:09
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 (https://github.com/tp7/checkmate/releases) 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.
https://i.postimg.cc/0MZh6G2q/checkmate.jpg (https://postimg.cc/0MZh6G2q)
pinterf
26th December 2018, 09:07
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.
gispos
26th December 2018, 17:50
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.
pinterf
30th December 2018, 20:23
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
31st December 2018, 16:56
@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!
FranceBB
31st December 2018, 18:19
Once again: well done, Ferenc!
I look forward to test it!
Happy new year, everyone! :D
pinterf
2nd January 2019, 13:37
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/17n2vrsMRBbFVSo7JYZJdL0znoB-_j6ih/view?usp=sharing
x64: https://drive.google.com/file/d/1cqPMsKRJERvJpa0I2_Gyy9G4KFDP5YQi/view?usp=sharing
gispos
2nd January 2019, 22:51
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/17n2vrsMRBbFVSo7JYZJdL0znoB-_j6ih/view?usp=sharing
x64: https://drive.google.com/file/d/1cqPMsKRJERvJpa0I2_Gyy9G4KFDP5YQi/view?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
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
#GPo, @PF not working on py2.7, Error(arg 1 must be string or..)
#~exec (macrotxt in self.macroVars, {})
pinterf
3rd January 2019, 09:04
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.
I found a small mistake in avsp.py line #15487
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.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.