Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st March 2012, 16:18   #1  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
directshow Bluray disc navigator filter base on libbluray

I have work on "dslibbluray", my directshow Bluray disc navigator filter for several monthes.
Although it is still in very early state, I still post a test build here for maybe someone would like to try it.
http://sourceforge.net/projects/dslibbluray/files/
cb2000 is offline   Reply With Quote
Old 1st March 2012, 16:49   #2  |  Link
dukey
Registered User
 
Join Date: Dec 2005
Posts: 560
Nice work cb2000. What interfaces are planned so we can use this filter ? And why have you made a custom EVR mixer ?
dukey is offline   Reply With Quote
Old 1st March 2012, 17:43   #3  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by dukey View Post
Nice work cb2000. What interfaces are planned so we can use this filter ? And why have you made a custom EVR mixer ?
the bdj graphic output is ARGB, the EVR can't mix it with video.
VMR9 support ARGB, but I have waste about one month to try to work with VMR9, but failed.
So I spend another one month to write a custom EVR mixer. It is working but also some feature not implement.
cb2000 is offline   Reply With Quote
Old 1st March 2012, 17:52   #4  |  Link
dukey
Registered User
 
Join Date: Dec 2005
Posts: 560
Quote:
Originally Posted by cb2000 View Post
the bdj graphic output is ARGB, the EVR can't mix it with video.
VMR9 support ARGB, but I have waste about one month to try to work with VMR9, but failed.
So I spend another one month to write a custom EVR mixer. It is working but also some feature not implement.
Yeah I discovered this limitation myself with EVR. VRM9 can do it.
However AYUV should work when sending to EVR, I don't see why you need to make a custom mixer, it doesn't make a lot of sense. If I want to implement this in my own program I need to use your custom mixer?

Just do your ARGB->AYUV conversion in the filter itself, and send the substream to the 2nd EVR pin. I've been working on something similar myself for rendering subtitles on other pins.
dukey is offline   Reply With Quote
Old 1st March 2012, 18:00   #5  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by dukey View Post
Yeah I discovered this limitation myself with EVR. VRM9 can do it.
However AYUV should work when sending to EVR, I don't see why you need to make a custom mixer, it doesn't make a lot of sense. If I want to implement this in my own program I need to use your custom mixer?

Just do your ARGB->AYUV conversion in the filter itself, and send the substream to the 2nd EVR pin. I've been working on something similar myself for rendering subtitles on other pins.
Unfortunately, many video card don't support AYUV also including mine (onboad ati 4250). It only support IA44 and AI44.
also a custom EVR mixer may support PIP feature. both EVR and VMR9 can't do it well.
cb2000 is offline   Reply With Quote
Old 1st March 2012, 18:08   #6  |  Link
dukey
Registered User
 
Join Date: Dec 2005
Posts: 560
Quote:
Originally Posted by cb2000 View Post
Unfortunately, many video card don't support AYUV also including mine (onboad ati 4250). It only support IA44 and AI44.
also a custom EVR mixer may support PIP feature. both EVR and VMR9 can't do it well.
Yeah that may well be true. My subtitle renderer only uses AI44, not even tried AYUV yet. Would be good to know what gfx cards support it, and what don't.

I suppose using a custom EVR mixer for this wouldn't be a deal breaker at all.
dukey is offline   Reply With Quote
Old 1st March 2012, 17:14   #7  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
With the last version (test0301) many BD are working but there are also a lot of crashing or simply not starting
The most frequent crashes are happening with this two messages
1.
Code:
Could not find helper library for argument -Xrunjdwp:transport=dt_socket,server=
n,address=8888
Cannot start VM (error handling -Xrun argument -Xrunjdwp:transport=dt_socket,ser
ver=n,address=8888)
java.lang.UnsatisfiedLinkError: no jdwp.dll in sun.boot.library.path
        at java.lang.ClassLoader.loadLibraryInternal(Compiled Method)(ClassLoade
r.java:1645)
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\bdj\bdj.c:171: Failed t
o create new Java VM.
2.
Code:
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\decoders\graphics_contr
oller.c:818:    auto-activate #0 not triggered (!cmds)
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\decoders\graphics_contr
oller.c:818:    auto-activate #4 not triggered (!cmds)
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\decoders\graphics_contr
oller.c:818:    auto-activate #16 not triggered (!cmds)
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\decoders\graphics_contr
oller.c:818:    auto-activate #17 not triggered (!cmds)
f:\work\bluray\dslibbluray\trunk\libbluray\src\libbluray\decoders\graphics_contr
oller.c:818:    auto-activate #4 not triggered (!cmds)
The first message it's followed by the previous reported error when trying to close Demo_Player
before crashing

