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. |
![]() |
#1 | Link |
Registered User
Join Date: Apr 2018
Posts: 9
|
ImageSourceNV plugin
I'v made a plugin that uses nvjpeg api to decode jpeg source files and convert their color space to YUV444. That is CUDA accelerated.
You will need CUDA toolkit 12 (or 11.8) installed and MS C++ redistributables. Usage: ImageSourceNV("C:\Folder1\Folder2","jpg",1,34609,24000,1001) 1: Folder path without ending slash. 2: Files extension. 3: First frame. 4: Last frame (included). 5: FPS numerator. 6: FPS denumerator. File names should be 6 numbers with leading zeroes (%06d). Download link Source included. Last edited by Argaricolm; 2nd April 2023 at 00:44. |
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,634
|
If you're reluctant to install the 3GB CUDA toolkit, you can the individual files also. According to DependencyWalker it only needs these two files:
|
![]() |
![]() |
![]() |
#9 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,634
|
Quote:
Code:
ImageSourceNV("E:\Images", "jpg", 1, 6, 24000, 1001) ![]() Dimensions, frame count and frame rate are correct, though. I did have to fetch two additional dependencies for cudart64_110.dll (api-ms-win-core-libraryloader-l1-2-0.dll and api-ms-win-security-systemfunctions-l1-1-0.dll). I'm not sure why they're missing or if they are meant for Win10. |
|
![]() |
![]() |
![]() |
#10 | Link |
Registered User
Join Date: Apr 2018
Posts: 9
|
Image width & height are got using nvjpeg. So - it is working.
I'v tested it with 1048 height and working here. What software are you using to open avs? And which version of avisynth? Last edited by Argaricolm; 2nd April 2023 at 21:43. |
![]() |
![]() |
![]() |
#11 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,361
|
My main system is down so I can only remote guess from a replacement system below the specified abilities:
The given commandline does not specify spaces and wants to see 000000.jpg, 000001.jpg ? And any green frame would usually be YUV samples decoded as 0,0,0 (invalid, btw.)
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..." |
![]() |
![]() |
![]() |
#13 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,634
|
Quote:
I also noticed that ImageSourceNV("E:\Images", "jpg") results in "ZeroDivisionError: float division by zero". |
|
![]() |
![]() |
![]() |
#14 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,361
|
System up again, success.
Threw the cuda 11.8 .dlls into system32, used the 11.8 plugin version. From non-subsampled .jpg source filter returns frames decoded to YV24, 23.976fps Tested folder with 5 frames starting 000001.jpg...000005.jpg returns the 1st frame 000001, then repeats the same frame until framecount. Tested folder with 5 frames starting 000000.jpg...000004.jpg returns frame 000000, then 000001, then 000002, then repeats 000002, then 000000. (My bad: I had given some pictures with differing width/height, first 3 were portrait, then 000003 was landscape X-} 00000.jpg: No video Now a folder renamed to 000000.jpg to 000200.jpg, all same dimensions 4608x3456, orientation landscape. These 4:2:2-subsampled .jpgs result in chroma planes with half width, so resizing would be necessary afterwards, or better: chromaspace signalling should match. ImageSourceNV() returns all frames decoded with unresized chroma planes to YV24, 23.976fps. With prefetch(16,200) 4k frames can be decoded almost in film speed (RTX3080 @ 15..30%). Not bad for flipping through albums.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..." Last edited by Emulgator; 4th April 2023 at 15:31. |
![]() |
![]() |
![]() |
#15 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,634
|
I used the oldest versions available (cudart 11.4.108 / nvjpeg 11.5.2.120) and now it works for me. I will go back and see what is the latest version that works for me since I'm on Windows 7. I think the problem may be that the newest 11.8 cudart requires api-ms-win-core-libraryloader-l1-2-0.dll and api-ms-win-security-systemfunctions-l1-1-0.dll while the oldest one does not.
Edit: the latest cudart that does not require those additional dependencies is 11.6.55. Last edited by Reel.Deel; 4th April 2023 at 19:05. |
![]() |
![]() |
![]() |
#16 | Link |
Big Bit Savings Now !
Join Date: Feb 2007
Location: close to the wall
Posts: 1,361
|
Thank you, good to know.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain) "Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..." |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|