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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 14th November 2013, 09:56   #281  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by andybkma View Post
Greets, can Avisynth+ also be used also for realtime script post processing with ffdshow raw filter? Reason being, I swapped out the dll file with the + version and now I get a conflict with mVR which didn't happen before when using the "official" 2.6.0 Alpha 5 avisynth.dll file.

The problem is that I get an error code: "madVR reports: resetting Direct3D device failed 8876017c" when coming out of mVR Fullscreen Exclusive Mode back into window mode after playing a video in FSE for more that 10minutes or thereabouts. Not sure what the cause is, all I know is that it happens when using the avisynth+ dll file and not with the official. Just thought I would let you know. Cheers

AviSynth+ 2013.10.16 + mVR Deband 14 version
Hi!
Yes, Avisynth+ should work fine for that, just like Avisynth did. In fact, I'm often using MPC-HC+ffdshow raw renderer for my own visual tests, so I know for sure you can use it that way for real-time processing. The only difference is I'm not using madVR, but I don't see yet how the changes in Avisynth+ compared to classic Avisynth could cause a Direct3D issue with the renderer.

If you are really sure it is caused by Avisynth+, I'll try to reproduce it when I finish working on threading, then I'll be able to tell more. Until then can you please enter it as a bug report on GitHub so that I won't forget it?

Last edited by ultim; 14th November 2013 at 09:58.
ultim is offline  
Old 14th November 2013, 12:55   #282  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 2,306
I have a small avisynth.h change request. Feel free to ignore it if you're not going to break the ABI when going 64bit.

Would it be possible to extend VideoFrame:: offset, offsetU and offsetV to be a 64 bit type (such as ptrdiff_t)?

This would make wrapping to VapourSynth internals possible for the 64 bit ABI.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline  
Old 14th November 2013, 17:19   #283  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by Myrsloik View Post
I have a small avisynth.h change request. Feel free to ignore it if you're not going to break the ABI when going 64bit.

Would it be possible to extend VideoFrame:: offset, offsetU and offsetV to be a 64 bit type (such as ptrdiff_t)?

This would make wrapping to VapourSynth internals possible for the 64 bit ABI.
Hi, I have already wanted to make such and similar changes on many occasions, but I resisted, because I really want to keep full ABI compatiblity to existing 64-bit plugins. When the interfaces get updated though, you can be sure that the new interface will use such types. But not in avisynth.h though.
ultim is offline  
Old 14th November 2013, 23:09   #284  |  Link
osgZach
Registered User
 
Join Date: Feb 2009
Location: USA
Posts: 680
I have to say I commend your dedication to this effort and I wish you lots of success. I will be watching this (fork?) with interest.
osgZach is offline  
Old 15th November 2013, 00:22   #285  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 140
So last post was not funny enough, Ultim I am referencing to your desire of modernize the Avisynth into new era so since AVI is kinda oldish video container format (who uses it anymore?) why not Ultim change your Avisynth+ name into more modern name Like Videosynth or Mediasynth or let say Mediaframer or similar more universal name for supporting more modern HD video container formats and the age we live in 2013 where no AVI's anymore?

Last edited by Jeroi; 15th November 2013 at 00:35.
Jeroi is offline  
Old 15th November 2013, 00:25   #286  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by Jeroi View Post
So last post was not funny enough, since AVI is kinda oldish video container format (who uses it anymore?) why not Ultim change your Avisynth+ name into more modern name Like Videosynth or Mediasynth or let say Mediaframer or similar more universal name for supporting more modern HD video container formats?
It's a fork of Avisynth, hence the name. And BTW Avisynth supports modern HD container formats quite fine.
Guest is offline  
Old 15th November 2013, 00:28   #287  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 140
Quote:
Originally Posted by neuron2 View Post
It's a fork of Avisynth, hence the name. And BTW Avisynth supports modern HD container formats quite fine.
You obviously missed the point hence there where that reference call in that last post.
Jeroi is offline  
Old 15th November 2013, 01:31   #288  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,435
Could we not continue with this discussion please?
ryrynz is offline  
Old 15th November 2013, 16:04   #289  |  Link
andybkma
Registered User
 
Join Date: Sep 2006
Posts: 183
Quote:
Originally Posted by ultim View Post


If you are really sure it is caused by Avisynth+, I'll try to reproduce it when I finish working on threading, then I'll be able to tell more. Until then can you please enter it as a bug report on GitHub so that I won't forget it?
Yep, definitely sure as I just reproduced it again. Don't know what a github is though I am sure if the bug is important to you you won't forget about it ;-)
andybkma is offline  
Old 15th November 2013, 16:07   #290  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,349
I dont know what a github is either but, see here, https://github.com/pylorak/avisynth

