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 > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 4th July 2023, 23:58   #1  |  Link
wswartzendruber
hlg-tools Maintainer
 
wswartzendruber's Avatar
 
Join Date: Feb 2008
Posts: 416
PGS4NET: A New PGS/SUP Library for .NET

Greetings!

As a few of you may know, I have been dabbling in PGS bitstreams for a while now and went so far as building some basic CLI utilities in Rust. Seeing that PGS/SUP utilities are both sparse and not necessarily well-behaved, and also seeing that libraries aren't readily available, I set out to create one for .NET.

Well, I have just pushed the 0.0.1 release to NuGet. It targets .NET Standard 2.0.

I don't expect this initial release to be all that useful. For one thing, it only has segment-level support, so it doesn't know anything about display sets, let alone epochs. In fact, it doesn't even have RLE implemented yet.

Coming Up Next

My objectives for the next release are:

1. RLE compression/decompression
2. Display set composition/decomposition

Licensing

PGS4NET is made available under the MPLv2 license. If anyone has questions about how this works, Mozilla has a MPL 2.0 FAQ page setup.

It's basically permissive as far as use as-is goes, but you don't get to distribute changes without sharing them back.

Logo

I also made this nifty logo in Inkscape:


Last edited by wswartzendruber; 11th July 2023 at 17:25.
wswartzendruber is offline   Reply With Quote
Old 9th July 2023, 17:48   #2  |  Link
Katie Boundary
Registered User
 
Katie Boundary's Avatar
 
Join Date: Jan 2015
Posts: 1,070
I have no idea what you just said. Will this eventually lead to an AVIsynth subtitling filter that actually works? SUPtext, SupTitle, and VSfilter have all been non-functional for me.
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers.
Katie Boundary is offline   Reply With Quote
Old 10th July 2023, 15:51   #3  |  Link
wswartzendruber
hlg-tools Maintainer
 
wswartzendruber's Avatar
 
Join Date: Feb 2008
Posts: 416
Quote:
Originally Posted by Katie Boundary View Post
I have no idea what you just said. Will this eventually lead to an AVIsynth subtitling filter that actually works? SUPtext, SupTitle, and VSfilter have all been non-functional for me.
If AviSynth can host .NET assemblies, then that's a foreseeable outcome.
wswartzendruber is offline   Reply With Quote
Old 11th July 2023, 03:51   #4  |  Link
wswartzendruber
hlg-tools Maintainer
 
wswartzendruber's Avatar
 
Join Date: Feb 2008
Posts: 416
0.0.2 is live with the same API, except for the addition of RLE support.

The existing ReadSegment() and WriteSegment() extension methods will now provide more detailed information if EOF is encountered prematurely.

Up next: Display Set composition/decomposition support.

Last edited by wswartzendruber; 11th July 2023 at 17:25.
wswartzendruber is offline   Reply With Quote
Old 2nd September 2023, 21:27   #5  |  Link
wswartzendruber
hlg-tools Maintainer
 
wswartzendruber's Avatar
 
Join Date: Feb 2008
Posts: 416
Version 0.1.0 is out now. The big thing here is display set support. That is, PGS subtitles can be interfaced with either at the base segment level, or at the next-higher display set level.

There's also XMLDoc for everything, as shown below:



The async support shown is true, native async. It's not fake async by wrapping a sync operation in a threaded wrapper.

Up next is Epoch support. The next release of the library will likely be the one most people will be interested in.

Last edited by wswartzendruber; 2nd September 2023 at 21:31.
wswartzendruber 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 08:00.


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