couple gpu errors and typos in manual
couple gpu errors and typos in manual
Hello! Thank you for your ongoing work on this project!!!
I'm using dgdecnv_255.zip and my current source material is makemkv mkvs of DVD content. (Win10, 7950x, 4080 with 551.86 drivers) I have no issues with
DGSource("bla_v.dgi",use_pf=true,fieldop=1,rw=1440,rh=960,sh_enable=0,dn_enable=0)
When I try to add Denoising via
dn_enable=1/2/3
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 94. Exiting...
When I try to add Sharpening via
sh_enable=1
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 234. Exiting...
tw_enable and lv_enable appear to work without issue with my brief checks.
In DGIndexNV.exe when I play to take a look at Video info, space bar and pause button don't seem to work. Stop does. (I tried to create steps to reproduce this issue and I cannot for the life of me get this to happen consistently now that I'm writing this post) If I click to a point in the slider and then hit the play from current position button I have noticed first pause button click is ignored. It works after that. It also appears the Stop button returns me to an arbitrary early position regardless of where I set start of project range. (Maybe these two idiosyncrasies are mkv specific and not worth fixing, not a problem just wanted to make mention.)
Advice?
I'm dealing with hybrid dvd content. I have a 3:2 pulldown 97% film over the duration of DVD content. (The intro scrolling text is 0% film 0 Frame/Field Rpts) Video Info shows
Frame Rate: 29.970030 fps
Sequence: Frame/Field
Frame Struct: Frame
Coding: Progressive
only Field Rpts on the 100% film sections.
For DGSource(...) If I use fieldop=0 I see interlaced content on playback. If I use fieldop=1 the film sections look perfect, but the begining scrolling text stutters up the screen instead of smooth. If I use fieldop=0 and follow this with another section DGTelecide(source,mode=3) I have smooth scrolling text, but I can see deinterlace artifacts.
fieldop=2 looks perfect but time is irregular like your manual stated.
Hybrid content isn't a new problem, but thought I would ask if you already had a best option.
I had tried DGSource(..., fieldop=0) followed by DGTelecide() bit it didn't look as amazing as fieldop=1
Typos:
In DGDecodeNVManual.html#DGDenoise
you list enable in the same format as integrated filters
dn_enable: int (default: 0)
whereas the avs file wants just enable
Earlier in your manual it states "DGDecodeNV DLL is provided in two variants for SSE4.1 and AVX2"
At the very end DGDecodeNVManual.html#Examples
for vaporsynth you reverence dgdecodenv_avx512.dll
Both very minor, but thought I would let you know.
Off topic...
I've used AI to help transcribe the legacy decomb524src.zip 32-bit visual studio 6 source code (including 32bit assembly references) to be compatible enough to compile with Visual Studio 2022 x64 so I can continue to use only Avisynth+ plugins64+ DLLs. Should I provide the modified source to this forum under the avisynth filters section or just post to github? Is there a github project I can fork and put the modifications in there so the lineage is maintained?
I haven't had the same luck with leakkerneldeint154 as it references section of the avisynth.h that is rather different in newer version. It does invigorate me to try and do the same with other legacy filters stuck in 32-bit world.
Than you for all your great projects!
(In an attempt to not open multiple topics all at once I put it all here. If you prefer it to be split out I'm happy to accommodate your preferences.)
I'm using dgdecnv_255.zip and my current source material is makemkv mkvs of DVD content. (Win10, 7950x, 4080 with 551.86 drivers) I have no issues with
DGSource("bla_v.dgi",use_pf=true,fieldop=1,rw=1440,rh=960,sh_enable=0,dn_enable=0)
When I try to add Denoising via
dn_enable=1/2/3
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 94. Exiting...
When I try to add Sharpening via
sh_enable=1
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 234. Exiting...
tw_enable and lv_enable appear to work without issue with my brief checks.
In DGIndexNV.exe when I play to take a look at Video info, space bar and pause button don't seem to work. Stop does. (I tried to create steps to reproduce this issue and I cannot for the life of me get this to happen consistently now that I'm writing this post) If I click to a point in the slider and then hit the play from current position button I have noticed first pause button click is ignored. It works after that. It also appears the Stop button returns me to an arbitrary early position regardless of where I set start of project range. (Maybe these two idiosyncrasies are mkv specific and not worth fixing, not a problem just wanted to make mention.)
Advice?
I'm dealing with hybrid dvd content. I have a 3:2 pulldown 97% film over the duration of DVD content. (The intro scrolling text is 0% film 0 Frame/Field Rpts) Video Info shows
Frame Rate: 29.970030 fps
Sequence: Frame/Field
Frame Struct: Frame
Coding: Progressive
only Field Rpts on the 100% film sections.
For DGSource(...) If I use fieldop=0 I see interlaced content on playback. If I use fieldop=1 the film sections look perfect, but the begining scrolling text stutters up the screen instead of smooth. If I use fieldop=0 and follow this with another section DGTelecide(source,mode=3) I have smooth scrolling text, but I can see deinterlace artifacts.
fieldop=2 looks perfect but time is irregular like your manual stated.
Hybrid content isn't a new problem, but thought I would ask if you already had a best option.
I had tried DGSource(..., fieldop=0) followed by DGTelecide() bit it didn't look as amazing as fieldop=1
Typos:
In DGDecodeNVManual.html#DGDenoise
you list enable in the same format as integrated filters
dn_enable: int (default: 0)
whereas the avs file wants just enable
Earlier in your manual it states "DGDecodeNV DLL is provided in two variants for SSE4.1 and AVX2"
At the very end DGDecodeNVManual.html#Examples
for vaporsynth you reverence dgdecodenv_avx512.dll
Both very minor, but thought I would let you know.
Off topic...
I've used AI to help transcribe the legacy decomb524src.zip 32-bit visual studio 6 source code (including 32bit assembly references) to be compatible enough to compile with Visual Studio 2022 x64 so I can continue to use only Avisynth+ plugins64+ DLLs. Should I provide the modified source to this forum under the avisynth filters section or just post to github? Is there a github project I can fork and put the modifications in there so the lineage is maintained?
I haven't had the same luck with leakkerneldeint154 as it references section of the avisynth.h that is rather different in newer version. It does invigorate me to try and do the same with other legacy filters stuck in 32-bit world.
Than you for all your great projects!
(In an attempt to not open multiple topics all at once I put it all here. If you prefer it to be split out I'm happy to accommodate your preferences.)
couple gpu errors and typos in manual
Thanks for the valuable and detailed report. Let's look at it after the 4th celebration.
Happy 4th to everybody!
Happy 4th to everybody!
couple gpu errors and typos in manual
Thank you for the note. Happy 4th to you as well!
(some updates/notes since my last post)
When using fieldop=1 I do get the 23.976 fps output, but ffmpeg is still showing top first.
We had discussed this in my last topic where you provided helpful information about some of the specifics viewtopic.php?p=17186#p17186 The github issue had the suggestion .propSet("_FieldBased", 0) So I was using that when I was using fieldop=1:
I ran some batch indexing and found a couple observations about commandline:
Thank you for the DGCube. Because I'm dealing with DVD content DGSource output was YV12. To feed this to DGCube I ended up with converting to 16 bit depth for example:
This worked great and ffmpeg encoded the video as yuv420p10le
Afterwards when I tried to feed this yuv420p10le video back into DGIndexNV I received the error
GPU decoder: Video type not supported on this device [0]
Exiting...
I guess the solution is before leaving the avisynth script is to 8bit?
This got me over this hump. Wanted to mention, didn't know if you had any insight or recommendations.
For Hybrid video, Some later episodes are like 60% film. So I'm blanket using fieldop=0 and then
With hybrid video I have film/progressive and interlaced frames, so I can't choose deinterlace=1 because 3:2 pulldown is detected. DGBob() or PVBob() aren't safe for hybrid? The tangent on VFR footage talks about exporting mkv timecodes and using those for pacing later. I haven't really found a working solution down that path. Is avisynth just stuck at a fixed FPS the crux of the issue?
I also realized these makemkv .mkv files show the mpeg2 video aspect 4:3, but when DGIndexNV indexes/plays the preview and .dgi has the footage aspect 10:11. Is that by design? I overlooked for a bit as I was 2x without aspect correction for a bit but now 2x'ing on 640x480.
In my scale up I added a laptop and noticed the PCI device ID looks a bit garbled. Here is a side-by-side of desktop vs laptop.
Mitigation:
I don't have a full solution, but using Hybrid 2024.06.16.1 to help with switches and explanations I was able to use ffmpeg GPU decoding/deinterlacing and ffmpeg GPU encoding to produce an intermediate clip which so far has produced an hybrid output video that is no longer interlaced.
(Probably excessive settings and some not required but its an intermediary step. Not sure atm how to transform color correctly to bt.709 so atm just keeping it original)
(same command with line breaks for readability)
Lets assume output_progressive.mkv has 9967 frames.
I fed this back into DGIndexNV and it showed progressive and film %0 and 9967 frames. Unfortunately if I use this this with
DGSource("output_progressive.dgi",use_pf=true)
I end up with a shortened clip because of the 23.976 fps sections of the hybrid video are rendered at 29.97 fps.
I looked into vfr timecodes approach. I can extract timecodes with:
I can encode based on DGSource("output_progressive.dgi",use_pf=true) and It will encode 9967 frames to output_progressive_dg.mkv.
So far so good. Unfortunately when I use MKVToolNix-GUI to remux output_progressive_dg.mkv with timestamps output_progressive.tc.txt I end up with a slightly faster fps in output file output_progressive_dg_fix.mkv. If I re-encode output_progressive_dg_fix.mkv with ffmpeg to output_progressive_dg_fix_ff.mkv I have the same 9967 encoded frames. It's really pretty close.
The timestamps do match, but mpc-hc is thinking the framerate is 30.303 fps.
May try and see if there is a way to auto slit a video into separate fps scenes. So each section can be encodes at either 30000/1001 or 24000/1001 as alternative to this approach.
(some updates/notes since my last post)
When using fieldop=1 I do get the 23.976 fps output, but ffmpeg is still showing top first.
Code: Select all
DGSource("input.dgi",use_pf=true,fieldop=1,rw=1280,rh=960)
ffmpeg:
Input #0, avisynth, from 's01.avs':
Duration: 01:30:48.90, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(smpte170m, top first), 1280x960, 23.98 fps, 23.98 tbr, 23.98 tbn
We had discussed this in my last topic where you provided helpful information about some of the specifics viewtopic.php?p=17186#p17186 The github issue had the suggestion .propSet("_FieldBased", 0) So I was using that when I was using fieldop=1:
Code: Select all
DGSource("input.dgi",use_pf=true,fieldop=1,rw=1280,rh=960).propSet("_FieldBased", 0)
I ran some batch indexing and found a couple observations about commandline:
Code: Select all
[...]\dgdecnv_255\DGIndexNV.exe -e -at template.avs -i D:\otherPath\t00.mkv -o E:\outputpath\s01
- I don't have to specify .dgi on the output for it to generate the .dgi file (in this example s01.dgi).
- avs generated from template was not created. I had to fully qualify the path ([...]\dgdecnv_255\template.avs) and then output s01.avs file would be generated.
Thank you for the DGCube. Because I'm dealing with DVD content DGSource output was YV12. To feed this to DGCube I ended up with converting to 16 bit depth for example:
Code: Select all
Source= DGSource("input.dgi",use_pf=true,fieldop=0,rw=1280,rh=960)
SourceConv= ConvertBits(ConvertToYUV420(Source, matrix="170m:auto"),bits=16)
cubeColor= DGCube(SourceConv,"color.cube", in="lim", lut="full", out="lim" ,interp="tetrahedral")
Afterwards when I tried to feed this yuv420p10le video back into DGIndexNV I received the error
GPU decoder: Video type not supported on this device [0]
Exiting...
I guess the solution is before leaving the avisynth script is to 8bit?
Code: Select all
CubeConv= ConvertBits(cubeColor, bits=8)
For Hybrid video, Some later episodes are like 60% film. So I'm blanket using fieldop=0 and then
Code: Select all
QTGMC(source, Preset="Slow",EdiThreads=10).SelectEven()
I also realized these makemkv .mkv files show the mpeg2 video aspect 4:3, but when DGIndexNV indexes/plays the preview and .dgi has the footage aspect 10:11. Is that by design? I overlooked for a bit as I was 2x without aspect correction for a bit but now 2x'ing on 640x480.
Code: Select all
Stream Type: Matroska
Video Type: MPEG2
Profile: main@main
Coded Size: 720x480
Display Size: 720x480
Aspect Ratio: 10:11
Frame Rate: 29.970030 fps
Colorimetry: SMPTE 170M [6]
Sequence: Frame/Field
Mitigation:
I don't have a full solution, but using Hybrid 2024.06.16.1 to help with switches and explanations I was able to use ffmpeg GPU decoding/deinterlacing and ffmpeg GPU encoding to produce an intermediate clip which so far has produced an hybrid output video that is no longer interlaced.
(Probably excessive settings and some not required but its an intermediary step. Not sure atm how to transform color correctly to bt.709 so atm just keeping it original)
Code: Select all
ffmpeg.exe -hwaccel auto -c:v mpeg2_cuvid -threads 1 -deint 2 -drop_second_field true -resize 1280x960 -i input_t00.mkv -map 0:0 -an -sn -c:v h264_nvenc -qp 8 -preset p7 -tune lossless -profile high444p -rc-lookahead 55 -coder 0 -color_primaries smpte170m -color_trc smpte170m -colorspace smpte170m -color_range tv -aspect 4:3 output_progressive.mkv
Code: Select all
ffmpeg.exe -hwaccel auto -c:v mpeg2_cuvid -threads 1 -deint 2 ^
-drop_second_field true -resize 1280x960 -i input_t00.mkv -map 0:0 -an -sn ^
-c:v h264_nvenc -qp 8 -preset p7 -tune lossless -profile high444p ^
-rc-lookahead 55 -coder 0 -color_primaries smpte170m -color_trc smpte170m ^
-colorspace smpte170m -color_range tv -aspect 4:3 output_progressive.mkv
Lets assume output_progressive.mkv has 9967 frames.
I fed this back into DGIndexNV and it showed progressive and film %0 and 9967 frames. Unfortunately if I use this this with
DGSource("output_progressive.dgi",use_pf=true)
I end up with a shortened clip because of the 23.976 fps sections of the hybrid video are rendered at 29.97 fps.
I looked into vfr timecodes approach. I can extract timecodes with:
Code: Select all
mkvextract.exe output_progressive.mkv timestamps_v2 0:output_progressive.tc.txt
So far so good. Unfortunately when I use MKVToolNix-GUI to remux output_progressive_dg.mkv with timestamps output_progressive.tc.txt I end up with a slightly faster fps in output file output_progressive_dg_fix.mkv. If I re-encode output_progressive_dg_fix.mkv with ffmpeg to output_progressive_dg_fix_ff.mkv I have the same 9967 encoded frames. It's really pretty close.
The timestamps do match, but mpc-hc is thinking the framerate is 30.303 fps.
May try and see if there is a way to auto slit a video into separate fps scenes. So each section can be encodes at either 30000/1001 or 24000/1001 as alternative to this approach.
couple gpu errors and typos in manual
You're up next in the batting order, flyordie. I'll start working on it tomorrow.
couple gpu errors and typos in manual
OK, let's hit some low-hanging fruit. The typos have been corrected and the DGDecodeNV manual was slipstreamed.
In the future please make separate threads for separate issues. when you lump things all together as in this thread it makes things very difficult for me to address and track.
In the future please make separate threads for separate issues. when you lump things all together as in this thread it makes things very difficult for me to address and track.
couple gpu errors and typos in manual
The problem occurs if you hit the stop button while in pause. If you unpause before stop it is fine. Also, exit fails in pause mode. I have fixed both of these and slipstreamed it into build 255. Let me know if you run into further issues related to navigation and/or play/preview.In DGIndexNV.exe when I play to take a look at Video info, space bar and pause button don't seem to work. Stop does. (I tried to create steps to reproduce this issue and I cannot for the life of me get this to happen consistently now that I'm writing this post) If I click to a point in the slider and then hit the play from current position button I have noticed first pause button click is ignored. It works after that.
It is designed to navigate to the start of the current GOP. If you have long GOPs it may appear to jump back a long way.It also appears the Stop button returns me to an arbitrary early position regardless of where I set start of project range.
couple gpu errors and typos in manual
AI? Don't make me barf in public. I'm not interested in, nor do I have time for, working on legacy stuff much less some brain-dead nonsense. AI, you gotta be kiddin me. For legacy DG stuff, do whatever you like with it. Make a github for it if you like, no problem.flyordie wrote: ↑Fri Jun 28, 2024 9:15 pmI've used AI to help transcribe the legacy decomb524src.zip 32-bit visual studio 6 source code (including 32bit assembly references) to be compatible enough to compile with Visual Studio 2022 x64 so I can continue to use only Avisynth+ plugins64+ DLLs. Should I provide the modified source to this forum under the avisynth filters section or just post to github? Is there a github project I can fork and put the modifications in there so the lineage is maintained?
I haven't had the same luck with leakkerneldeint154 as it references section of the avisynth.h that is rather different in newer version. It does invigorate me to try and do the same with other legacy filters stuck in 32-bit world.
As I mentioned, in the future make separate threads for separate things. Don't change anything here now, though. Thank you.(In an attempt to not open multiple topics all at once I put it all here. If you prefer it to be split out I'm happy to accommodate your preferences.)
couple gpu errors and typos in manual
Still trying to hit low-hanging fruit first.
OK, I think I have addressed everything from your first post except the CUDA errors, which I will come back to. Moving on to your second post...
Looks all as expected. I don't have any magic bullets for hybrid content. Of course, you could go to double-rate on everything, but you probably don't want to do that just for 3% of the video.flyordie wrote: ↑Fri Jun 28, 2024 9:15 pmI'm dealing with hybrid dvd content. I have a 3:2 pulldown 97% film over the duration of DVD content. (The intro scrolling text is 0% film 0 Frame/Field Rpts) Video Info shows
Frame Rate: 29.970030 fps
Sequence: Frame/Field
Frame Struct: Frame
Coding: Progressive
only Field Rpts on the 100% film sections.
For DGSource(...) If I use fieldop=0 I see interlaced content on playback. If I use fieldop=1 the film sections look perfect, but the begining scrolling text stutters up the screen instead of smooth. If I use fieldop=0 and follow this with another section DGTelecide(source,mode=3) I have smooth scrolling text, but I can see deinterlace artifacts.
fieldop=2 looks perfect but time is irregular like your manual stated.
Hybrid content isn't a new problem, but thought I would ask if you already had a best option.
I had tried DGSource(..., fieldop=0) followed by DGTelecide() bit it didn't look as amazing as fieldop=1
OK, I think I have addressed everything from your first post except the CUDA errors, which I will come back to. Moving on to your second post...
couple gpu errors and typos in manual
I don't see any question for me here. What are you trying to say that needs my attention? Again, if it's for advice about handling hybrid video I don't have magic pixie dust for that. You might do better at videohelp with that.flyordie wrote: ↑Fri Jul 05, 2024 6:20 am(some updates/notes since my last post)
When using fieldop=1 I do get the 23.976 fps output, but ffmpeg is still showing top first.We had discussed this in my last topic where you provided helpful information about some of the specifics viewtopic.php?p=17186#p17186 The github issue had the suggestion .propSet("_FieldBased", 0) So I was using that when I was using fieldop=1:Code: Select all
DGSource("input.dgi",use_pf=true,fieldop=1,rw=1280,rh=960) ffmpeg: Input #0, avisynth, from 's01.avs': Duration: 01:30:48.90, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(smpte170m, top first), 1280x960, 23.98 fps, 23.98 tbr, 23.98 tbn
Code: Select all
DGSource("input.dgi",use_pf=true,fieldop=1,rw=1280,rh=960).propSet("_FieldBased", 0)
couple gpu errors and typos in manual
Please state explicitly what you are asking for or reporting. Bug? Document error/issue?flyordie wrote: ↑Fri Jul 05, 2024 6:20 amI ran some batch indexing and found a couple observations about commandline:Code: Select all
[...]\dgdecnv_255\DGIndexNV.exe -e -at template.avs -i D:\otherPath\t00.mkv -o E:\outputpath\s01
- I don't have to specify .dgi on the output for it to generate the .dgi file (in this example s01.dgi).
- avs generated from template was not created. I had to fully qualify the path ([...]\dgdecnv_255\template.avs) and then output s01.avs file would be generated.
couple gpu errors and typos in manual
DGDecNV wants 8-bit or 16-bit input. Best to convert to 16-bit here to keep all the significant bits of the 10-bit video. It would just fill the top bits with zero to pad to 16 bits.flyordie wrote: ↑Fri Jul 05, 2024 6:20 amThank you for the DGCube. Because I'm dealing with DVD content DGSource output was YV12. To feed this to DGCube I ended up with converting to 16 bit depth for example:This worked great and ffmpeg encoded the video as yuv420p10leCode: Select all
Source= DGSource("input.dgi",use_pf=true,fieldop=0,rw=1280,rh=960) SourceConv= ConvertBits(ConvertToYUV420(Source, matrix="170m:auto"),bits=16) cubeColor= DGCube(SourceConv,"color.cube", in="lim", lut="full", out="lim" ,interp="tetrahedral")
Afterwards when I tried to feed this yuv420p10le video back into DGIndexNV I received the error
GPU decoder: Video type not supported on this device [0]
Exiting...
I guess the solution is before leaving the avisynth script is to 8bit?This got me over this hump. Wanted to mention, didn't know if you had any insight or recommendations.Code: Select all
CubeConv= ConvertBits(cubeColor, bits=8)
couple gpu errors and typos in manual
The rest of your second post seems again all the hybrid video stuff, except for the garbled PCIE number.
Unless you have a specific bug to point out, I don't want to discuss hybrid video handling. Go to videohelp or google for that, please.
So, it seems we are left with:
* DGDecodeNV CUDA errors with integrated filtering.
* Garbled PCIE number.
If I have missed anything else significant please advise. Moving on to the above two points...
Unless you have a specific bug to point out, I don't want to discuss hybrid video handling. Go to videohelp or google for that, please.
So, it seems we are left with:
* DGDecodeNV CUDA errors with integrated filtering.
* Garbled PCIE number.
If I have missed anything else significant please advise. Moving on to the above two points...
couple gpu errors and typos in manual
Squirrels barf?
couple gpu errors and typos in manual
@Britney
Only when we eat too many fermented berries.
Does it fail if you omit the rw/rh options?
Does it fail with DGDenoise() standalone?
Only when we eat too many fermented berries.
Let's start with the denoising. Based on the error message it could be a frame size issue. Please provide a short source sample file that shows the issue. Thank you.flyordie wrote: ↑Fri Jun 28, 2024 9:15 pmI'm using dgdecnv_255.zip and my current source material is makemkv mkvs of DVD content. (Win10, 7950x, 4080 with 551.86 drivers) I have no issues with
DGSource("bla_v.dgi",use_pf=true,fieldop=1,rw=1440,rh=960,sh_enable=0,dn_enable=0)
When I try to add Denoising via
dn_enable=1/2/3
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 94. Exiting...
Does it fail if you omit the rw/rh options?
Does it fail with DGDenoise() standalone?
couple gpu errors and typos in manual
@flyordie
Any chance you could grace us with a reply, or have you lost interest in this thread?
Any chance you could grace us with a reply, or have you lost interest in this thread?
couple gpu errors and typos in manual
Sorry!
Thank you for all the replies. Read them last night and haven't had a chance to digest them. Will test tonight and provide feedback and responses.
Thank you for all the replies. Read them last night and haven't had a chance to digest them. Will test tonight and provide feedback and responses.
couple gpu errors and typos in manual
Using https://coleman-it.com/dg/mkvDemux/1sec.mkv processed through the new slipstreamed DGIndexNV.exeRocky wrote: ↑Sat Jul 27, 2024 8:13 am@Britney
Only when we eat too many fermented berries.
Let's start with the denoising. Based on the error message it could be a frame size issue. Please provide a short source sample file that shows the issue. Thank you.flyordie wrote: ↑Fri Jun 28, 2024 9:15 pmI'm using dgdecnv_255.zip and my current source material is makemkv mkvs of DVD content. (Win10, 7950x, 4080 with 551.86 drivers) I have no issues with
DGSource("bla_v.dgi",use_pf=true,fieldop=1,rw=1440,rh=960,sh_enable=0,dn_enable=0)
When I try to add Denoising via
dn_enable=1/2/3
I error out with
CUDA_ERROR_INVALID_VALUE at file ..(build path)... DGDecodeNV\filter.h line 94. Exiting...
Does it fail if you omit the rw/rh options?
Does it fail with DGDenoise() standalone?
These iterations of the input.avs work:
Code: Select all
DGSource("1sec.dgi",rw=1280,rh=960)
DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=0)
DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=2)
DGSource("1sec.dgi",dn_enable=0)
DGSource("1sec.dgi",dn_enable=1)
DGSource("1sec.dgi",dn_enable=2)
DGSource("1sec.dgi",dn_enable=3)
DGSource("1sec.dgi",rw=1280,rh=960,tw_enable=1)
DGSource("1sec.dgi",sh_enable=1)
DGSource("1sec.dgi",tw_enable=1)
DGSource("1sec.dgi",lv_enable=1)
Code: Select all
DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=1)
DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=3)
DGSource("1sec.dgi",rw=1280,rh=960,sh_enable=1)
Should enable= be specified as default is 0?
DGDenoise(clip c, float strength, float cstrength, int quality, int tthresh, int show, int device)
to
DGDenoise(clip c, int enable, float strength, float cstrength, int quality, int tthresh, int show, int device)
no issues with
Code: Select all
DGSource("1sec.dgi")
DGDenoise(enable=0)
or when replacing DGDenoise(enable=0) line with DGSharpen() or DGTweak() or DGLevels()
couple gpu errors and typos in manual
Great, thank you for the follow-up, flyordie. The problem is that the cuArray allocation for dn and sh are using the original clip size instead of the resized clip size. I have it fixed locally and will make a slipstream later today after some regression testing. Then we can have a look at the garbled PCI number.flyordie wrote: ↑Mon Jul 29, 2024 9:27 pmThese iterations of input.avs didn't work (crashed):Code: Select all
DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=1) DGSource("1sec.dgi",rw=1280,rh=960,dn_enable=3) DGSource("1sec.dgi",rw=1280,rh=960,sh_enable=1)
Yes, you need to give enable=. Thanks for pointing out the document error. I will fix that too.In DGDecodeNVManual.html#DGDenoise
Should enable= be specified as default is 0?
DGDenoise(clip c, float strength, float cstrength, int quality, int tthresh, int show, int device)
to
DGDenoise(clip c, int enable, float strength, float cstrength, int quality, int tthresh, int show, int device)
Great, thank you.no issues withI tried enable equal to 0,1, 2, and 3.Code: Select all
DGSource("1sec.dgi") DGDenoise(enable=0)
or when replacing DGDenoise(enable=0) line with DGSharpen() or DGTweak() or DGLevels()
couple gpu errors and typos in manual
OK, I slipstreamed build 255 with the fixes. Please let me know if everything is OK now, then I will make a release announcement.
couple gpu errors and typos in manual
Great, thank you. I'll make an announcement and then look at the PCI thing. Also, please review the thread and let me know if there is anything else that needs addressing.
couple gpu errors and typos in manual
@flyordie
Regarding the garbled PCI info, please download this utility I made. Run it on your two machines and post the output. Thank you.
http://rationalqm.us/misc/PCIDump.rar
My output:
Regarding the garbled PCI info, please download this utility I made. Run it on your two machines and post the output. Thank you.
http://rationalqm.us/misc/PCIDump.rar
My output:
Code: Select all
D:\Downloads>pcidump
NVIDIA GeForce RTX 4090
PCI\VEN_10DE&DEV_2684&SUBSYS_40BF1458&REV_A1
PCI bus 1, device 0, function 0
couple gpu errors and typos in manual
That utility uses standard win32 api stuff, while current DGIndexNV uses nVidia driver calls, right Rocky?
Sherman Peabody
Director of Linux Development
Director of Linux Development
couple gpu errors and typos in manual
Right Sherm. Maybe that nVidia driver wasn't updated for that particular device name string.
couple gpu errors and typos in manual
@flyordie
A reply would be appreciated. If you have an active issue that we are working on, progress will be faster if you check in every few days. Thank you.
A reply would be appreciated. If you have an active issue that we are working on, progress will be faster if you check in every few days. Thank you.