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 22nd September 2011, 19:12   #41  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
Code:
    * Version 0.24.1:
        binary:
            - updated libass to current git HEAD
            - switched Harfbuzz to libass’ compatibility branch
            - compiled Harfbuzz without Uniscribe backend
              fixes lots of crashes and misbehavior
Just a quick update. Most of the bugs that appeared after 0.22 should be fixed by that.

Download
lachs0r is offline   Reply With Quote
Old 20th April 2012, 08:51   #42  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
Code:
* Version 0.25:
        - code restructured
        - added support for the BT.709 color space and the “Video Colorspace”
          property that has been introduced with recent versions of Aegisub.
        binary:
            - updated everything, switched to MinGW-w64
              (same toolchain as mplayer2 now)
It's also on GitHub now, in case anyone wants to improve my crappy code.

Download
lachs0r is offline   Reply With Quote
Old 20th April 2012, 15:08   #43  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
Thx, but has a final agreement been reached on how to add "Video Colorspace"/color correction info to ASS scripts? I think ASS renderers should hold on implementing these until a final decision has been made. From the discussions on the xy-vsfilter google code site (issue 40), it seems that this may be subject to change until Aegisub 3.0.0 stable is released.
sneaker_ger is offline   Reply With Quote
Old 20th April 2012, 17:47   #44  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
Well, this is just used for convenience in an attempt to automatically choose the correct color space for the video, and it’s trivial to change too. AssRender will just follow whatever Aegisub is doing.

It’s is much more important for playback software, but there the right way to go is to stop rendering the subtitles onto the video surface and instead handle the subtitles separately, without requiring color space conversion or scaling (like what mplayer2 is doing in its EOSD code with renderers that support it, e.g. gl, gl3, direct3d and vdpau), which eliminates the issue entirely.
lachs0r is offline   Reply With Quote
Old 20th April 2012, 17:59   #45  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
Quote:
Originally Posted by lachs0r View Post
Well, this is just used for convenience in an attempt to automatically choose the correct color space for the video, and it’s trivial to change too. AssRender will just follow whatever Aegisub is doing.
It's just that this tag may be removed or changed until the Aegisub stable release (ETA 1-2 months), so we don't want anyone to actually adopt it at this point in time.

Quote:
Originally Posted by lachs0r View Post
It’s is much more important for playback software, but there the right way to go is to stop rendering the subtitles onto the video surface and instead handle the subtitles separately, without requiring color space conversion or scaling (like what mplayer2 is doing in its EOSD code with renderers that support it, e.g. gl, gl3, direct3d and vdpau), which eliminates the issue entirely.
Yes, rendering directly in RGB would be best. I don't know if you have read the google page I mentioned, but the majority of those involved in the discussion (basically everyone but me), thinks that we should stay compatible with current vsfilter standalone, which always does RGB->YUV using BT.601. People worked around that limitation by skewing colors away from RGB to make vsfilter display the desired colors correctly even on e.g. BT.709 video. I don't know if you have any contact to the Aegisub devs, but if that discussion is publicly (IRC logs?) available I'd ask you to point me to it, as I'm very interested in the outcome and the arguments.


Anyways, assrender 0.25 does not work correctly at this point. To emulate vsfilter behavior (and the definition of the current "Video Colorspace" tag) one would have to set "Video Colorspace" to "BT.601", but this results in totally wrong colors at the moment. It would be better to revoke that feature for the time being.
sneaker_ger is offline   Reply With Quote
Old 20th April 2012, 23:13   #46  |  Link
natt
Registered User
 
Join Date: Mar 2012
Posts: 10
Quote:
Originally Posted by lachs0r View Post
Well, this is just used for convenience in an attempt to automatically choose the correct color space for the video, and it’s trivial to change too. AssRender will just follow whatever Aegisub is doing.

