DGDecNV (linux)
Moderator: Sherman
DGDecNV (linux)
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.
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)
Just goes to show that anyone can code.
DGDecNV (linux)
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.
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)
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)
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)
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.
Ooh, meeting the gf's parents. Sounds serious.
DGDecNV (linux)
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)
That's nice
DGDecNV (linux)
Yeah!
MPG indexing now working too. HEVC in progress.
MPG indexing now working too. HEVC in progress.
DGDecNV (linux)
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.
In general things went much smoother than expected.
DGDecNV (linux)
My body is ready.
DGDecNV (linux)
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)
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)
Added -disk option to show the MPLS data, and -mpls to open an MPLS.
Next step, prepare a taste release.
Next step, prepare a taste release.
DGDecNV (linux)
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.
http://rationalqm.us/dgdecnv/binaries/dgdecnv_linux.zip
The nVidia proprietary driver should be installed.
Your feedback will be appreciated.
DGDecNV (linux)
Outstanding work, Rocky! Thank you.
DGDecNV (linux)
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)
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)
I hear ya. Looking forward to your always germane and acute feedback.
DGDecNV (linux)
I got relative paths working (Full_Path_In_Files = 0). Holding for next release.
DGDecNV (linux)
Put the cuda and nvcuvid libraries in /usr/lib or anywhere else in your search path. I am looking at -rpath.
DGDecNV (linux)
Darn, I need to give you the MP4 library too.
DGDecNV (linux)
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.
You also need a zlib library but you should have that already.
DGDecNV (linux)
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.
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.