looks like you need to access 'issues' on Right Hand Side of page to give a bug report.
__________________
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; 15th November 2013 at 16:15.
StainlessS is offline  
Old 15th November 2013, 16:13   #291  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,349
Although if you go to above link and click on "New Issue", you get a "404, This Is Not The Page You Were Looking For"
type error message, ie it dont work.
__________________
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; 15th November 2013 at 16:20.
StainlessS is offline  
Old 15th November 2013, 16:38   #292  |  Link
ajp_anton
Registered User
 
ajp_anton's Avatar
 
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 792
Quote:
Originally Posted by ajp_anton View Post
Feature request: allow comments on split lines, like this:
filter(argument 1 #comment
\, argument 2)
Another closely related request:

Example:

function1()
#\.function2()
\.function3()

allow commenting out the middle line for easy temporary removal of the middle function. /**/ commenting just isn't very practical...
The previous request would allow for a
\#.function2()
comment, but commenting out the full line including the \ would make life even better =).
ajp_anton is offline  
Old 15th November 2013, 17:52   #293  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by andybkma View Post
Yep, definitely sure as I just reproduced it again. Don't know what a github is though I am sure if the bug is important to you you won't forget about it ;-)
I entered it into the bugtracker: https://github.com/pylorak/avisynth/issues/11

StainlessS: @404, That's becasue you weren't logged in?

ajp_anton: Got it, it will be handled together with your previous request.
ultim is offline  
Old 16th November 2013, 11:18   #294  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,349
Quote:
Originally Posted by ultim View Post
StainlessS: @404, That's becasue you weren't logged in?
Thank you Ultim.
I actually tried it to see if you needed to be register to give bug report, the 404 made me think that it was not a registration issue.
(EDIT: With that error code, I would not have bothered to register if wanting to report an error, as it looked pointless if the site did not work)
__________________
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; 16th November 2013 at 11:25.
StainlessS is offline  
Old 19th November 2013, 04:12   #295  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
Quote:
Originally Posted by StainlessS View Post
I actually tried it to see if you needed to be register to give bug report, the 404 made me think that it was not a registration issue.
(EDIT: With that error code, I would not have bothered to register if wanting to report an error, as it looked pointless if the site did not work)
Good news: this is fixed now.
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth
TurboPascal7 is offline  
Old 23rd November 2013, 19:57   #296  |  Link
zero9999
Registered User
 
Join Date: Oct 2011
Posts: 52
In preparation for the upcoming release, we are in need of a few translated strings for the AviSynth+ installer. If you want to help, please check out this pad

Edit: an in case you want to be credited, please leave your name here, because apparently the pad doesn't save the authors names after they close the window...

Last edited by zero9999; 23rd November 2013 at 21:20.
zero9999 is offline  
Old 24th November 2013, 17:09   #297  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Hooray, we've got a couple of announcements to make. All good ones

