View Full Version : dslibdvdnav - directshow wrapper of libdvdnav, a DVD navigator
starla
8th November 2011, 09:02
Thanks a lot.
I want to make a real BD navigator with BD-J support. So BD-J is the main target. Current trying to relplace the JVM to phoneme and maybe an basic demo will run soon.
Let me know how it goes :) BD-J support would be nice to have - the one that is in libbluray is really missing a lot of implementation.
There are lot of communication that is required to be implemented between the library and the Java side and custom Java implementation as well - it wont be enough just to have a virtual machine that is capable of running the Java applets found on the Blu-ray disks.
--
tourettes / MediaPortal
starla
8th November 2011, 09:04
Hi cb2000,
developer of MediaPortal make own dshow wrapper for bluray. The source you can finde here:
https://github.com/MediaPortal/MediaPortal-1/compare/master...FEAT-3758-Implement_Blu-ray_playback_support#diff-4
It would be better to link to the feature branch, not a specific commit :)
https://github.com/MediaPortal/MediaPortal-1/tree/FEAT-3758-Implement_Blu-ray_playback_support
Also here's the thread about the development: http://forum.team-mediaportal.com/general-development-no-feature-request-here-48/native-blu-ray-support-102375/
In any case it might be wise to split of the whole Blu-ray ds filter discussion to a separate thread to keep this thread as DVD navigator only.
--
tourettes / MediaPortal
dansrfe
8th November 2011, 10:16
Thanks dansrfe.Would u please describe the bugs to me.
1.What player, video decoder, video renderer u are using ? What is the video aspect radio and pan & scan setting?
2.Does audio output always wrong or just for some disc(comparing with original MS's DVD Navigator)?
Does "4 channel MP3" produce correct sound? Is there another ac3/dts stream exists but not selected by default?Some pal disc may contains mp2 audio stream. I doubt if it is a bug.
Player: MPC-HC latest nightly build
Video Decoder: ffdshow libavcodec (DVD Decoding on)
Video Renderer: madVR
Video Aspect Ratio: 4:3 (640 x 480 Mnue & Movie)
4 channel MP3 does not produce any sound whatsoever. I definitely think this is a bug of some sort. When I simply switch back to qdvd.dll from windows xp I get AC3 or DTS (depending on what the DVD has)
cb2000
14th November 2011, 05:29
My two month old baby took me so many time these days, so the progress is slow.
But anyway, dansrfe, please try the new version on sourceforge to see if the bugs fixed.
dansrfe
14th November 2011, 05:34
My two month old baby took me so many time these days, so the progress is slow.
But anyway, dansrfe, please try the new version on sourceforge to see if the bugs fixed.
First off, congratulations on your baby! Family comes first always :)
I will report back in the next couple of mins...
dansrfe
14th November 2011, 05:43
The archive seems to be corrupted. WinRAR throws an error at me when I try to open it.
cb2000
14th November 2011, 07:41
Upload again. It should be OK now.
dansrfe
14th November 2011, 08:11
Ok so the audio bug has been fixed.
List of bugs that remain plus new bugs:
1) Title or Root menu shows frozen frame from beginning of IFO "Warning screen" when attempt is made to skip directly to Title or Root menu on some titiles (particularly PAL DVDs I think).
2) Sometimes MPC-HC does not end process when media player is closed (X or Alt + F4) and process needs to be forcefully ended.
Side request:
Is it possible to detect soft/hard telecine and send the frame rate accordingly to the renderer? For example if I have a progressive NTSC disc @ 23.976fps but soft-telecined to 29.976...would it be possible to send 23.976ps instead of 29.976fps as fps to be sent to the renderer? I understand that this may cause some issues since it involves multiple factors of deinterlacing and pull-down flags which could create more problems than solve and if so is it possible for you to create a keyboard shortcut that will allow the user to change the "detected fps information tag" to 23.976, 25, or 29.976? Those are the only rates DVDs use and two of them are already being passed by the navigator but 23.976 detected fps is sometimes necessary for madVR to switch to the proper refresh rate since it reads the fps information from the source filter which happens to be the navigator in this case.
On a side note MS DVD Nav is horrible in this aspect. It shows 25fps detected for all DVD content, regardless of it being NTSC or PAL.
Thanks!
nx6
14th November 2011, 09:16
Okay, so I'm trying this out...
I have the folder uncompressed and ran the "hack" tool. Do I need to move files to specific locations or can I leave the folder all together anywhere?
How do I configure my media program to use this navigator instead of the Microsoft one?
cb2000
14th November 2011, 12:36
Ok so the audio bug has been fixed.
Is it possible to detect soft/hard telecine and send the frame rate accordingly to the renderer? For example if I have a progressive NTSC disc @ 23.976fps but soft-telecined to 29.976...would it be possible to send 23.976ps instead of 29.976fps as fps to be sent to the renderer? I understand that this may cause some issues since it involves multiple factors of deinterlacing and pull-down flags which could create more problems than solve and if so is it possible for you to create a keyboard shortcut that will allow the user to change the "detected fps information tag" to 23.976, 25, or 29.976? Those are the only rates DVDs use and two of them are already being passed by the navigator but 23.976 detected fps is sometimes necessary for madVR to switch to the proper refresh rate since it reads the fps information from the source filter which happens to be the navigator in this case.
Are the menu buttons accurate now ?
If the frame rate flag in the MPEG2 Sequence header say it is 23.976fps ? Can capture the Sequence header of VOB(maybe use the VOBEdit can do it)? http://www.ifoedit.com
cb2000
14th November 2011, 12:40
Okay, so I'm trying this out...
I have the folder uncompressed and ran the "hack" tool. Do I need to move files to specific locations or can I leave the folder all together anywhere?
How do I configure my media program to use this navigator instead of the Microsoft one?
Put it anywhere u want. Only run the "hack" tool and point to correct path of the file. Once u "hack", media program load dslibdvdnav instead of MS's automaticly. No configure needed.
cb2000
14th November 2011, 15:05
1) Title or Root menu shows frozen frame from beginning of IFO "Warning screen" when attempt is made to skip directly to Title or Root menu on some titiles (particularly PAL DVDs I think).
I need all ifo on the disc for debug and how to reproduce the bug.
2) Sometimes MPC-HC does not end process when media player is closed (X or Alt + F4) and process needs to be forcefully ended.
I have fixed a deadlock bug in the last update, but ...
It is a big isue, but hardly to fixed.
Is it correspond to a disc, or just random?
dansrfe
14th November 2011, 16:16
I need all ifo on the disc for debug and how to reproduce the bug.
I have fixed a deadlock bug in the last update, but ...
It is a big isue, but hardly to fixed.
Is it correspond to a disc, or just random?
Here is a zip file with 4 DVD's IFOs under folder names labeled with the specific problem behavior when opening the DVD from VIDEO_TS.IFO.
http://www.mediafire.com/?n19d1u1g9jv62ji
The deadlock bug appears to be in all DVD's that I tested. I have to force MPC-HC shutdown when using dslibdvdnav.
dansrfe
14th November 2011, 16:25
Are the menu buttons accurate now ?
If the frame rate flag in the MPEG2 Sequence header say it is 23.976fps ? Can capture the Sequence header of VOB(maybe use the VOBEdit can do it)? http://www.ifoedit.com
Menu buttons are accurate but as you'll see in the IFO zip that I linked above...on one particular DVD the buttons don't highlight when the cursor is moved on top of a button. I think that this is a problem with this particular disc only though. Other than that menu selection works very well and the navigation links are accurately placed in the button selection area.
EDIT: According to nevcairiel below and further research on the topic I think the 23.976fps situation is either madVR's problem with DVD's. So nothing to be done in dslibdvdnav for that.
PS: I love how dslibdvdnav fixed a number of problems I was having with MS's DVD navigator to do with seeking, and it seems like it even fixed some timestamp stuff. Just a couple more bug fixes and I think the devs for MPC-HC will hopefully integrate this into MPC-HC :D
nevcairiel
14th November 2011, 16:28
FYI, madVR switches the refresh rate only once at start, it does not switch again if the source filter decides to change its FPS information.
dansrfe
14th November 2011, 16:49
FYI, madVR switches the refresh rate only once at start, it does not switch again if the source filter decides to change its FPS information.
You're right. I checked the fps thing again. I guess this is madshi's problem to fix in madVR. I'm not sure why other people aren't raising questions about the refresh rate on DVD's in the madVR thread. Either people aren't noticing or madshi is a little busy for this problem atm (which seems to be the reason).
dansrfe
14th November 2011, 17:36
Found another bug (or problem):
I cannot seek using left/right arrows in MPC-HC. The frame count doesn't go forward and stays at the same frame when I try to go back and forth in some discs only.
Neeto
15th November 2011, 03:37
You're right. I checked the fps thing again. I guess this is madshi's problem to fix in madVR. I'm not sure why other people aren't raising questions about the refresh rate on DVD's in the madVR thread. Either people aren't noticing or madshi is a little busy for this problem atm (which seems to be the reason).
I raised this a while back.
There where multiple issues found.
One was ffdshow bug which I logged - haven't checked the status for a while.
Dialog with madshi on this starts here.
http://forum.doom9.org/showthread.php?p=1507574#post1507574
dansrfe
15th November 2011, 05:42
I raised this a while back.
There where multiple issues found.
One was ffdshow bug which I logged - haven't checked the status for a while.
Dialog with madshi on this starts here.
http://forum.doom9.org/showthread.php?p=1507574#post1507574
Well we know where the 25fps problem is coming from. And dslibdvdnav fixes that problem from a "MPEG-2 standard" viewpoint.
Now the real question that I want to know is that when MS's DVD navigator shows 25 fps for everything why does it play at a visually correct speed in madVR? I'm guessing madVR uses the source filter's fps information to set the according refresh rate and then displays at whatever fps ffdshow is sending at.
Furthermore, the reason why madVR doesn't take the fps information from ffdshow is because ffdshow takes a while to "display" the accurate fps of the video due to internal indexing of some sort similar to what DGIndex does I'm guessing.
Which is why the fundamental problem rests at how to signal madVR to set the refresh rate for 23.976fps soft-telecined, progressive NTSC, 25fps soft-telecined, progressive NTSC (not that common, but can be done), 29.976fps hard-telecined, interlaced/3:2 pulldown NTSC, or 25fps PAL?
Personally I think that what dslibdvdnav shows as the fps is OK for the normal user and it just won't display NTSC content at 23.976 or 24 Hz or 25Hz. However for us that rely on the refresh rate changer and use ReClock on top of that (I don't) this becomes a major issue and at that point the solution needs to come down to the user.
There should be a manual "source filter fps override" for internal madVR use that tells madVR that "this" is the correct fps and that the refresh rate of the display should be changed accordingly. A toggle or keyboard shortcut would work well in this case.
Neeto
15th November 2011, 06:59
Well we know where the 25fps problem is coming from. And dslibdvdnav fixes that problem from a "MPEG-2 standard" viewpoint.
Now the real question that I want to know is that when MS's DVD navigator shows 25 fps for everything why does it play at a visually correct speed in madVR? I'm guessing madVR uses the source filter's fps information to set the according refresh rate and then displays at whatever fps ffdshow is sending at.
Furthermore, the reason why madVR doesn't take the fps information from ffdshow is because ffdshow takes a while to "display" the accurate fps of the video due to internal indexing of some sort similar to what DGIndex does I'm guessing.
Which is why the fundamental problem rests at how to signal madVR to set the refresh rate for 23.976fps soft-telecined, progressive NTSC, 25fps soft-telecined, progressive NTSC (not that common, but can be done), 29.976fps hard-telecined, interlaced/3:2 pulldown NTSC, or 25fps PAL?
Personally I think that what dslibdvdnav shows as the fps is OK for the normal user and it just won't display NTSC content at 23.976 or 24 Hz or 25Hz. However for us that rely on the refresh rate changer and use ReClock on top of that (I don't) this becomes a major issue and at that point the solution needs to come down to the user.
There should be a manual "source filter fps override" for internal madVR use that tells madVR that "this" is the correct fps and that the refresh rate of the display should be changed accordingly. A toggle or keyboard shortcut would work well in this case.
I think the investigation showed the ffdshow was reporting the wrong values, not that it was reporting no values.
The particular instance is when the screen is normally at 50Hz (I live in PAL land) and I want to play and NTSC content that is video e.g. music DVD i.e. not film and want a 60 Hz refresh rate and ffdshow kept saying 25fps, not 30fps (or 29.976).
I agree there is probably more than one issue here and made worse by the film (hard/soft telecine) vs. video issue in NTSC land.
I've not been back to test this with the latest LAV or internal MadVR decoders - will try tonight to see what the results are.
nx6
15th November 2011, 08:22
Put it anywhere u want. Only run the "hack" tool and point to correct path of the file. Once u "hack", media program load dslibdvdnav instead of MS's automatically. No configure needed.
Didn't work for me. Still getting Macrovision Error in both Zoom Player and MPC-HC when I try and play a DVD from it when I use madVR.
nevcairiel
15th November 2011, 09:12
I don't get any Macrovision errors, even with the MS DVD Navigator. Just don't use ffdshow audio, its dvd implementation seems to cause this - use LAV Audio instead.
Wile-E-Coyote
15th November 2011, 09:58
Hey, just wanted to pitch in.
I also have macrovision error when I try use microsoft of mpc-hc native mpeg2 decoder.
Using LAV Audio instead of ffdshow audio doesn't change anything.
nx6
15th November 2011, 10:14
I don't get any Macrovision errors, even with the MS DVD Navigator. Just don't use ffdshow audio, its dvd implementation seems to cause this - use LAV Audio instead.
No, that doesn't change anything.
dansrfe
21st November 2011, 06:23
Anything cb2000?
Wile-E-Coyote
21st November 2011, 11:04
There's something I find weird about the hack tool.
The one in the Win32 folder reports the DVD Navigator path is C:\Windows\SYSWOW64\qdvd.dll ; and the one in the x64 folder reports C:\Windows\System32\qdvd.dll
Shouldn't it be the other way around?
nevcairiel
21st November 2011, 11:09
WoW64 means "Windows on Windows64", which means it is the 32-bit version. System32 is the "main" System folder, which on a 64-bit system contains the 64-bit versions.
It might not be intuitive, but thats how it is.
Wile-E-Coyote
21st November 2011, 11:38
WoW64 means "Windows on Windows64", which means it is the 32-bit version. System32 is the "main" System folder, which on a 64-bit system contains the 64-bit versions.
It might not be intuitive, but thats how it is.
Aaah! Thanks a lot for the clarification Nev :)
Btw, any chance LAV Video will ever be able to decode DVD video? Since MPC-HC internal filter gives me a macrovision error and I don't like ffdshow it would be a welcome feature.
nevcairiel
21st November 2011, 13:15
Btw, any chance LAV Video will ever be able to decode DVD video? Since MPC-HC internal filter gives me a macrovision error and I don't like ffdshow it would be a welcome feature.
Its planned, but the navigation overlays and subtitles are making it harder then one would think.
dansrfe
21st November 2011, 18:25
Its planned, but the navigation overlays and subtitles are making it harder then one would think.
It'll be amazing if dvd decoding is brought into lavsplitter. :)
nevcairiel
21st November 2011, 18:43
We're talking about decoding the video, not replacing the navigator, so lav video and not splitter.
Wile-E-Coyote
21st November 2011, 19:36
Being able to play DVDs with madvr would be a good start.
dansrfe
21st November 2011, 22:12
The possibly a DVD navigator could be included in lav splitter or "lav navigator" I guess...
cb2000
23rd November 2011, 02:23
2) Sometimes MPC-HC does not end process when media player is closed (X or Alt + F4) and process needs to be forcefully ended.
I do not find this bug in my test, it is so strange...
cb2000
23rd November 2011, 02:32
dansrfe, for your ifos,
1.Menu buttons not highlighted: highlight info is stored in vob, so the vob file is also needed for debugging, but the vob is anyway so big... sorry for that
2.No Warning screen & frozen frame: I find a "bug" in libdvdnav, and will post a test build to see if it can be resolved.
3.for progresstive 24hz vob: I don't know if the framerate is stored in vob, Would u please split the file 1M bytes from head?
cb2000
23rd November 2011, 02:36
progress on bdj: running Java_ME_platform_SDK_3.0 BdjGunBunny sample in a standalone app now, trying to intergrate to ds filter.
Midzuki
23rd November 2011, 03:28
It might not be intuitive, but thats how it is.
Micro$oft loves to complicate things. :devil:
So the BOOT partition is called "system partition",
and the SYSTEM partition is called "boot partition". :mad:
cb2000
23rd November 2011, 14:42
test build: http://sourceforge.net/projects/dslibdvdnav/files/test.zip/download
Wile-E-Coyote
24th November 2011, 09:40
test build: http://sourceforge.net/projects/dslibdvdnav/files/test.zip/download
Sorry, keep getting macrovision fails with madVR after updating.
MPC-HC latest build
LAV Splitter
LAV Audio
MPC's internal MPEG2 decoder
madVR 0.79
cb2000
24th November 2011, 16:20
Sorry, keep getting macrovision fails with madVR after updating
That test build not for macrovision, only try to fix bug reported by dansrfe.
The only code in dslibdvdnav that touchs macrovision is below:
AM_COPY_MACROVISION Macrovision;
Macrovision.MACROVISIONLevel = AM_MACROVISION_DISABLED;
m_KsPropertySet->Set(AM_KSPROPSETID_CopyProt, AM_PROPERTY_COPY_MACROVISION, NULL, 0, &Macrovision, sizeof(Macrovision));
I have comment out these lines and renew the test.zip. I can't conform it because I don't get this error maybe my video card have macrovision hardware to response to it.
U can try it. If it still not resolve the macrovision bug, only madshi can resolve it, because other vr don't have this problem, it is the bug of madvr.
sexus
25th November 2011, 05:14
i suppose the test.zip is supposed to go into the madvr folder? i too am using madvr and want to be able to navigate my dvds without getting the god damned macrovision fail in mpchc -.-'
cb2000
26th November 2011, 02:46
i suppose the test.zip is supposed to go into the madvr folder? i too am using madvr and want to be able to navigate my dvds without getting the god damned macrovision fail in mpchc -.-'
http://sourceforge.net/projects/dslibdvdnav/files/0.2.4.zip/download
See readme in release 0.2.4. The test build is after the release and win32 only, it is trying to fix some bug but not confirmed. U can test the release and test build both.
dansrfe
26th November 2011, 03:35
I'm out of town right now and don't have access to my dvds but when I get back home I'll give you my results on the dvds that I was having problems with. Thanks for actively working on dslibdvdnav! Much appreciated.
sexus
26th November 2011, 08:27
ok tested and....still no success so ill just wait for the lav author to integrate native dvd support as he just mentioned ,peace
p.s: the test built i couldnt test since im using 64bit windows btw
cb2000
27th November 2011, 07:17
p.s: the test built i couldnt test since im using 64bit windows btw
madvr is 32bit, even on 64bit windows it run in 32bit mode. also the win32 version of dslibdvdnav and hack tool should be used.
cb2000
27th November 2011, 07:19
I'm out of town right now and don't have access to my dvds but when I get back home I'll give you my results on the dvds that I was having problems with. Thanks for actively working on dslibdvdnav! Much appreciated.
Thanks a lot! dansrfe!
cb2000
27th November 2011, 09:30
Get a computer to test macrovision fail.
On my test, dslibdvdnav works with madvr and haali renderer, no macrovision fail.
See macrovision description on MSDNhttp://msdn.microsoft.com/en-us/library/windows/hardware/ff567711(v=vs.85).aspx
I think DVD navigator tell video renderer to do macrovision processing, "The decoder is not involved." So video renderer must impletement some special interface to be called by MS' DVD navigator, maybe the "IksProperty", if vr not support this interface, the macrovision fail sended by MS' DVD navigator.
dslibdvdnav just ingore macrovision flag so it works.
sexus
27th November 2011, 12:49
i see hmmm...well just tested as recommended and it works ...but theres quite abit artifacting but with ffdshow video for dvd none , so the hack is a bad solution instead use ffdshow video but only for dvd
and its a good fix till we get native support from the lav dev as said
cb2000
27th November 2011, 13:35
Why a bad solution?
It is just a source filter that extract compressed video, audio and subtitle from dvd stream, video quality is none of its business. Video quality depended on the decoder, video renderer and also the video card and monitor. You can still use ffdshow to decode if u think it is better than other decoder.
As I mention above, i don't think a decoder can resolve macrovision fail.
sexus
27th November 2011, 13:46
tbh it did no joke read this thread http://forum.doom9.org/showthread.php?t=146228&page=557
once again with this solution i get artifacting but with ffdshow video for dvd instead of it ...none
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.