Also the problem with the selection in some menus
Quote:
Originally Posted by Mercury_22 View Post
...
4. In some menus I can't see where is the selection: e.g when changing from PLAY to Languages I can't see when Language is selected although pressing enter it's showing the available languages
...
P.S. a small suggestion, if I may, find a way (to get rid of the Win7DSFilterTweaker) so we don't need to "Tweaker" the decoders cause most of us don't want to mess up our systems and in VM things are very slow

But, again this is a great start
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4

Last edited by Mercury_22; 1st March 2012 at 17:29.
Mercury_22 is offline   Reply With Quote
Old 1st March 2012, 17:47   #8  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by Mercury_22 View Post
1.[CODE]Could not find helper library for argument -Xrunjdwp:transport=dt_socket,server=
n,address=8888
sorry for missing java debug dll, provided in test0302.zip, lazy to compiled a none debug version.
cb2000 is offline   Reply With Quote
Old 1st March 2012, 17:59   #9  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
Quote:
Originally Posted by cb2000 View Post
sorry for missing java debug dll, provided in test0302.zip, lazy to compiled a none debug version.
Now I'm getting this
Code:
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
800
200
205
207
1004
800
java.lang.Error: Not implemented
        at org.havi.ui.event.HRcCapabilities.getRepresentation(Compiled Method)(
HRcCapabilities.java:25)
        at a.a.g.b.c(Compiled Method)(Unknown Source)
        at a.a.g.b.<init>(Compiled Method)(Unknown Source)
        at a.a.b.at.<init>(Compiled Method)(Unknown Source)
        at a.a.b.v.a(Compiled Method)(Unknown Source)
        at a.a.c.a.c(Compiled Method)(Unknown Source)
        at netblender.DoXlet.startXlet(Compiled Method)(Unknown Source)
        at org.videolan.BDJAppProxy.doStart(Compiled Method)(BDJAppProxy.java:17
0)
        at org.videolan.BDJAppProxy.run(Compiled Method)(BDJAppProxy.java:279)
        at java.lang.Thread.run(Compiled Method)(Thread.java:714)
        at java.lang.Thread.startup(Compiled Method)(Thread.java:785)
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4
Mercury_22 is offline   Reply With Quote
Old 1st March 2012, 18:03   #10  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by Mercury_22 View Post
Now I'm getting this
Code:
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
800
200
205
207
1004
800
java.lang.Error: Not implemented
        at org.havi.ui.event.HRcCapabilities.getRepresentation(Compiled Method)(
HRcCapabilities.java:25)
        at a.a.g.b.c(Compiled Method)(Unknown Source)
        at a.a.g.b.<init>(Compiled Method)(Unknown Source)
        at a.a.b.at.<init>(Compiled Method)(Unknown Source)
        at a.a.b.v.a(Compiled Method)(Unknown Source)
        at a.a.c.a.c(Compiled Method)(Unknown Source)
        at netblender.DoXlet.startXlet(Compiled Method)(Unknown Source)
        at org.videolan.BDJAppProxy.doStart(Compiled Method)(BDJAppProxy.java:17
0)
        at org.videolan.BDJAppProxy.run(Compiled Method)(BDJAppProxy.java:279)
        at java.lang.Thread.run(Compiled Method)(Thread.java:714)
        at java.lang.Thread.startup(Compiled Method)(Thread.java:785)
many BD-Java feature is not implement yet, sorry.
cb2000 is offline   Reply With Quote
Old 1st March 2012, 18:09   #11  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
Quote:
Originally Posted by cb2000 View Post
many BD-Java feature is not implement yet, sorry.
No problem I can wait