It’s is much more important for playback software, but there the right way to go is to stop rendering the subtitles onto the video surface and instead handle the subtitles separately, without requiring color space conversion or scaling (like what mplayer2 is doing in its EOSD code with renderers that support it, e.g. gl, gl3, direct3d and vdpau), which eliminates the issue entirely.
It would eliminate the issue entirely if there were no legacy subtitles out there; but there are oodles of ass/ssa scripts that choose subtitle colors to match the video and assume vsfilter behaviour when doing so.
natt is offline   Reply With Quote
Old 21st April 2012, 21:05   #47  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
Quote:
Originally Posted by sneaker_ger View Post
To emulate vsfilter behavior…
…is not the point of this feature. The point is to use the *correct* color matrix (i.e. the one used by Aegisub) for overlaying the subtitles.

Quote:
Originally Posted by natt View Post
It would eliminate the issue entirely if there were no legacy subtitles out there; but there are oodles of ass/ssa scripts that choose subtitle colors to match the video and assume vsfilter behaviour when doing so.
Easy solution: Forget legacy subtitles and move along. There’s no reason to give ourselves more trouble than necessary over old subtitle files.
The problem with those files is just that they always assume BT.601 colorspace, since Aegisub made the same mistake for a very long time.
Playback software that gives a shit would just have to convert the colors for files which do not have the Video Colorspace property.

Last edited by Guest; 7th June 2012 at 21:28. Reason: rule 4
lachs0r is offline   Reply With Quote
Old 22nd April 2012, 11:14   #48  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
Quote:
Originally Posted by lachs0r View Post
…is not the point of this feature. The point is to use the *correct* color matrix (i.e. the one used by Aegisub) for overlaying the subtitles.
Did you test a video with "Video Colorspace: BT.601"? In my test the colors came out totally wrong, i.e. assrender 0.25 is broken. And I'm not talking about a small BT.601 vs BT.709 difference, but the colors are totally screwed.


Quote:
Originally Posted by lachs0r View Post
Easy solution: Forget legacy subtitles and move along. There’s no reason to give ourselves more trouble than necessary over old subtitle files.
The Aegisub devs don't want to do that. As it currently stands, Aegisub 3.0.0 will always emulate "legacy" behavior (though it will add info to tell you that, but probably not in the way the current trunk does, so reading "Video Colorspace" right now will produce wrong results with final Aegisub 3.0.0).

Last edited by Guest; 7th June 2012 at 21:28. Reason: rule 4
sneaker_ger is offline   Reply With Quote
Old 23rd April 2012, 12:04   #49  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
I did test that. Worked fine here.
lachs0r is offline   Reply With Quote
Old 24th April 2012, 01:17   #50  |  Link
lachs0r
eccentric
 
Join Date: Jan 2011
Posts: 24
Ha ha, I see what you mean now. Nothing good comes from changing code at work and only testing that on a blankclip.
Fixed. That’s unrelated to the new property though.
lachs0r is offline   Reply With Quote
Old 13th October 2014, 16:15   #51  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
thank you for this plugin

I wonder how can I compile lachs0r c-plugin one and what I need for that

I didn't do any plugin compile before so I need your help

I plan to play with libass and I think AssRender is a good choice for that and to releasing AssRender with last libass
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 13th October 2014, 16:56   #52  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,100
If you've never compiled a plugin before, AssRender is probably the single worst example to start with. You can't actually build the plugin itself until you've compiled libass with MinGW, and that's a gigantic pain since it has a billion annoying dependencies, many of which are very tricky to get to compile on Windows. Start with something else.
TheFluff is offline   Reply With Quote
Old 13th October 2014, 19:43   #53  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by TheFluff View Post
If you've never compiled a plugin before, AssRender is probably the single worst example to start with. You can't actually build the plugin itself until you've compiled libass with MinGW, and that's a gigantic pain since it has a billion annoying dependencies, many of which are very tricky to get to compile on Windows. Start with something else.
any suggestion?

