Port Cube

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
Post Reply
User avatar
Bullwinkle
Posts: 338
Joined: Thu Sep 05, 2019 6:37 pm

Port Cube

Post by Bullwinkle »

DGSplit.

Or open in DGIndexNV, set project range, enable video in Demux menu, and Save project. Upload the resulting hevc file.
User avatar
Britney
Posts: 145
Joined: Sun Aug 09, 2020 3:24 pm

Port Cube

Post by Britney »

You should be kinder to your new members.
DAE avatar
mwittmann
Posts: 12
Joined: Wed Aug 24, 2022 8:45 am

Port Cube

Post by mwittmann »

I was looking for this solution! I will upload the original in a few hours. Sorry for the inconveniences caused.
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

That's great. Can you do FTP? I ask because that download site is dreadfully slow. BTW, 50 MB should be fine.

And they also make you wait some ridiculous amount of time between downloads.

mwittmann, if you want to work on the bleeding edge with us, you have to get away from these download sites. I have a perfectly good fast FTP server. Can you use it?
User avatar
Britney
Posts: 145
Joined: Sun Aug 09, 2020 3:24 pm

Port Cube

Post by Britney »

That's a little better. Keep at it. Kisses, Brit.
User avatar
Sherman
Posts: 576
Joined: Mon Jan 06, 2020 10:19 pm

Port Cube

Post by Sherman »

If it took more than 10 minutes to download 112MB, I'd have already lost interest and moved on to something else. Kids have really short attention spans these days. Balti was telling me you shouldn't expect more than 6 seconds focused attention with modern youth. That has an upside and a downside, but mostly down.

Philco 38-12 arrives tomorrow! An early superhet.

https://www.radiomuseum.org/r/philco_38_12.html

She's a beaut!
User avatar
Wonder Woman
Posts: 58
Joined: Sun Feb 07, 2021 10:46 am

Port Cube

Post by Wonder Woman »

Only 7 minutes to go. I'm on it guys. Dudley, are you ready?
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

46 minutes until next download. Whee!
DAE avatar
mwittmann
Posts: 12
Joined: Wed Aug 24, 2022 8:45 am

Port Cube

Post by mwittmann »

This time I sent the original. It was really easy to demux the selected frames with DGIndexNV.
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

Thank you. I will be sure to take into account your scenario as we develop a solution to the problem of processing YUV source. Your report and materials are greatly appreciated.

Is that good, Brit?
User avatar
Britney
Posts: 145
Joined: Sun Aug 09, 2020 3:24 pm

Port Cube

Post by Britney »

Perfect.
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

My current plan is now this. We will have 3 parameters (2 is not enough):

source is full or limited
cube lut is full or limited
desired output is full or limited

They will be required parameters, i.e., no defaults. When users go wrong I wanna be able to blame it on them. :twisted:

So that is 8 possibilities. We also have either YUV or RGB input/output, so we're up to 16 possibilities. Please don't ask for the input and output to be different YUV and RGB. That would be 64 possibilities and I don't wanna do that. ;)

I have already worked out the equations needed for each of the 16 cases. Note that I could collapse it to 2 parameters and 8 cases if we assume the input and output have the same range. But it's easy to keep it at 16 and give that flexibility. Not so easy to change YUV<->RGB due to Avisynth pixel-type considerations. I could do it, just don't wanna.

If y'all agree that this will cover your desired uses, I'll start coding and testing.

BTW, AFAICT, AVSCube() = timecube assumes the LUT is full range and has 1 parameter called fullrange to say if the input/output is full or limited. That does not allow for a limited range LUT.

EDIT: Sherman told me the 38-12 radio just arrived so I'll be on my own for this.
DAE avatar
Guest 2
Posts: 903
Joined: Mon Sep 20, 2010 2:18 pm

Port Cube

Post by Guest 2 »

Rocky wrote:
Thu Aug 25, 2022 11:52 am
If y'all agree that this will cover your desired uses, I'll start coding and testing.
Seems fine to my innocent eyes. :D

I don't know if DGCube is internally "multithreaded" (I don't know how it's called for CUDA).