I don't know if it helps but I'm getting this when trying to debug one crash which happens after selecting start in the BD menu and pressing enter
Code:
Call Stac bluray.dll!6c20dc9b()
6C20DC9B  mov         eax,dword ptr [edx+3Ch]
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4
Mercury_22 is offline   Reply With Quote
Old 2nd March 2012, 03:36   #12  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Anyone will suggest an BD with HDMV animate button that I can download for debugging?
Maybe "Mercury_22: 4. In some menus I can't see where is the selection:" one of bug of animate button
cb2000 is offline   Reply With Quote
Old 2nd March 2012, 08:01   #13  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
Quote:
Originally Posted by cb2000 View Post
Anyone will suggest an BD with HDMV animate button that I can download for debugging?
Maybe "Mercury_22: 4. In some menus I can't see where is the selection:" one of bug of animate button
EDIT: Use this Test_Animated_Button and let me know if you need me to add to it
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4

Last edited by Mercury_22; 2nd March 2012 at 09:20.
Mercury_22 is offline   Reply With Quote
Old 4th March 2012, 13:18   #14  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by Mercury_22 View Post
EDIT: Use this Test_Animated_Button and let me know if you need me to add to it
www.mediafire.com is blocked by country firewall...
cb2000 is offline   Reply With Quote
Old 4th March 2012, 14:18   #15  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
Quote:
Originally Posted by cb2000 View Post
www.mediafire.com is blocked by country firewall...
Tell me where you want me to upload but the problem with "Animated Button" has been fixed in
Quote:
Revision 27 - Directory Listing
Modified Fri Mar 2 05:58:51 2012 UTC (2 days, 7 hours ago) by cb2000

update libbluray: Fixed displaying of single-loop animated buttons when not using animations
Also can you please add Demo_Player project to the solution so we can build it ourselves ? ( and if necessary a guide / batch file of how to build it )
This way you will not have to post a build for testing every time you change something and also maybe someone else can help
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4
Mercury_22 is offline   Reply With Quote
Old 4th March 2012, 15:44   #16  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by Mercury_22 View Post
Tell me where you want me to upload but the problem with "Animated Button" has been fixed in
Also can you please add Demo_Player project to the solution so we can build it ourselves ? ( and if necessary a guide / batch file of how to build it )
This way you will not have to post a build for testing every time you change something and also maybe someone else can help
I don't know if u can fetch http://www.rayfile.com/en/ ?
I want to show the animate but not only the last image.

The demo_player is copy from MS's DShow sample code "dshowplayer", I'm afraid it has copyright isseue, so I do not put it on SVN.
Ok I will upload it soon.
cb2000 is offline   Reply With Quote
Old 12th March 2012, 13:04   #17  |  Link
cb2000
Registered User
 
Join Date: Nov 2010
Posts: 91
Quote:
Originally Posted by Mercury_22 View Post
EDIT: Use this Test_Animated_Button and let me know if you need me to add to it
any other java.lang.Error: Not implemented?
I think i should implement most common used funtion of BDJ first.
cb2000 is offline   Reply With Quote
Old 12th March 2012, 16:18   #18  |  Link
Mercury_22
Registered User
 