I chose AssRender because it's just a plugin, as I can see the full program like vlc or mpv which using libass will be harder

and AssRender easy to view the subtitle file with it every time in just avspmod
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 27th April 2020, 21:02   #54  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Sorry to revive this thread, but has anyone come across binaries for the updated AssRender (v0.28): https://github.com/pingplug/assrender

I've searched and came up empty handed, most I found was a fork of the v0.28 version here: https://github.com/vadosnaprimer/assrender

But still no binaries
Reel.Deel is offline   Reply With Quote
Old 15th February 2021, 10:22   #55  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by Reel.Deel View Post
Sorry to revive this thread, but has anyone come across binaries for the updated AssRender (v0.28): https://github.com/pingplug/assrender

I've searched and came up empty handed, most I found was a fork of the v0.28 version here: https://github.com/vadosnaprimer/assrender

But still no binaries
I tried and seems I did build x86 one https://github.com/realfinder/assrender

the x64 give me some errors in Visual Studio 2019, also the x86 I did seems only work in avs+! is the avs+ c header not work with avs 2.6 unlike the c++ one?
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 15th February 2021, 13:54   #56  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by real.finder View Post
also the x86 I did seems only work in avs+! is the avs+ c header not work with avs 2.6 unlike the c++ one?
I'd need some more hints. Does not work = crash?

On the other hand, based on https://github.com/vadosnaprimer/assrender I have successfully built both x86 and x64 (after some path fixes).
pinterf is offline   Reply With Quote
Old 15th February 2021, 19:45   #57  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by pinterf View Post
I'd need some more hints. Does not work = crash?

On the other hand, based on https://github.com/vadosnaprimer/assrender I have successfully built both x86 and x64 (after some path fixes).
I got this


and can you share your edit of the code? with the x64 built

anyway, at least in the built I did libass in not uptodate in the code, and maybe the others too, I didn't try to update it yet
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 15th February 2021, 20:38   #58  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
It must be because of 32 bit 'decorated' names:
Avisynth 2.6 is looking for
Code:
avisynth_c_plugin_init@4 or avisynth_c_plugin_init
Avisynth+ is looking for
Code:
_avisynth_c_plugin_init@4 or avisynth_c_plugin_init@4
When Visual Studio is compiling, it always decorates names with leading _ because of stdcall
https://docs.microsoft.com/en-us/cpp...?view=msvc-160

So it won't be found by Avisynth 2.6 loader.

I remember a similar case (I hope I find it soon; C plugins are rare on my git). I'll be back.

As for the code edit: I've just cloned and not forked, it's only my local disk; but practically I didn't change the code.
pinterf is offline   Reply With Quote
Old 15th February 2021, 20:41   #59  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
It must be because of 32 bit 'decorated' names:
Avisynth 2.6 is looking for
Code:
avisynth_c_plugin_init@4 or avisynth_c_plugin_init
Avisynth+ is looking for
Code:
_avisynth_c_plugin_init@4 or avisynth_c_plugin_init@4
When Visual Studio is compiling, it always decorates names with leading _ because of stdcall
https://docs.microsoft.com/en-us/cpp...?view=msvc-160

So it won't be found by Avisynth 2.6 loader.

I remember a similar case (I hope I find it soon; C plugins are rare on my git). I'll be back.
EDIT:
Yes, it was AvsInPaint. A definition file "assrender.def" must be created with the following content:
Code:
LIBRARY assrender
EXPORTS
	avisynth_c_plugin_init@4 = _avisynth_c_plugin_init@4
Only for x86-32!

As for the code edit: I've just cloned and not forked, it's only my local disk; but practically I didn't change the code.
pinterf is offline   Reply With Quote
Old 15th February 2021, 20:44   #60  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Do you wish to do that or I can arrange it on my git?
I wonder if it can be ported to Linux as well?
pinterf 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 20:36.


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