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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th January 2018, 22:00   #1321  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 430
Quote:
Originally Posted by Atak_Snajpera View Post
What does this mean?


Code:
video=ConvertToYUV444(video).KNLMeansCL(d=1, a=2, s=4, h=4, device_type="CPU", device_id=0).ConvertToYUV420
add channels="YUV"
__________________
github.com
Khanattila is offline   Reply With Quote
Old 30th January 2018, 22:15   #1322  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 6,352

Code:
video=ConvertToYUV444(video).KNLMeansCL(d=1, a=2, s=4, h=4, device_type="CPU", device_id=0,channels="YUV").ConvertToYUV420
Why CPU device does not support this mode?
Atak_Snajpera is offline   Reply With Quote
Old 30th January 2018, 23:04   #1323  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 430
Quote:
Originally Posted by Atak_Snajpera View Post

Code:
video=ConvertToYUV444(video).KNLMeansCL(d=1, a=2, s=4, h=4, device_type="CPU", device_id=0,channels="YUV").ConvertToYUV420
Why CPU device does not support this mode?
Implementation-defined, however, it is difficult for the CPUs to support that mode.

The program is GPU oriented, and GPU work well with INT8, INT16, INT32, HALF and FLOAT.
So it makes sense not to support intermediate precision like INT9, INT12 or INT14.
However, there is a special format INT_101010, where the channels of each element (10 bits per channel) are packed into a single INT32.
Unfortunately, it is not very supported.
__________________
github.com

Last edited by Khanattila; 31st January 2018 at 09:23.
Khanattila is offline   Reply With Quote
Old 31st January 2018, 12:35   #1324  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 6,352
Ok. No problem. I was just curious...
Atak_Snajpera is offline   Reply With Quote
Old 2nd February 2018, 10:51   #1325  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 430
Quote:
Originally Posted by Atak_Snajpera View Post
Ok. No problem. I was just curious...
You are welcome
__________________
github.com
Khanattila is offline   Reply With Quote
Old 12th February 2018, 15:41   #1326  |  Link
littlepox
Registered User
 
Join Date: Nov 2012
Posts: 214
Hi all, need some help with KNLMeansCL on AMD RX Vega64:

denoised Y clip comes with broken data (mostly zero, very few times random output). This is a known issue (https://github.com/Khanattila/KNLMeansCL/issues/26) and we will await the patch.

Meanwhile, we would like to know whether using RGB is a safe workaround or not(assume we don't want to touch UV planes) :

Code:
a = "your file with YUV-8bit format.m2ts"
src8 = core.lsmas.LWLibavSource(a,threads=1)
src16 = core.fmtc.bitdepth(src8, bits=16)

Y = core.std.ShufflePlanes(src16, 0, vs.GRAY)
nr16y = core.resize.Bicubic(Y, format=vs.RGB48,matrix_in_s="709")
nr16y = core.knlm.KNLMeansCL(nr16y, d=1, a=2, s=3, h=1.3, channels="RGB", device_type="GPU")
nr16y = core.resize.Bicubic(nr16y, format=vs.GRAY16,matrix_s="709")

nr16y.set_output()
It looks OK for a few samples but we would like to know whether it is indeed unaffected by the same issue. Thanks for help!
littlepox is offline   Reply With Quote
Old 12th February 2018, 16:38   #1327  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 430
Quote:
Originally Posted by littlepox View Post
Hi all, need some help with KNLMeansCL on AMD RX Vega64:

denoised Y clip comes with broken data (mostly zero, very few times random output). This is a known issue (https://github.com/Khanattila/KNLMeansCL/issues/26) and we will await the patch.

Meanwhile, we would like to know whether using RGB is a safe workaround or not(assume we don't want to touch UV planes) :

Code:
a = "your file with YUV-8bit format.m2ts"
src8 = core.lsmas.LWLibavSource(a,threads=1)
src16 = core.fmtc.bitdepth(src8, bits=16)

Y = core.std.ShufflePlanes(src16, 0, vs.GRAY)
nr16y = core.resize.Bicubic(Y, format=vs.RGB48,matrix_in_s="709")
nr16y = core.knlm.KNLMeansCL(nr16y, d=1, a=2, s=3, h=1.3, channels="RGB", device_type="GPU")
nr16y = core.resize.Bicubic(nr16y, format=vs.GRAY16,matrix_s="709")

nr16y.set_output()
It looks OK for a few samples but we would like to know whether it is indeed unaffected by the same issue. Thanks for help!
Hi littlepox, thanks for your report.
The main problem is I do not have a Vega GPU. In the country where I live the cost is very high, over 800€!
I also tried AMD's CodeXL, but for now, I do not see something strange. Future investigations are required.

I do not know if the workaround you suggest works or not, there is a problem with the new AMD OpenCL compiler for Vega.
There are probably some optimizations in place that are not clear.
__________________
github.com

Last edited by Khanattila; 12th February 2018 at 16:42.
Khanattila is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 17:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.