Page 6 of 13

DGDecNV (linux)

Posted: Fri Jun 04, 2021 7:11 pm
by Rocky
As I mentioned, to create the pure indexer CLI executable suitable for porting to linux, we use the same plan as for DGDemux. I have been a very busy squirrel (hear me Britney?) and have got a lot done today. Here is the progress:

1. Strip down to bare minimum (lots of Win32 GUI and other stuff inherited from the full DGIndexNV). COMPLETED
2. Get rid of windows message loop and do everything in WinMain. COMPLETED
3. Ditch final win32 stuff (MessageBox etc.).
4. Convert to pure console exe: WinMain() -> main().
5. Now it can be built with g++ on linux, converting system calls etc. as needed.

I tested the Windows version on an M2TS file and everything is fine.

But before continuing, I'll start a backup and pop a brewski.

DGDecNV (linux)

Posted: Fri Jun 04, 2021 7:27 pm
by Natasha
Just goes to show that anyone can code.

DGDecNV (linux)

Posted: Fri Jun 04, 2021 8:56 pm
by Rocky
Let's see some of your code, Nattie.

New status:

1. Strip down to bare minimum (lots of Win32 GUI and other stuff inherited from the full DGIndexNV). COMPLETED
2. Get rid of windows message loop and do everything in WinMain. COMPLETED
3. Ditch final win32 stuff (MessageBox etc.). COMPLETED
4. Convert to pure console exe: WinMain() -> main(). COMPLETED
5. Now it can be built with g++ on linux, converting system calls etc. as needed.

Ready to move to linux. And I'm not even feeling good today. Off to the nest for the night.

DGDecNV (linux)

Posted: Fri Jun 04, 2021 9:11 pm
by Natasha
Rocky wrote:
Fri Jun 04, 2021 8:56 pm
Let's see some of your code, Nattie.
I don't do Windows.

DGDecNV (linux)

Posted: Sat Jun 05, 2021 2:46 pm
by Rocky
The pure windows exe indexer actually works fine under wine. Nevertheless I prefer to have a native linux version so I have started to do that.

DGDecNV (linux)

Posted: Sun Jun 06, 2021 1:25 pm
by DJATOM
Having nice weekend in my gf's parents home, so I was out of internet recently. Going to return home tomorrow, will be here for any testing and feedback :)

DGDecNV (linux)

Posted: Sun Jun 06, 2021 4:29 pm
by Rocky
Thanks, DJ. We were at a swim meet all day today so nothing got done. Definitely will take up your testing offer when ready.

Ooh, meeting the gf's parents. Sounds serious. :scratch:

DGDecNV (linux)

Posted: Mon Jun 07, 2021 2:08 pm
by Rocky
Just successfully created my first AVC DGI index file using the native linux indexer. Still a lot of testing to go but things are looking good.

DGDecNV (linux)

Posted: Mon Jun 07, 2021 2:28 pm
by DJATOM
That's nice :)

DGDecNV (linux)

Posted: Tue Jun 08, 2021 12:31 pm
by Rocky
Yeah!

MPG indexing now working too. HEVC in progress.

DGDecNV (linux)

Posted: Thu Jun 10, 2021 10:12 am
by Rocky
All video formats now working. All containers now working. Gonna run it on a big UHD rip just to make sure all the seeks and tells and long long handling are working. Then gonna release an alpha.

In general things went much smoother than expected.

DGDecNV (linux)

Posted: Thu Jun 10, 2021 10:48 am
by DJATOM
My body is ready.

DGDecNV (linux)

Posted: Thu Jun 10, 2021 7:19 pm
by Rocky
Ran into first snafu. I'm getting a memory overwrite in DGSource() when serving a 56GB stream. The DGI is fine. It's a bit unpredictable so I'll have to figure out how to set a data change breakpoint in VS Code. Somehow a file pointer is getting clobbered along with data around it.

DGDecNV (linux)

Posted: Fri Jun 11, 2021 7:07 am
by Rocky
OK, got that one sorted out. I'd like to add the disk open CLI option and then things will be ready for your tasting.

DGDecNV (linux)

Posted: Fri Jun 11, 2021 3:27 pm
by Rocky
Added -disk option to show the MPLS data, and -mpls to open an MPLS.

Next step, prepare a taste release.

DGDecNV (linux)

Posted: Sat Jun 12, 2021 11:47 am
by Rocky
All right, boys and girls! See if you can make any sense out of this first linux release:

http://rationalqm.us/dgdecnv/binaries/dgdecnv_linux.zip

The nVidia proprietary driver should be installed.

Your feedback will be appreciated.

DGDecNV (linux)

Posted: Sat Jun 12, 2021 12:07 pm
by DG
Outstanding work, Rocky! Thank you.

DGDecNV (linux)

Posted: Sat Jun 12, 2021 12:19 pm
by Rocky
Thank you, DG, much appreciated. Now I have to run off and catch up on some pending Windows tools work. Sciuridae never rest. ;)

DGDecNV (linux)

Posted: Sat Jun 12, 2021 4:40 pm
by DJATOM
Great! Unfortunately (testing-wise, of course) I'm at my gf's parents place again, so will check it when I return to PC. That expected to happen at coming Monday.

DGDecNV (linux)

Posted: Sat Jun 12, 2021 7:16 pm
by Rocky
I hear ya. Looking forward to your always germane and acute feedback.

DGDecNV (linux)

Posted: Sun Jun 13, 2021 2:50 pm
by Rocky
I got relative paths working (Full_Path_In_Files = 0). Holding for next release.

DGDecNV (linux)

Posted: Sun Jun 13, 2021 6:39 pm
by Rocky
Put the cuda and nvcuvid libraries in /usr/lib or anywhere else in your search path. I am looking at -rpath.

DGDecNV (linux)

Posted: Sun Jun 13, 2021 8:22 pm
by Rocky
Darn, I need to give you the MP4 library too.

DGDecNV (linux)

Posted: Sun Jun 13, 2021 8:39 pm
by Rocky
Added libmp4v2.so. Please re-download and put it somewhere in your search path.

You also need a zlib library but you should have that already.

DGDecNV (linux)

Posted: Mon Jun 14, 2021 3:25 am
by DJATOM
Just tested. Few things to report for now:
1) dgindexnv tries to load ../mp4v2/libmp4v2.so (I did copy it into such relative path and it worked)
2) libdgdecodenv.so tries to load /home/don/Projects/mp4v2/libmp4v2.so. I made such path in my system and placed that file. Now core.dgdecodenv.DGSource is reachable by vapoursynth and I have tested it.

Video looks fine so far, it just not cropped (I tried with m2ts file, got 1920x1088).
Speed-wise, I've got near 460 fps in benchmark, which is on par with Windows.
Will try to encode later, I've got some job to do.