In that case, would be possible to have a threads parameter to adapt to slower, with less memory, and faster cards?
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

There's no multithreading. The time is so overwhelmingly dominated by the PCIe transfers that it's pointless to even think about trying to do anything in that regard. E.g., we decide to do 2 frames at a time. Theoretically the kernel processing of the first frame could be overlapped with the upload of the second frame. But the gain would be very small and it would require twice the GPU memory.

One thing we could do is integrate it into DGSource(). That would eliminate two full frame transfers with no increase in memory on the GPU:

not integrated:

compressed data -> GPU -> decode -> CPU -> Avisynth -> GPU -> cube -> CPU -> Avisynth

integrated:

compressed data -> GPU -> decode -> cube -> CPU -> Avisynth

So, yeah, it would be way faster. Let's get it working first as a standalone filter and then think about that. Thanks for provoking thought about it. :salute:
DAE avatar
Guest 2
Posts: 903
Joined: Mon Sep 20, 2010 2:18 pm

Port Cube

Post by Guest 2 »

Rocky wrote:
Thu Aug 25, 2022 2:02 pm
One thing we could do is integrate it into DGSource(). That would eliminate two full frame transfers
Believe it or not, I was having dinner and thinking about that. I sat to my PC and I was replying with that idea in mind. Then I read your post and I smiled. Great minds think alike. :D
Rocky wrote:
Thu Aug 25, 2022 2:02 pm
Thanks for provoking thought about it.
Another idea, in future and with proper OS integration, is to use DirectStorage, if possible.

https://docs.nvidia.com/gpudirect-storage/index.html
User avatar
Curly
Posts: 712
Joined: Sun Mar 15, 2020 11:05 am

Port Cube

Post by Curly »

Guest 2 wrote:
Thu Aug 25, 2022 2:18 pm
Great minds think alike.
For sure. And when you start thinking like me you'll really be getting somewhere.
DAE avatar
Guest 2
Posts: 903
Joined: Mon Sep 20, 2010 2:18 pm

Port Cube

Post by Guest 2 »

Curly wrote:
Thu Aug 25, 2022 2:24 pm
And when you start thinking like me you'll really be getting somewhere.
:agree:
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

DirectStorage
Remains to be seen if there is any there there. We'll see.
User avatar
Rocky
Posts: 3555
Joined: Fri Sep 06, 2019 12:57 pm

Port Cube

Post by Rocky »

Curly, please approve me too.

No matter what, data must traverse PCIe, so I'm not clear on how "DirectStorage" is going to help. DMA requires access to the CPU bus. Could be I'm confused, keeping an open mind.
User avatar
Curly
Posts: 712
Joined: Sun Mar 15, 2020 11:05 am

Port Cube

Post by Curly »

Ya gotta earn it. Like big t. What's left, Boris Approved?
User avatar
Sherman
Posts: 576
Joined: Mon Jan 06, 2020 10:19 pm

Port Cube

Post by Sherman »

38-12: Gonna pull the chassis right now, guys. Standby...
User avatar
Natasha
Posts: 150
Joined: Wed Nov 20, 2019 11:11 am

Port Cube

Post by Natasha »

Can't wait. Be careful, electricity can kill.
User avatar
Sherman
Posts: 576
Joined: Mon Jan 06, 2020 10:19 pm

Port Cube

Post by Sherman »

Like, if I got Curly Approved, and I didn't want that, what is my recourse?
User avatar
Curly
Posts: 712
Joined: Sun Mar 15, 2020 11:05 am

Port Cube

Post by Curly »

No danger of that, kid. Grow up.
DAE avatar
Guest 2
Posts: 903
Joined: Mon Sep 20, 2010 2:18 pm

Port Cube

Post by Guest 2 »

Rocky wrote:
Thu Aug 25, 2022 2:48 pm
Could be I'm confused, keeping an open mind.
You know, I am not a programmer, just a computer enthusiast.

AFAIK (https://developer.nvidia.com/blog/gpudirect-storage), CPU can be freed from having to manage data transfer to GPU. Perhaps it's won't increase GPU processing speed but, for sure, anything that is CPU related.

Or not? :D
Post Reply