Join Date: Dec 2007
Posts: 1,122
Quote:
Originally Posted by cb2000 View Post
any other java.lang.Error: Not implemented?
I think i should implement most common used funtion of BDJ first.
Won't start playing:
Case 1
Code:
c:\dslibbluray\libbluray\src\libbluray\bluray.c:848: libbluray version 0.2.2
c:\dslibbluray\libbluray\src\libbluray\bluray.c:564: AACS/Unit_Key_RO.inf not fo
und. No AACS protection (052235C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:690: BDSVM/00000.svm not found.
No BD+ protection (052235C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:871: BLURAY initialized! (052235
C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR16   (
AUDIO_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR17   (
PG_AND_SUB_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR18   (
PSR_MENU_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr3 = 1 (0522
35C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr4 = 65535 (
052235C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr0 = 1 (0522
35C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr1 = 255 (05
2235C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr2 = 2683740
15 (052235C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr14 = 65535
(052235C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(4, 65535): n
o change in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr4 = 65535 (0
52235C8)
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(4, 65535): n
o change in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr4 = 65535 (0
52235C8)
800
java.lang.VerifyError: (class: title.AfricanCatsXletUSA, method: h(Lbj;)Lig;)Wro
ng return type in function
        at java.lang.Class.getConstructor0(Native Method)
        at org.videolan.BDJAppProxy.doLoad(Compiled Method)(BDJAppProxy.java:132
)
        at org.videolan.BDJAppProxy.doInit(Compiled Method)(BDJAppProxy.java:144
)
        at org.videolan.BDJAppProxy.doStart(Compiled Method)(BDJAppProxy.java:16
4)
        at org.videolan.BDJAppProxy.run(Compiled Method)(BDJAppProxy.java:279)
        at java.lang.Thread.run(Compiled Method)(Thread.java:714)
        at java.lang.Thread.startup(Compiled Method)(Thread.java:785)
java.lang.Error: Not implemented
        at org.bluray.storage.StorageManager.getInstance(Compiled Method)(Storag
eManager.java:25)
        at net.rcdb.bdlive.client.BDLiveClientXlet.u(Compiled Method)(SourceFile
:2874)
        at net.rcdb.bdlive.client.BDLiveClientXlet.onThreadInit(Compiled Method)
(SourceFile:273)
        at com.javelindvd.bluray.xlet.BDJXlet.run(Compiled Method)(SourceFile:18
5)
        at java.lang.Thread.run(Compiled Method)(Thread.java:714)
        at java.lang.Thread.startup(Compiled Method)(Thread.java:785)
Case 2
Code:
c:\dslibbluray\libbluray\src\libbluray\bluray.c:848: libbluray version 0.2.2
c:\dslibbluray\libbluray\src\libbluray\bluray.c:564: AACS/Unit_Key_RO.inf not fo
und. No AACS protection (069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:690: BDSVM/00000.svm not found.
No BD+ protection (069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:871: BLURAY initialized! (069835
C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR16   (
AUDIO_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR17   (
PG_AND_SUB_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR18   (
PSR_MENU_LANG) 0xffffff -> 0x656e67
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr3 = 1 (0698
35C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr4 = 65535 (
069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr0 = 1 (0698
35C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr1 = 255 (06
9835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr2 = 2683740
15 (069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr14 = 65535
(069835C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(4, 65535): n
o change in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr4 = 65535 (0
69835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2346: HDMV event: 7 0
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2346: HDMV event: 3 17
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR4    (
TITLE_NUMBER) 0xffff -> 0x11
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr4 = 17 (069
835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2346: HDMV event: 7 0
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2346: HDMV event: 4 97
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR6    (
PLAYLIST) 0x0 -> 0x61
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr6 = 97 (069
835C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(3, 1): no ch
ange in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr3 = 1 (06983
5C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR5    (
CHAPTER) 0xffff -> 0x1
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr5 = 1 (0698
35C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(7, 0): no ch
ange in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr7 = 0 (06983
5C8)
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR8    (
TIME) 0x0 -> 0x7fff8
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr8 = 524280
(069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:190: Selected stream 0
c:\dslibbluray\libbluray\src\libbluray\register.c:391: bd_psr_write(): PSR1    (
PRIMARY_AUDIO_ID) 0xff -> 0x1
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2074: PSR change: psr1 = 1 (0698
35C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:190: Selected stream 0
c:\dslibbluray\libbluray\src\libbluray\register.c:389: bd_psr_write(2, 268374015
): no change in value
c:\dslibbluray\libbluray\src\libbluray\bluray.c:2043: PSR write: psr2 = 26837401
5 (069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:1590: Title 00097.mpls selected!
 (069835C8)
c:\dslibbluray\libbluray\src\libbluray\bluray.c:1524: Playback rate change to 1.
000000 ! (069835C8)
Using SVN rev 41
__________________
Windows 10 x64 CU, HD7790 Crimson 17.6.2, HDMI Full RGB 4:4:4
Mercury_22 is offline   Reply With Quote
Old 2nd March 2012, 04:29   #19  |  Link
Inspector.Gadget
Registered User
 
Join Date: May 2008
Posts: 1,618
I can't use this at the moment, but I wanted to thank you, cb2000, for your hard work and dedication to improving the state of BD playback outside of proprietary applications.
Inspector.Gadget is offline   Reply With Quote
Old 4th March 2012, 13:36   #20  |  Link
dukey
Registered User
 
Join Date: Dec 2005
Posts: 560
Just start pushing samples at 40ms apart as soon as the graph is run, starting from time 0. If there is no subpic, just send empty frames. That's basically how my subtitle renderer works. You just gotta watch out when the user seeks in the graph as it resets the times. You don't even need to time it manually, GetDeliveryBuffer will block until its ready to receive again.
dukey is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:22.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.