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. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1562 | Link | |
Registered User
Join Date: Dec 2005
Location: Sweden
Posts: 721
|
Quote:
![]() @Tormento Is the author here on Doom9 still? I cannot access his own forum. Last edited by anton_foy; 23rd July 2024 at 08:53. |
|
![]() |
![]() |
![]() |
#1563 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,967
|
Quote:
You can’t access or you can’t register? In the second case, perhaps some users here and on his forum can ask him to create you an account. He is very capable but also a bit weird.
__________________
@turment on Telegram |
|
![]() |
![]() |
![]() |
#1564 | Link |
Registered User
Join Date: Jul 2024
Posts: 4
|
Likely bug: KNLMeansCL outputs garbage if image width is a multiple of 64
I reported this issue on GitHub, but I'm not sure if anyone's monitoring that, so posting it here as well. More details in the GitHub issue: https://github.com/pinterf/KNLMeansCL/issues/6
In short, if the image width is a multiple of 64, KNLMeansCL outputs garbage - as seen in this test case: Code:
plugin_dir = "C:\VideoProject\Software\AviSynth-plugin\" LoadPlugin(plugin_dir + "KNLMeansCL.dll") function test(int width) { input = ColorBars(width=width, height=480, pixel_type="YV24").Trim(0, 50).Subtitle(String(width), size=36).FadeOut(50).ConvertToY8() output = input.KNLMeansCL(ocl_x=8, ocl_y=16, ocl_r=1) StackVertical(input, output) } StackHorizontal( \ test(8*1), test(8*2), test(8*3), test(8*4), test(8*5), test(8*6), test(8*7), test(8*8), \ test(8*9), test(8*10), test(8*11), test(8*12), test(8*13), test(8*14), test(8*15), test(8*16), \ test(8*17), test(8*18), test(8*19), test(8*20), test(8*21), test(8*22), test(8*23), test(8*24), \ test(8*25), test(8*26), test(8*27), test(8*28), test(8*29), test(8*30), test(8*31), test(8*32), \ test(8*33), test(8*34), test(8*35), test(8*36), test(8*37), test(8*38), test(8*39), test(8*40), \ test(8*41), test(8*42), test(8*43), test(8*44), test(8*45), test(8*46), test(8*47), test(8*48) \ ) In real-world videos, I've seen where the filter output gets stuck at a specific frame, and doesn't change when I move the AvsPmod slider bar to other frames. Other times, it will show partial or total garbage pixels, as if it was displaying uninitialized memory. In practice, I'm trying to crop a standard definition 720x480 video down by a multiple of 16, which is coming out with a width of 704. That seems like it would be a fairly common scenario...? but that's a multiple of 64, so the rendered output comes out as garbage. |
![]() |
![]() |
![]() |
#1565 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
with intel igpu in 13th gen
Code:
ColorBars(width=640, height=480, pixel_type="yv12") KNLMeansCL() ![]() it's intel problem or KNLMeansCL?
__________________
See My Avisynth Stuff |
![]() |
![]() |
![]() |
#1567 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
Quote:
I think CPU is the only standard (Especially X86-X64 since in apple m1-m4 is kind of different from another arm from what I've heard, I know someone use x86 port of his program to make it work in m1-m4), so maybe it's good idea to make cpu port of KNLMeansCL (opencl in cpu is dropped in modren cpus) edit: there are https://forum.doom9.org/showthread.php?t=172966 already but not as KNLMeansCL, xNLMeans maybe got things that not in KNLMeansCL but there are also things in KNLMeansCL that not in xNLMeans, so maybe someone update xNLMeans to make it ultimate NLMeans ![]()
__________________
See My Avisynth Stuff Last edited by real.finder; 30th November 2024 at 17:04. |
|
![]() |
![]() |
![]() |
#1569 | Link |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,967
|
Or not.
![]() There are plugins that works really well under cpu, others really good on GPU. I think KNLMeansCL could be a real performance hit on a CPU. Why don’t you simply use the CPU version of BM3D? I find it in many ways superior.
__________________
@turment on Telegram |
![]() |
![]() |
![]() |
#1570 | Link |
Registered User
Join Date: Aug 2024
Posts: 583
|
CPU KNLM Choices:
1) CPU "port": https://github.com/AmusementClub/vs-nlm-ispc 2) CPU OpenCL runtime: https://www.intel.com/content/www/us...l-support.html |
![]() |
![]() |
![]() |
#1571 | Link | |
Registered User
Join Date: Jul 2015
Posts: 898
|
Quote:
Code:
plugins/Khanattila/NLMAvisynth.cpp: In constructor 'NLMAvisynth::NLMAvisynth(PClip, int, int, int, double, const char*, int, double, PClip, const char*, int, int, int, int, bool, bool, int, IScriptEnvironment*)': plugins/Khanattila/NLMAvisynth.cpp:215:38: warning: converting to non-pointer type 'cl_channel_type' {aka 'unsigned int'} from NULL [-Wconversion-null] 215 | cl_channel_type channel_type_u = NULL, channel_type_p = NULL; | ^~~~ plugins/Khanattila/NLMAvisynth.cpp:215:61: warning: converting to non-pointer type 'cl_channel_type' {aka 'unsigned int'} from NULL [-Wconversion-null] 215 | cl_channel_type channel_type_u = NULL, channel_type_p = NULL; | ^~~~ plugins/Khanattila/NLMAvisynth.cpp:216:42: warning: converting to non-pointer type 'cl_channel_type' {aka 'unsigned int'} from NULL [-Wconversion-null] 216 | cl_channel_type channel_type_p_out = NULL; | ^~~~ ColorBars(width=640, height=480, pixel_type="yv12") KNLMeansCL() https://forum.doom9.org/showthread.p...21#post2010721 Last edited by Jamaika; 1st December 2024 at 16:18. |
|
![]() |
![]() |
![]() |
#1572 | Link | |||
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
maybe windows driver bug? like this https://forum.doom9.org/showthread.p...73#post1963373
Quote:
BM3D is another story Quote:
anyway thanks for CPU OpenCL runtime link, I thought Intel no longer supported that Quote:
__________________
See My Avisynth Stuff |
|||
![]() |
![]() |
![]() |
#1574 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
where? your link is for ffmpeg
__________________
See My Avisynth Stuff |
![]() |
![]() |
![]() |
#1575 | Link |
Registered User
Join Date: Jul 2015
Posts: 898
|
I added it above. Yes, you run it via ffplay_avx2
https://www.sendspace.com/file/mou7uc Last edited by Jamaika; 3rd December 2024 at 09:59. |
![]() |
![]() |
![]() |
#1576 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
Quote:
anyway, it worked with Code:
ColorBars(width=640, height=480, pixel_type="yv12") KNLMeansCL(device_type="cpu")
__________________
See My Avisynth Stuff |
|
![]() |
![]() |
![]() |
#1577 | Link |
Registered User
Join Date: Jul 2015
Posts: 898
|
I will just add that I have installed latest opencl.
https://github.com/KhronosGroup/Open...04b5522fdffcd6 |
![]() |
![]() |
![]() |
#1578 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,641
|
Quote:
__________________
See My Avisynth Stuff |
|
![]() |
![]() |
![]() |
#1579 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,479
|
Quote:
device_id = 0 (Nvidia driver) no problems, this setting is using NVidia 1660 on my machine. device_id = 1: (Intel driver) artifacts. This id is using my Intel UHD 750 driver. It looks like if there were internal format or endian-ness problems (e.g. how a 32 bit data is ordered YUVX or XVUY) Hint: with Code:
info=true Code:
ColorBars(width=640, height=480, pixel_type="yv12") KNLMeansCL(channels="auto", device_id=1, info=true) |
|
![]() |
![]() |
![]() |
#1580 | Link | |
Registered User
Join Date: Jul 2015
Posts: 898
|
Quote:
KNLMeansCL(channels="auto", device_id=1, info=true) [avisynth @ 0000023e209d9f60] KNLMeansCL: no compatible opencl platforms available! (AudioBoost.avs, line 2) AudioBoost.avs: Unknown error occurred ColorBars(width=640, height=480, pixel_type="yv12") KNLMeansCL(channels="auto", device_id=0, info=true) KNLMeansCL Version 1.1.1e Copyright(C) Khanattila Bits per sample: 8 Search window: 5x5x3 Similarity neightborhood: 9x9 Num of ref pixels: 74 Local work size: 16x16 - 16x8x3 Platform info Name: NVIDIA CUDA Version: OpenCL 3.0 CUDA 12.6.65 Device info Name: NVIDIA Geforce RTX 3050 Vendor: NVIDIA Corporation Version: OpenCL 3.0 CUDA 560.94 It works. Last edited by Jamaika; 7th December 2024 at 12:36. |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|