View Full Version : DG NV tools
LigH
21st January 2013, 15:29
A multi-angle DVD is (a little more than) an MPEG2 Program Stream (which makes the VOB file) containing several multiplexed MPEG2 Video Streams, where the additional video streams are meant to be an alternative to brief parts of the first video stream. Video encoders have quite strict limits when creating multi-angle compliant video, e.g. the GOPs have to match in structure across all parallel angle streams.
When you play a DVD with the second angle selected, it plays the first video stream where there is only one, and plays the second for the scenes where there are (at least) two alternative video streams in parallel. DVD Rippers will cut-and-stitch it in the same way to one single continuous video stream.
I only got one DVD so far which used multi-angle, that was the german "Shrek" DVD production, where the intro replaced original english cast screens by german versions; the whole rest of the movie was a single video stream.
an3k
21st January 2013, 15:37
A multi-angle DVD is (a little more than) an MPEG2 Program Stream (which makes the VOB file) containing several multiplexed MPEG2 Video Streams, where the additional video streams are meant to be an alternative to brief parts of the first video stream. Video encoders have quite strict limits when creating multi-angle compliant video, e.g. the GOPs have to match in structure across all parallel angle streams.That is what i meant. It's not like H.264 AVC and H.264 MVC.
I only got one DVD so far which used multi-angle, that was the german "Shrek" DVD production, where the intro replaced original english cast screens by german versions; the whole rest of the movie was a single video stream.I only have one too: japanese DVD of Princess Mononoke. First angle is the original movie and second angle is the whole movie but as story board drawings.
Afaik multi-angle is only useful for exactly one usage: switching "playlists" while playing the movie but if that is not required creating playlists is much easier (theatrical cut vs. director's cut).
LigH
22nd January 2013, 09:46
Ehm, no, there is at least one more use for "multi-angle", the purpose which gave its name: When the same scene was filmed from multiple angles by several cameras in sync.
I was a professional DVD authorer when our company made a DVD of the opera "Turandot" with multi-angle scenes (indicated by a "shining moon" symbol).
And I believe there are many more MA productions in the adult movie sector...
an3k
22nd January 2013, 10:00
Ehm, no, there is at least one more use for "multi-angle", the purpose which gave its name: When the same scene was filmed from multiple angles by several cameras in sync.
I was a professional DVD authorer when our company made a DVD of the opera "Turandot" with multi-angle scenes (indicated by a "shining moon" symbol).
And I believe there are many more MA productions in the adult movie sector...Yes, you're right. What i meant was that multi-angle is just like a playlist but with one difference: you can't switch between angles instantly while being in the middle of content. A playlist starts from the beginning.
Think about a movie. Theatrical cut and Director's Cut. To make it easy the Director's Cut only have an alternative ending. With multi-angle the viewer can instantly jump between original and alternate ending. He can't do that if playlists were used. However, neither for playlists not for multi-angle you need to save both cuts completely on disc, just the different parts.
Or did i miss something?
LigH
22nd January 2013, 10:15
Yes. Multi-angle is not at all related to different content. You would have a continuing audio stream, just different videos to the same audio. If you have different endings, you would have different audio per ending, and this can't be solved by multi-angle.
There is a different technique: "seamless branching". A little more complex. Tries to avoid breaks at branch points but allows different content for both video and audio. I don't remember in detail how it works; maybe imagine it like interleaved PGCs.
Selur
11th February 2013, 15:52
btw. is there a method in DGIndexNV to handle soft telecine material like DGIndexs 'Force Film' option? Or should I simply use TIVTC and be happy.
LigH
11th February 2013, 15:57
"Soft Telecine" means that the material is stored progressively with FILM framerate (24000/1001), and the (DVD) player has to apply the 3:2 pulldown on-the-fly to display it with NTSC framerate (30000/1001).
Means: There is no IVTC necessary. The video is already progressive. The decoder should "ignore the pulldown flag".
x265
11th February 2013, 16:03
Is there an option for that?
Selur
11th February 2013, 16:30
okay, so writing something like:
clip = ( FrameRate (clip) ) == 23.976 ) ? clip : tfm().tdecimate()
should work ?
LigH
11th February 2013, 16:31
Oh, sorry, I didn't check DGIndexNV.exe thoroughly ... no, it doesn't seem to have an according option.
I just created a small test M2V with HCEnc 0.26, it is always decoded with Telecine.
Selecting the option "PureVideo Deinterlacer › Use progressive_frame" does not force the decoder to ignore the Soft Telecine flag.
__
@ Selur:
No; remember the precision of float values. 24000/1001 is not exactly equal to 23.976! (clip.FrameRate < 25.0) may work.
If Donald knows a way to set up the PureVideo decoder to ignore this flag, this would certainly be the preferable solution.
http://frupic.frubar.net/shots/28800.png
Guest
11th February 2013, 16:45
Of course there is an equivalent to Force Film. But the options are now in DGDecodeNV. Look at its user manual and you will find the field handling options.
Selur
11th February 2013, 16:47
thanks
LigH
11th February 2013, 16:51
fieldop: 0/1/2 (default: 0)
0: Honor Pulldown Flags
1: Force Film
2: Ignore Pulldown Flags
In your case then: fieldop=2
__
P.S.:
The documentations seems to have a typo:
If the clip is 29.976fps
Rather 29.970 - in contrast to 23.976.
Selur
11th February 2013, 17:22
okay, so I could:
1st run the file through DGIndexNV
2nd check how much 'Coded #' vs. 'Playback #' differs
- if it's around 1/4 I use 'Force Film' since it's soft telecine
- otherwise I use 'Ignore Pulldown Flags' and use TIVTC
right?
Cu Selur
Guest
11th February 2013, 17:33
Use honor pulldown when doing external IVTC.
Selur
11th February 2013, 17:46
okay. Can I tell DGIndexNV somehow to create the .log file next to the project file and not next to the input file?
Guest
11th February 2013, 20:45
No, sorry.
Selur
11th February 2013, 22:05
would be nice if that could be added to the next version if it's not too much of a hassle.
colinhunt
25th February 2013, 22:01
I'd like to set DGDecodeNV up so that BD-Rebuilder will always select PAT/PMT instead of asking me to choose between Yes, No and Cancel. Jdobbs told me to check DGIndexManual.html for info on how to do that. The manual says of the "Always Ignore Mismatched Audio":
When enabled, the popup does not occur and the audio stream is always disabled. This option setting is stored in the INI file and so is retained across DGIndexNV invocations.
I checked "Always Ignore Mismatched Audio" in the Options menu of DGIndexNV.exe but something made me check the DGIndexNV.ini file. In it I found this line:
AlwaysCancelOnAudioMismatch=1
Based on the name of that parameter DGIndexNV will now cancel the process whenever Audio Mismatch is detected instead of ignoring the mismatch. Is this a case of incorrectly named parameter...?
Guest
25th February 2013, 22:13
The name of the option in the GUI and the string that is used to store its state in the INI file are not the same. It's inconsequential. The user is expected to use the GUI to change option settings.
Note that this will not force use of PAT/PMT when there is a mismatch; it will disable that audio stream completely.
colinhunt
25th February 2013, 22:35
The name of the option in the GUI and the string that is used to store its state in the INI file are not the same. It's inconsequential. The user is expected to use the GUI to change option settings.
Note that this will not force use of PAT/PMT when there is a mismatch; it will disable that audio stream completely.
OK. So how do I tell DGDecNV to always select "Yes" for PAT/PMT automatically when there's an audio mismatch?
Guest
25th February 2013, 23:17
You can't right now. I'll have to add that in the next release. But only if you promise not to blame me if it creates issues for you to assume that PAT/PMT is always correct when the audio is detected as different. :)
colinhunt
25th February 2013, 23:35
You can't right now. I'll have to add that in the next release. But only if you promise not to blame me if it creates issues for you to assume that PAT/PMT is always correct when the audio is detected as different. :)
It's a deal. I'll blame myself only :)
Selur
28th February 2013, 09:00
atm. I use a Gefore GTX 470 (VP4) and a Geforce 210 (VP4) in my system, since I plan to switch out the Geforce 210 for a newer VP5 card it would be nice to use the new card instead of the GTX 470 with DGDecNV.
Since I couldn't find an option to select the graphic card I suspect DGDecNV is always using the first card in the system, but since I wanted to stick with the 470 as my main card this would not allow me to use the new VP5 card then.
-> I there an option to choose which card will be used in DGDecNV? If not, it would be nice if such a feature could be added.
Cu Selur
Guest
28th February 2013, 14:49
Yes, you can choose the device to use. Refer to Appendix E of the DGIndexNV user manual. Look for the CUDA_device INI file option.
Selur
1st March 2013, 07:04
Thanks for the info, totally missed that. :)
colinhunt
14th March 2013, 15:38
You can't right now. I'll have to add that in the next release. But only if you promise not to blame me if it creates issues for you to assume that PAT/PMT is always correct when the audio is detected as different. :)
Any progress on the new version, perchance? I'm testing BD-RB on some multi-episode japanimation titles that bring up the PAT/PMT dialog window 10+ times per disc, and the encoding rig might wait for user action for hours on end when I'm busy elsewhere...
Guest
14th March 2013, 22:54
I have it implemented and I will send you a test version this evening when I get home.
colinhunt
14th March 2013, 23:06
I may have discovered a problem with the latest DGDecNV, triggered by a hardware upgrade.
The problem did not manifest itself when the PC running BD-Rebuilder had a Quadro 4000 (for CUDA only) and an Intel HD4000 (on CPU, connected via HDMI to monitor).
This morning I disabled the Intel HD4000, connected the Quadro to a monitor via DVI and installed an additional GeForce GTX660 Ti (not connected to monitor). Running the latest BD-RB with DGDecNV enabled caused the PC to run out of RAM and grind to a halt during first pass. Sysinternals' RamMap told me there was a Mapped File (probably .mbtree) with a very small Active RAM footprint but with a 13GB Modified Memory footprint, eating up all available RAM. For some reason the system did not use PageFile even though there was a 16GB one on the boot partition.
Once I got the system to reboot, I ran another BD-RB encode, this time with DirectShow instead of DGDecNV. Encoding finished without problems. I'm now running another BD-RB job, this time with LAVF instead of DS or DGDecNV. It ran pass 1 without problems, is now running pass 2 and all appears to be OK.
Guest
14th March 2013, 23:19
Please try starting DGIndexNV manually (without BDRB). Go to Options/List GPU Devices and show the result here.
colinhunt
14th March 2013, 23:30
Please try starting DGIndexNV manually (without BDRB). Go to Options/List GPU Devices and show the result here.
>0: "GeForce GTX 660 Ti"
Compute 3.0 (using sm_30)
Memory 2049 MB
L2 cache 393216 bytes
Symmetric multiprocessors 7
Processor clock 980 MHz
Memory bus width 192 bits
GPU/PureVideo version GK104/VP5
1: "Quadro 4000"
Compute 2.0 (using sm_30)
Memory 2049 MB
L2 cache 524288 bytes
Symmetric multiprocessors 8
Processor clock 950 MHz
Memory bus width 256 bits
GPU/PureVideo version unknown
AVC: cuvid
MPG: cuda
VC1: cuvid
Guest
15th March 2013, 00:10
That looks fine.
Can you save a project and serve video via the script into VirtualDub (without using BDRB)?
There's no reason I can see for there to be any problem, unless maybe your BDRB settings are now wrong for the DGDecNV paths, etc.
You can also try changing the INI file to use the Quadro (see manual for auxiliary INI file options).
Finally, you might try connecting a monitor to the 660.
We'll have to get this resolved before I give you the test load we discussed, since there's no point if you can't run DGDecNV.
colinhunt
15th March 2013, 00:18
We'll have to get this resolved before I give you the test load we discussed, since there's no point if you can't run DGDecNV.
Oh, sorry, I should have clarified: I have three encoding rigs and was going to test the PAT/PMT modified DGDecNV on another rig, one that does not have this RAM problem.
Guest
15th March 2013, 00:40
OK, sure, then I'll send it to you.
Still looking for answers on the other issue though. :)
Heading home now...
colinhunt
15th March 2013, 00:51
OK, sure, then I'll send it to you.
Groovy. I'll test it tomorrow, off to bed now.
Still looking for answers on the other issue though. :)
I have a feeling it might have something to do with having both Quadro and GeForce drivers installed simultaneously. I'll do more testing next weekend.
Guest
15th March 2013, 01:24
Sent you a PM with the link and password. Please advise your results.
colinhunt
15th March 2013, 17:22
About the RAM issue. Nvidia Control Panel claimed the system was running Quadro drivers for both the Quadro 4000 and the 660 Ti, and I could tell from a desktop gadget BD-RB used the 660 Ti for decoding when set for DGDecNV use.
So I re-installed the latest GeForce drivers, rebooted, checked Nvidia Control Panel to make sure the drivers took, and gave BD-RB a backup job using DGDecNV. It's been running a few hours now and RAM usage has remained normal. Looks like case closed.
colinhunt
15th March 2013, 18:33
Sent you a PM with the link and password. Please advise your results.
First test encode was a complete success. Selected "Use PAT/PMT" in the menu and BD-RB never paused to ask for user action. Output has correct audio and it's in sync.
colinhunt
15th March 2013, 20:38
So I re-installed the latest GeForce drivers, rebooted, checked Nvidia Control Panel to make sure the drivers took, and gave BD-RB a backup job using DGDecNV. It's been running a few hours now and RAM usage has remained normal. Looks like case closed.
Whoops, perhaps not! I aborted one BD-RB job and started another within a couple of minutes: Modified RAM use started going up very fast immediately. In only a couple of minutes 90% of RAM was in use and the system was still using only 180MB of PageFile. I stopped BD-RB and closed it down, but 13GB of Modified RAM was just sitting there. Not sure what to try next...
My knowledge of the subject is close to zero but it sure looks like something's leaking a whole lot of memory. Sysinternals' RamMap shows me something is allocating huge loads of RAM to Modified Memory, but in the Processes tab the largest chunk of Modified RAM is taken by Avast: 7400 Kilobytes. Next biggest is svchost with 3900KB.
One thing to note: this behaviour was triggered by me aborting a BD-RB job and starting another. The system finished one BD-RB backup job successfully earlier today, and when I started another an hour later, RAM use was normal.
Guest
15th March 2013, 23:02
Sounds like something for jdobbs to look into.
colinhunt
16th March 2013, 00:05
Sounds like something for jdobbs to look into.
Hmm... but BD-RB did nothing like this before I installed another Nvidia GPU in the PC. And even though my testing is still incomplete, it's beginning to look like this RAM issue does not apply when using DirectShow or LAVF.
Guest
16th March 2013, 00:36
You said it was fine until you aborted a job in BDRB.
Try using DGDecNV by itself. Any issues?
colinhunt
16th March 2013, 15:28
You said it was fine until you aborted a job in BDRB.
Yes, I did. I thought that maybe aborting a job left something "open", so to speak. I'm not a programmer, far from it unfortunately, but it looks to me like finishing a BD-RB job closes/resets things properly but aborting a job does not. Does that make any sense?
Try using DGDecNV by itself. Any issues?
I'll give it a shot.
Guest
16th March 2013, 16:01
I don't know about BDRB internals. That's why I thought asking jdobbs about it would be appropriate. I have no other reports of similar behavior.
When you get into the high RAM usage state, can't you use Task Manager (or similar) to see who is holding the memory?
colinhunt
16th March 2013, 16:19
When you get into the high RAM usage state, can't you use Task Manager (or similar) to see who is holding the memory?
No, and believe me, I've tried. Nothing listed in Task Manager is holding all that RAM. That's why I installed Sysinternal's RamMap; it's supposed to be better at that kind of thing. But it can only tell me the RAM is going into Modified Memory of a Mapped File; none of the processes it lists hold 10+ GB of RAM.
RamMap lets me browse through the Modified Memory area for process names etc. but the only thing I found were a few mentions of the .mbtree file.
I've been running tests all morning but they've turned out inconclusive. In fact, I haven't managed to "force" the system into a high RAM usage state once! Not with DirectShow, LAVF or DGDecNV. I don't know what the hell is going on here... :/
What's more, this is the only one of my three encoding rigs doing this (at random, apparently). It's also the only rig which has two Nvidia GPUs installed - and this behaviour started after I installed the 2nd Nvidia GPU. And the high RAM use state has so far occurred only when BD-RB was set up for DGDecNV.
Typical RAM use during indexing:
http://i.imgur.com/L7ijKyZ.png
Typical RAM use during encode (1st pass):
http://i.imgur.com/YVqEcji.png?1
High RAM use state (a minute later the Modified RAM was over 10GB):
http://i.imgur.com/xyqx27m.png?1
Processes listing during high RAM use state:
http://i.imgur.com/rDRk3ZD.png?1
stranno
30th March 2013, 02:26
Is there any way to specify framerate in non-detected files?.
Coz i'm using a 59.940 264 stream and its being detected as 25FPS stream. Any way to set 59.940?.
Guest
30th March 2013, 03:56
Is there any way to specify framerate in non-detected files?.
Coz i'm using a 59.940 264 stream and its being detected as 25FPS stream. Any way to set 59.940?. Use AssumeFPS(59.94) in your Avisynth script.
LigH
30th March 2013, 06:48
This float value is not exact ... there are presets or fractions instead: AssumeFPS("ntsc_double") or AssumeFPS(60000, 1001).
http://avisynth.org/mediawiki/FPS
stranno
30th March 2013, 12:16
Use AssumeFPS(59.94) in your Avisynth script.
The problem is not really the framerate. The problem is that it only takes 25FPS along the movie. I mean, my video have 284286 frames in 59.64FPS (1:19:03) but DGIndexNV only recognize 142143 frames (its interlaced but i didnt change any option to deinterlace it). If i force it changin the dgi or using assumeFPS final lenght will be 39:31 and video will be speed up (coz it shorter than the source one).
..
..
..
142139:FRM 5 29 -1 5
IDR 284558594
142140:FRM 7 0 -1 5
142141:FRM 5 1 -1 5
142142:FRM 5 2 -1 5
SIZ 720 x 480
FPS 25000 / 1000
CODED 142143
PLAYBACK 142143
0.00% FILM
ORDER 0
And changing coded/playback wont work coz there are no info of the other ~142142 frames.
LigH
30th March 2013, 12:32
Why 59.64? 2*29.97=59.94
And then this SD resolution ... makes me wonder why you do believe in "double_ntsc" at all; this may be a "field rate", not a "frame rate". Which analysis tool did you use, that it got confused by PAFF interlacing? Which makes me wonder: What kind of video format is it originally — MPEG2, VC-1, MPEG4-AVC? A "full" report created by a recent MediaInfo would be useful.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.