A new release
Yes we have a new release and a cool one that brings full 64-bit functionality. But here's the semi-detailed changelog.
- A small number of bugs that were regressions compared to classic AviSynth have been fixed. This includes a bitblt copy error, and a script evaluation error that made it necessary to explicitly give the „last“ clip as input to some rare filters. It was discovered on animate(), but it might not have been the only one. The 64-bit version also had non working versions of Amplify(DB), Normalize, and MixAudio, which should be fixed now.
- tp7 and innocenat have finished porting all built-in filters to compiler intrinsics. This is a truly great accomplishment not only becasue it gives us a fully working 64-bit version, but the previous assembly code (which is now gone) was a large obstacle in reaching linux/osx compatibility too. We are still not cross-platform, but their work has brought us a large step closer. Not to mention it also allowed us to get rid of the SoftWire library, which brought down the binary size by 50% (though you might not see this if you compare it to UPX'd versions). I should probably also underline how much work this has been for them, they updated like 19.000 lines of code!
- As yet another consequence of tp7's and innocenat's work, the speed of many internal filters has greatly increased, in some cases 150% or more.
- There is now a shiny new installer. After qyot27's installer update for AviSynth+, line0 brought it another step further and has rewritten the old AviSynth installer from scratch. Compared to the old installer, you not only get a nicer graphical look, but also comprehensive migration options from classic AviSynth too, as well as unified x86/x64 support. Line0 is also working on high-res icons. This is still work in progress, but you can see preliminary results in the installer's icon.

Last but not least, we give special thanks to a random stranger* (see EDIT) who has pioneered in introducing Pig Latin translations to the software world. His work is unfortunately not yet included due to purely technical reasons, but I'm sure that many will appreciate his contribution when we finally do, especially native speakers of Pig Latin.

Homepage and IRC
Also kind of important news is that AviSynth+ now has a homepage, reachable under avs-plus.net. It is hosted by GitHub and is a bit minimalistic right now, but for sure a better landing page than GitHub's repository dump. There is also a new #avs-plus channel on Rizon for all IRC lovers, and in addition to this forum, you are welcome to influence development of AviSynth+ there too.

And the googly master plan
… is to involve even more people in AviSynth's future. The past weeks have proven to me that I'm far from alone caring for AviSynth, but there are still quite a number of items on AviSynth+'s wish-list, so there is a little thing I'd like to do: enter AviSynth+ into Google Summer of Code as a mentoring organization. GSoC is a wonderful opportunity, as it would not only help in code development, but would spread the word of AviSynth, and give us even more feedback thanks to the larger exposure. I also think it is a fun and rewarding task for students to work on multimedia processing, not to mention they'd even get compensated by Google this time. So we're counting on you, whether it is ideas or volunteering for being a mentor for the project (yes we're looking for mentors, all are eligible that have previously written code or plugins for AviSynth). Also let us know if you're not wishing to get directly involved, but you've got previous experience with GSoC and got a few tips and pointers for us.

Help us spread the word, and live long and prosper.

EDIT: __ar apparently wasn't involved. So we don't know who to thank.

Last edited by ultim; 24th November 2013 at 20:31.
ultim is offline  
Old 24th November 2013, 17:42   #298  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 140
I just can't say more than thank you guys. In one day we may have unix native avisynth.
Jeroi is offline  
Old 24th November 2013, 17:53   #299  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by Jeroi View Post
In one day we may have unix native avisynth.
There already is one: avxsynth.

http://forum.doom9.org/showthread.php?t=164386

Last edited by Guest; 24th November 2013 at 18:01.
Guest is offline  
Old 24th November 2013, 21:53   #300  |  Link
TurboPascal7
Registered User
 
TurboPascal7's Avatar
 
Join Date: Jan 2010
Posts: 270
A few notes on the porting effort, asm and future plans.

1) Myrsloik did not lie - a lot of asm in the core was quite terrible. We actually had to remove HorizontalReduceBy2 YUY2 ISSE implementation because it was slower than the C code. There were some quite good MMX routines though (SSE2 was awful everywhere but resizers). Resizers were good.

2) As mentioned in the first pull request, the general rule was "not slower than original on Nehalem+ CPUs". We did not test on any older CPUs. Expect performance to get a bit worse on Pentiums and I'm not sure about some memory-bound filters on Core 2. Please report if you experience a noticeable performance drop in the core filters on Core 2 level CPUs. We will not be spending a lot of time optimizing for pre-Nehalem CPUs though.

3) All filters now have C versions so you can run them on super ancient CPUs. It will also help non-x86 platform support.

4) All filters now have SSE2 versions. This for example means up to two times faster TemporalSoften. Some also got SSSE3 and SSE4.1 optimizations. You can find which one in the commit messages of the pull requests.

5) There are some behavior changes: TemporalSoften mode 1 is removed, mode parameter is simply ignored. Blur MMX parameter and Tweak SSE parameter are also ignored.

6) MMX optimization routines are dropped if there is a faster ISSE version. This affects only a few filters and some extremely old CPUs.

7) Code from FTurn is now integrated into the core (with some additional optimizations and new RGB32 routines), making the plugin obsolete.

8) We did not port MMX code of any audio filters. We won't do this any time soon, feel free to contribute.

9) Resizers are implemented as VerticalResizer().Transpose().VerticalResizer().Transpose() instead of two separate routines for vertical and horizontal resizing. Some rounding differences are possible, although not noticeable. This improves performance in most test cases and simplifies implementation quite a bit.
YUY2 resizer is also implemented as ConvertToYV16().Resize().ConvertToYUY2(). This does not affect performance in any way on the CPUs we were working on. Conversion is lossless and extremely fast.

Speaking of YUY2: support of this color format will be dropped in all external filters we port. We don't have unlimited time or will to work on something that no one uses. You can always process YUY2 with planar filters by converting to YV16 and back.

Now, what next's? Our part of the team will be slowly improving useful external filters to make them work with MT and other platforms in the future. Feel free if you want to help, but please write about it beforehand so we don't end up porting the same filter twice.

Also, I'd like to hear if any of the authors are willing to update their plugins themselves. This includes future MT registration, inline asm removal and later - other platforms support.

EDIT: A note for ICL users. In our tests, ICL14 tends to generate slower code for some filters, e.g. resizers. You might want to check it before publishing any dlls (which I still recommend you NOT to do). I don't know if the same applies to older versions and I don't know what's the older version you can compile avs+ with. For VS it's vc100 right now (2010).
__________________
Me on GitHub | AviSynth+ - the (dead) future of AviSynth

Last edited by TurboPascal7; 25th November 2013 at 00:06.
TurboPascal7 is offline  
Closed Thread

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 06:31.


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