View Full Version : DG NV tools
Revgen
6th August 2009, 00:55
Avisynth took 10 seconds longer. Isn't that slower?
oops. I got the times mixed up. I was trying to type it in a hury. I'll fix it now.
Nvidia was 55fps 1 min 20 secs
Avisynth was 63fps. 1 min 10 secs
Guest
6th August 2009, 03:13
What is your processor and clock speed?
Revgen
6th August 2009, 06:08
What is your processor and clock speed?
QX6850 - Quad-Core - each core is 3.0Ghz - 1333Mhz FSB
http://ark.intel.com/Product.aspx?id=30789
Audionut
6th August 2009, 06:16
Wow, I should visit this thread more often.
Encode running atm. As soon as it's finished I'll give this GPU resize a test.
edit: neuron, could you edit the tile please.
halsboss
6th August 2009, 13:31
Think I'll give it a try too, tomorrow.
I guess the "normal" DGindex vs this beta6; both with resizing HD to 576 and re-interlacing to 576i25. I use a "shortcut" interlaced resizing in avisynth, so we'll see.
Stock 4-core Q9450 2.66Ghz, 1200FSB, XP-SP3, 4Gb mem, Nvidia 8800GT512Mb, HC23 to create mpeg2 output, will report comparative HC log encode times.
Guest
6th August 2009, 13:46
HC23 to create mpeg2 output You have to use 0.22 or 0.24beta, as 0.23 does not play nice with the NV tools.
http://forum.doom9.org/showthread.php?p=1286622#post1286622
drelin
6th August 2009, 14:19
Here is beta 6 for the next release of the NV tools. This adds Honor Pulldown Flags functionality for MPEG and fixes bugs in random access for program streams for MPEG, and for TS streams for all the video formats. It also adds GPU resizing.
http://neuron2.net/misc/NVbeta6.zip
The changes were extensive so your test results will be greatly appreciated.
It seems that the download link is broken ?
Guest
6th August 2009, 14:33
http://neuron2.net/dgavcdecnv/NVbeta6.zip
Revgen
6th August 2009, 14:54
Think I'll give it a try too, tomorrow.
I guess the "normal" DGindex vs this beta6; both with resizing HD to 576 and re-interlacing to 576i25. I use a "shortcut" interlaced resizing in avisynth, so we'll see.
Stock 4-core Q9450 2.66Ghz, 1200FSB, XP-SP3, 4Gb mem, Nvidia 8800GT512Mb, HC23 to create mpeg2 output, will report comparative HC log encode times.
Your card's memory bandwith is 10x the bandwidth on my card. If Nvidia is faster than avisynth then my card is most likely the culprit.
GZZ
6th August 2009, 21:29
I did a movie using NVBeta6 to resize 1920x1080 to 1280x720 and tonight I watched the movie and the quality is to me the same as other movies where I used spline36resize in my script. Dont know if this has anything to do with my screen (sony D3000 46") being only 'half HD' (1366x768). But from what I know the diffrence between HD and half HD is the distance you are sitting from the TV.
So from my point of view the resize quality is on pair with atleast spline36resize in avisynth.
On my rig, it seems to give better speed to have the GPU doing the resize, both on 1 and 2 pass encoding. Mainly on 1 pass where it gives me the biggest speed gain.
halsboss
7th August 2009, 14:23
Well, this isn't an apples for apples comparison, however it functionally contrasts the new NV version with what I currently do using MT. Hopefully. Someone will tell me if it isn't a good functional comparison.
Original script:
SetMTmode(mode=5,threads=4) # start with mode=5 forAVIsource http://forum.doom9.org/showthread.php?p=1067216#post1067216
SetMemoryMax(256)
LoadPlugin("C:\SOFTWARE\DGindex\DGDecode.dll")
... other loads
MPEG2Source("G:\TEST\1920x1080i25 7 HD Digital.d2v",info=0,ipp=true)
AssumeFPS(25)
AssumeTFF()
# PURE VERSION PER http://forum.doom9.org/showthread.php?p=1185790#post1185790
SetMTmode(mode=2,threads=4) # mode=2 for temporal multi-threading (interleaved frames)
Global NewHeight=576
Global NewWidth=720
SeparateFields()
Shift = (GetParity() ? -0.25 : 0.25) * (Height()/Float(NewHeight/2)-1.0)
E = SelectEven().Spline36resize(NewWidth, NewHeight/2, 0, Shift)
O = SelectOdd( ).Spline36resize(NewWidth, NewHeight/2, 0, -Shift)
Ec = SelectEven().Spline36Resize(NewWidth, NewHeight/2, 0, 2*Shift)
Oc = SelectOdd( ).Spline36Resize(NewWidth, NewHeight/2, 0, -2*shift)
Interleave(E, O)
IsYV12() ? MergeChroma(Interleave(Ec, Oc)) : Last
Weave()
Converttoyv12(interlaced=true)
SetPlanarLegacyAlignment(True)
Distributor() # use this when using HC and SetMTmode, per http://forum.doom9.org/showthread.php?p=1063622#post1063622
NV equivalent script:
#SetMTmode(mode=5,threads=4) # start with mode=5 forAVIsource http://forum.doom9.org/showthread.php?p=1067216#post1067216
SetMemoryMax(256)
LoadPlugin("C:\software\DGindex\DGDecodeNV.dll")
... other loads
DGSource("G:\TEST\1920x1080i25 7 HD Digital.dgm",deinterlace=2,resize_w=720,resize_h=576) #deinterlace=2 means double rate deinterlacing
Global NewHeight=576
Global NewWidth=720
# reinterlace - http://forum.doom9.org/showthread.php?p=1311833#post1311833
AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave() # -> TFF
AssumeFPS(25)
AssumeTFF()
Converttoyv12(interlaced=true)
SetPlanarLegacyAlignment(True)
extract from HC022 log from Original script:
-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.22.0.0 |
-----------------------------------------
MPEG profile@level: MP@ML
input: g:\test\nonnv\1920x1080i25 7 hd digital.avs
output: G:\TEST\nonNV\1920x1080i25 7 HD Digital.mpv
--------------------
| encoder settings |
--------------------
profile: BEST
frames: 0 14649
framerate: 25.000
aspect ratio: 16:9
bitrate: NA
max. bitrate Kb/s: 9200
pass: 1 (Constant Quant)
constant Q: 2.000
pulldown: no
closed gops: yes
VBV check: yes
scene change det.: yes
interlaced: yes, TFF
goplen,B-pic: AUTO
dc_precision: 10
scan method: alt
bias: 95
chapter frames: 1
time code: 0 0 0 0
CPU: SSSE3
priority: idle
SMP active: yes
matrix: FOX1
luminance gain: no
------------------
| source stats |
------------------
nr. of frames in source: 14650
width*height: 720x576
fps: 25.000
nr. of frames to encode: 14650
frames to encode: 0 - 14649
---------------------
| encoding - pass 1 |
---------------------
pass 1 encoding time: 0:09:04 (543.80 s)
fps: 26.9
------------------
| encoding stats |
------------------
intra matrix used
8 8 9 11 13 13 14 17
8 8 11 12 13 14 17 18
9 11 13 13 14 17 17 19
11 11 13 13 13 17 18 20
11 13 13 13 16 17 20 24
13 13 13 16 17 20 24 29
13 12 13 17 19 23 28 34
12 13 17 19 23 28 34 41
non-intra matrix used
8 8 8 9 9 9 9 10
8 8 9 9 9 9 10 10
8 9 9 9 9 10 10 10
9 9 9 9 10 10 10 10
9 9 9 10 10 10 10 11
9 9 10 10 10 10 11 11
9 10 10 10 10 11 11 11
10 10 10 10 11 11 11 11
nr. of gops: 1067
nr. of frames: 14650
nr. of I-frames: 1067
nr. of P-frames: 5171
nr. of B-frames: 8412
average bitrate: 7242
minimum bitrate: 1642
maximum bitrate: 9198
bytes in bitstream: 530620185
bits in bitstream: 4244961480
average Quantizer: 7.999
total CPU time: 0:26:15 (1575.30 s)
total elapsed time: 0:09:04 (544.00 s)
extract from HC022 log from NV equivalent script:
-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.22.0.0 |
-----------------------------------------
MPEG profile@level: MP@ML
input: g:\test\nv\1920x1080i25 7 hd digital.avs
output: G:\TEST\NV\1920x1080i25 7 HD Digital.mpv
--------------------
| encoder settings |
--------------------
profile: BEST
frames: 0 14649
framerate: 25.000
aspect ratio: 16:9
bitrate: NA
max. bitrate Kb/s: 9200
pass: 1 (Constant Quant)
constant Q: 2.000
pulldown: no
closed gops: yes
VBV check: yes
scene change det.: yes
interlaced: yes, TFF
goplen,B-pic: AUTO
dc_precision: 10
scan method: alt
bias: 95
chapter frames: 1
time code: 0 0 0 0
CPU: SSSE3
priority: idle
SMP active: yes
matrix: FOX1
luminance gain: no
------------------
| source stats |
------------------
nr. of frames in source: 14650
width*height: 720x576
fps: 25.000
nr. of frames to encode: 14650
frames to encode: 0 - 14649
---------------------
| encoding - pass 1 |
---------------------
pass 1 encoding time: 0:07:59 (479.48 s)
fps: 30.6
------------------
| encoding stats |
------------------
intra matrix used
8 8 9 11 13 13 14 17
8 8 11 12 13 14 17 18
9 11 13 13 14 17 17 19
11 11 13 13 13 17 18 20
11 13 13 13 16 17 20 24
13 13 13 16 17 20 24 29
13 12 13 17 19 23 28 34
12 13 17 19 23 28 34 41
non-intra matrix used
8 8 8 9 9 9 9 10
8 8 9 9 9 9 10 10
8 9 9 9 9 10 10 10
9 9 9 9 10 10 10 10
9 9 9 10 10 10 10 11
9 9 10 10 10 10 11 11
9 10 10 10 10 11 11 11
10 10 10 10 11 11 11 11
nr. of gops: 993
nr. of frames: 14650
nr. of I-frames: 993
nr. of P-frames: 5162
nr. of B-frames: 8495
average bitrate: 6928
minimum bitrate: 163
maximum bitrate: 9195
bytes in bitstream: 507634147
bits in bitstream: 4061073176
average Quantizer: 8.595
total CPU time: 0:15:28 (927.78 s)
total elapsed time: 0:08:00 (479.66 s)
Given MT wasn't set, I'm not sure what to make of the CPU times in the 2nd log ! Advice welcome.
Seems to be a slight elapsed time advantage with the NV version, however the resulting filesize is smaller too - 530,620,185 for original vs 507,634,147 for NV. Precisely the same HC parameters were used in both encodes.
I can and do concurrently run multiple of the "original" equivalent, say when processing each quarter of a sports capture. Don't think I could do that with the NV version. Also, I sometimes try to deblock using MPEG2Source("G:\TEST\1920x1080i25 7 HD Digital.d2v",info=0,ipp=true,cpu=4) which I don't think is possible with the NV. Life's a trade-off, isn't it ! For my more traditional non-concurrent encodes, I presume the NV version is preferable since it appears to use 1/2 the CPU and is slightly faster elapsed time.
Stock 4-core Q9450 2.66Ghz, 1200FSB, XP-SP3, 4Gb mem, Nvidia 8800GT512Mb.
Lugia25000
7th August 2009, 20:04
I have a problem with the NVBetax Tool...
I have a dvd source and DMPGIndexNV1.02 has problems with it and i wanna try DGMPEGINdex1.03beta6.
DGMPGIndexNV1.02 works alone fine but if i try the DGMPINdex1.03beta6 from NVBeta6 than become i everthing a error "GPU decode: Failed to create video decoder [100]".
I have try cuvidserver1.04 and 1.05beta6.
I have a Geforce GT 230.
Any Idea?
Sorry for my english.
Guest
7th August 2009, 21:07
Does it happen in DGMPGIndexNV or just when you serve with DGSource()?
What is your OS?
Lugia25000
7th August 2009, 21:21
In DGMPGIndexNV if i load a vob and i have Vista 32Bit.
Guest
7th August 2009, 22:12
What is your Nvidia driver version? It must be as described in the readme that comes with the beta distribution.
Lugia25000
7th August 2009, 22:56
185.xx
You should install version 190.38 or later of the Nvidia driver.
Sorry... i had not read this. Thx.
Guest
8th August 2009, 17:17
http://neuron2.net/dgavcdecnv/NVbeta7.zip
Lugia25000
8th August 2009, 19:11
It is late but i had no time...
I get the same error with 190.45 and NVbeta6 but NVbeta7 works great and it gives no more problems with my DVD.
I am very happy. Big thx :).
Sharc
8th August 2009, 23:23
Beta7 works fine here.
For certain vc-1 files the Frame Structure in the information window toggles "wildly" between frame interlaced and field interlaced. The log file shows sometimes - for the same file - no info but the headings, and sometimes it indicates for frame structure "Field interlaced" and for frame type "I-P". Does this make sense?
Guest
9th August 2009, 00:56
Can't say without seeing the stream. But I just report the stream flags, so whether it makes sense...???
Revgen
9th August 2009, 07:29
NV Resizing is now faster than AVISynth.
The KingKong sample now completes in 1 min 6 secs with beta 7 instead of 1 min 20 secs with beta 6.
Sharc
9th August 2009, 08:08
Can't say without seeing the stream. But I just report the stream flags, so whether it makes sense...???
Here a vc-1 sample with toggling frame/field interlaced even within the same scene. Just wondering about this frame structure -- which causes problems for most other decoders btw., but decodes fine with your decoder :) http://www.mediafire.com/download.php?rt4djjjjwam
Audionut
9th August 2009, 10:20
From a 1080 blu-ray source.
loadplugin("d:\dgdecodenv.dll")
dgsource("G:\QUARANTINE\BDMV\STREAM\00011.dga", resize_w=1280, resize_h=688)
assumefps(2000)
1:54:77
cpu usage in task manager = 60-65%
loadplugin("d:\dgdecodenv.dll")
dgsource("G:\QUARANTINE\BDMV\STREAM\00011.dga")
bilinearresize(1280,688)
assumefps(2000)
1:54:70
cpu usage = 75-80%
Measured time with a stop watch.
GPU = 8800gt 512M
CPU = Q6600 B1 @ 3200mhz.
Audionut
9th August 2009, 10:37
Hmm, it crops after resizing!!
No biggie, I'll just have to learn to do things differently.
Unless you want to provide an option to crop then resize. :sly:
Audionut
9th August 2009, 10:55
Crop of 24 on top and bottom on the 1080p source file with this avs file.
loadplugin("d:\dgdecodenv.dll")
dgsource("G:\QUARANTINE\BDMV\STREAM\00011.dga", resize_w=1280, resize_h=688)
assumefps(2000)
As you can see, dgavcindex reports 1280x640.
http://img529.imageshack.us/img529/3156/dgavcdecode.png
http://www.users.on.net/~audionut11/11.demuxed.264
edit: the dga file reports 1280x636
http://www.users.on.net/~audionut11/11.dga
Guest
9th August 2009, 13:56
Hmm, it crops after resizing!!
No biggie, I'll just have to learn to do things differently.
Unless you want to provide an option to crop then resize. :sly: No, it's cropping before resizing. I may have a bug with setting the framesize. I'll investigate your sample.
Audionut
9th August 2009, 14:04
My apologies Don.
I cropped 24 off the top and 28 off the bottom. So the resulting file would have a height of 636 after resizing.
No, it's cropping before resizing
If I crop in dgindex then resize in dgsource I get a file that has effectively been cropped after resizing.
Hence the frame height of 636 with dgsource("G:\QUARANTINE\BDMV\STREAM\00011.dga", resize_w=1280, resize_h=688)
I got a bad feeling I'm not explaining myself properly.
Guest
9th August 2009, 14:18
OK, the indexer is supposed to put in the DGA file the coded picture width and height. For your sample that is 1280 x 640. But the stream specifies the display area as 1280 x 636. I had forgot to change that in DGAVCIndexNV to have it display the coded size. So please redownload beta 7 and you will now have 1280 x 640 in the DGA file.
If you crop in DGAVCIndexNV, then yes, currently it will be after GPU resizing, because it just invokes Crop() after DGSource(). You should use the GPU cropping with crop_l, crop_r, crop_t, and crop_b in your DGSource() invocation.
Yes, I should fix the indexers to invoke GPU cropping instead of Crop(). Thanks for pointing that out.
With the fixed DGAVCIndexNV and using the GPU cropping in DGSource(), do you still have an issue?
Audionut
9th August 2009, 14:43
Ok, pictures speak a thousand words. I've seen you're edit but I'm still gonna start from the top.
http://img529.imageshack.us/img529/4089/crop.png
http://img412.imageshack.us/img412/2808/output.png
Ok, nothing new here. Just confirms you're edit.
But notice the top of that frame. Back to that in a minute.
The sample should be 1280x636. Did you see my post above about my previous mistake.
Virtualdub reports that, also x264. But dgindex reports 1280x640.
Here's a sample from the new beta7.
http://www.users.on.net/~audionut11/frame.demuxed.264
http://www.users.on.net/~audionut11/frame.dga
As you can see, there's a lot of garbage in the first few frames.
Guest
9th August 2009, 14:50
The sample should be 1280x636. Did you see my post above about my previous mistake.
Virtualdub reports that, also x264. But dgindex reports 1280x640. As I said, dgindex always reports the coded frame size, not including the stream's specified (cropped) display area.
Audionut
9th August 2009, 14:51
With the fixed DGAVCIndexNV and using the GPU cropping in DGSource(), do you still have an issue?
No. Works like a charm.
Yes, I should fix the indexers to invoke GPU cropping instead of Crop(). Thanks for pointing that out.
Does that mean I can crop in dgindex and have the cropping applied after resizing.
Else where back to square one. dgindex crops after resizing.
Guest
9th August 2009, 15:00
Does that mean I can crop in dgindex and have the cropping applied after resizing. No, it means you can crop in dgindex and have the cropping done on the GPU before resizing.
dgindex crops after resizing. Yes, I have acknowledged that and will fix it. Thank you for pointing it out.
Now, you are getting some artifacting?
Audionut
9th August 2009, 15:10
http://img38.imageshack.us/img38/6546/636z.png
edit: just seen you're edit above. Where done here. Thanks Don, sorry for being a pita.
Now, you are getting some artifacting?
Yes, see sample http://www.users.on.net/~audionut11/frame.demuxed.264
Guest
9th August 2009, 15:24
Please re-download beta 7. DGDecodeNV was updated so that the indexer's cropping is applied before GPU resizing. Please tell me if it behaves as expected. For cropping after resizing, use Crop() after DGSource(). Note that the crop parameters to DGSource() were removed, as the indexer should now be used to set up cropping.
You're not a pita, you have always been very helpful to me in the development of my tools.
Looking at the artifacting now...
Audionut
9th August 2009, 15:29
Please re-download beta 7. DGDecodeNV was updated so that the indexer's cropping is applied before GPU resizing. Please tell me if it behaves as expected. For cropping after resizing, use Crop() after DGSource(). Note that the crop parameters to DGSource() were removed, as the indexer should now be used to set up cropping.
Working perfect. Thanks again.
SquallMX
10th August 2009, 06:55
Working perfect. Thanks again.
I second that, btw (really off topic) Quarantine max real resolution is 480p aprox (Bad edition or director's choice?).
hxhxd
10th August 2009, 07:24
Have problem in demgpindexnv:
When I open the four vts_01 - 04 files. dgmpgindex says (look at the snapshot):
Audionut
10th August 2009, 07:32
What happens if you try the same thing with the latest beta.
http://neuron2.net/dgavcdecnv/NVbeta7.zip
buzzqw
10th August 2009, 07:36
@Neuron2
I already added support to your excellent tools in HDConvertToX gui.
Would you prefer (and allow) that i "bundle" HDC with latest NVTools (beta7 now) or simply link your site for manually download/install your tool?
thanks again
BHH
Guest
10th August 2009, 13:33
I'd prefer you to link the site. Thanks for asking.
Guest
10th August 2009, 13:34
Have problem in demgpindexnv:
When I open the four vts_01 - 04 files. dgmpgindex says (look at the snapshot) What version of Nvidia drivers do you have installed?
buzzqw
10th August 2009, 13:53
thanks you, Neuron2
the HDC package doesn't include NVTools.
i add link/info on first post of hdc thread
BHH
canTsTop
10th August 2009, 14:45
Is this tool can handle videos with errors? Audio/video synchronization will be good? Video samples (333_0_0.ts, with_errors_2.ts, with_errors_LTV.ts) are here (http://www.mediafire.com/?sharekey=0d21c08fd364c52f61d4646c62b381cb6816bd8ecd1727af5621d66e282a0ee8).
Thank You.
Guest
10th August 2009, 14:46
There is no special handling for corrupted streams.
woah!
11th August 2009, 06:12
i am having an issue with beta6 and 7 server. beta5 opens and plays any indexed file from beta7 indexer, but using server beta6 or 7 crashes viewer as soon as i open the avs script to preview it. i cant give a clip as it happens with every thing i process, and as i said works correctly with beta5 and below?
using 190.38 drivers on 32bit xp sp3.. is there anything i can upload to help solve this?
Guest
11th August 2009, 13:37
What is the "viewer" and what is the script?
Guest
11th August 2009, 14:15
Another thought: re-download beta 7 as it changed a few times. Make sure you update all the components.
woah!
12th August 2009, 02:08
ok found out what it was, i didnt update DGDecodeNV.dll in my AviSynth 2.5\plugins folder ... damn i should know better...
hxhxd
12th August 2009, 03:22
What version of Nvidia drivers do you have installed?
I don't remember the exact version. Only I can get is a snapshot of the card properties page.
Edit: I've installed the lastest version from nvidia site. And the problem has gone. :)
prokhozhijj
14th August 2009, 23:35
I do my post here JIC:
I've got error when opening VOB files in NVBeta7 DGMPGIndexNV.exe
GPU decoder: Failed to create video decoder [100].
After this error happens I can not to close application legally. But when I close project firstly (File -> Close) than I can to close application.
When I try to preview or play video in DGMPGIndexNV.exe apllication I am getting following: No video frames found!
This issue happens with all VOB files.
Neuron2 can not help me with this issue. May be somebody else?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.