DGDecomb

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Sat May 20, 2017 11:43 am

Initial results with LeakKernelBob are not stellar for me. E.g., it trashes the buildings at the beginning of Cityscape. It also has an overall softness that is to be expected from the convolution kernel. Nowadays, I'm also not too big on hard thresholds, even though I can be blamed for introducing that with Smart Deinterlace way back in the cave-man days of desktop video.

Sharc
Distinguished Member
Distinguished Member
Posts: 181
Joined: Thu Sep 23, 2010 1:53 pm

Re: DGDecomb

Post by Sharc » Sat May 20, 2017 12:35 pm

Cityspace - that's a really nice reference. Thanks for uploading :D

User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Sat May 20, 2017 12:38 pm

My pleasure. Looking forward to your comparisons.

Sharc
Distinguished Member
Distinguished Member
Posts: 181
Joined: Thu Sep 23, 2010 1:53 pm

Re: DGDecomb

Post by Sharc » Sat May 20, 2017 1:37 pm

The typical mpeg2 artefacts are sometimes overruling (or masking) the deinterlacing/bobbing artefacts. But I agree the LeakKernel algorithm leaves more residual combing and swallows more details.

User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Sat May 20, 2017 1:50 pm

Yes, that's MPEG2 at typical ATSC broadcast bitrate. A sad reality. Sorry about that. :cry: The scenes without fast motion are OK, though.

User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Sun May 21, 2017 11:36 am

I was playing around trying to fix the VPP one-frame delay for bobbing and nothing was working but then I decided to try something off-the-wall and shockingly it worked to flush the VPP and fully correct random access:

Code: Select all

	// Frame is on GPU and everything configured at this point.
	err = cuvidMapVideoFrame(cuDecoder, 0, &outPtr, &_pitch, &vpp);
	if (err != CUDA_SUCCESS)
		env->ThrowError("PVBob: could not run the VPP");
	if (vpp.second_field == 1)
	{
		// This is found heuristically to solve the VPP one-frame delay problem.
		cuvidUnmapVideoFrame(cuDecoder, outPtr);
		vpp.second_field = 0;
		err = cuvidMapVideoFrame(cuDecoder, 0, &outPtr, &_pitch, &vpp);
		if (err != CUDA_SUCCESS)
			env->ThrowError("PVBob: could not run the VPP");
	}
	// Postprocessed frame gets copied back to CPU at this point.
I also found a way to reduce the GPU<-->CPU traffic, increasing the frame rate by 50fps for 1920x1080. I'll regression test a bit and then slip-stream it. I will look into applying this fix to DGIndexNV and DGSource(deinterlace=2). It's not clear that it can be applied directly.

User avatar
hydra3333
Distinguished Aussie Member
Distinguished Aussie Member
Posts: 132
Joined: Wed Oct 06, 2010 3:34 am
Contact:

Re: DGDecomb

Post by hydra3333 » Tue May 23, 2017 5:32 am

admin wrote:I was playing around trying to fix the VPP one-frame delay for bobbing and nothing was working but then I decided to try something off-the-wall and shockingly it worked to flush the VPP and fully correct random access.

I also found a way to reduce the GPU<-->CPU traffic, increasing the frame rate by 50fps for 1920x1080. I'll regression test a bit and then slip-stream it. I will look into applying this fix to DGIndexNV and DGSource(deinterlace=2). It's not clear that it can be applied directly.
Crikey, Charlie ! Nice going.

User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Tue May 23, 2017 9:26 am

No bodgy code for me. Don't want to come a gutser.

User avatar
admin
Site Admin
Posts: 4002
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecomb

Post by admin » Tue May 23, 2017 12:45 pm

I figured out how to make the fix work for DGIndexNV and DGSource(deinterlace=2). I'll do some thorough testing before slipstreaming it.

gonca
Distinguished Member
Distinguished Member
Posts: 607
Joined: Sun Apr 08, 2012 6:12 pm

Re: DGDecomb

Post by gonca » Tue May 23, 2017 4:28 pm

Just keeps getting better and better

Post Reply