Kodi Community Forum
[WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: [WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] (/showthread.php?tid=61355)



- blinkseb - 2010-06-03

hsinchu308 Wrote:Hi Seb,

I did some more investigation of the font size issue in dsplayer and discovered another problem (as well as the solution, which will fix the problem with the SSA subtitle font size as well). Previously I said that font size for plain text subtitles is matched between dsplayer and dvdplayer, after the last revision r30385. However, this is not true if you are not using the default Windows display setting of 96 dpi. When I switched to 144 dpi (150%) in Windows, the font size for plain text subtitles is again much bigger in dsplayer, but unchanged in dvdplayer.

The solution: (I hope you don't mind me posting it here but the change is only a few characters):

1. Remove the "//" at the start of line 47 of RTS.cpp (// lf.lfHeight = (LONG)(style.fontSize + 0.5);

2. In line 787 of StreamManager.cpp, change 27.1 / 72.0 to 50.0 / 72.0.

These two changes will make it so that font size in dsplayer the same regardless of Windows display dpi setting (in addition to screen resolution), just like dvdplayer.

Also, this will make the font size for SSA subtitles the same between dsplayer and MPC-HC, in full screen (dsplayer font size was about 50% bigger than MPC-HC's before the change). However, it will not make the font size for SSA subtitles the same between dsplayer and dvdplayer, because dvdplayer ignores the font size, font name, etc. of SSA subtitles (though it will make the font size difference between dsplayer and dvdplayer much smaller than before Laugh).

Regard,

Many thanks for your work! I commited it as r30808!

I also fixed the fast forward and the rewind today, after long hours of works! started at 10am, and ended at about 8pm Shocked). It should works for anybody, so, builders, I'm waiting for your feedback!


- dondre - 2010-06-03

blinkseb Wrote:Many thanks for your work! I commited it as r30808!

I also fixed the fast forward and the rewind today, after long hours of works! started at 10am, and ended at about 8pm Shocked). It should works for anybody, so, builders, I'm waiting for your feedback!

Thanks hsinchu308 & blinkseb for your great work, can't wait to put my hands on the r30808 build once available to give it some testings!

Now I have a stupid yet simple (or is it?) question...
What are the advantages in video playback using the DSPlayer version with say MPC-HD/CoreAVC in combination with the best filters you may find VS say the regular DVDPlayer/DXVA2 solution in the latest SVN builds?

I have a perfect playback using the regular DVDPlayer/DXVA2 under W7 with a CPU usage as low as 4% in average for e.g. a H264 video with 30Mbps (bluray 1:1 remux) but I can't help it but wondering if there are;

- Any advantage of using an external player with CUDA over the built-in DVDPlayer with DXVA/VDPAU?
- Any possible improvement in quality?
- Any possibility to lower even the CPU usage?

Thanks for your knowledge sharing!

(oh and btw & out of topic, it's a really nice music band you've got there seb! I've listened to some musics (in fact it's still streaming from your site right now!) and I like it a lot, somehow it reminds me the French touch of Phoenix... but that's me Smile ça cartonne! Wink)


- baxtermedic - 2010-06-04

Quick question,

I get sporadic double playback speed issues, my hardware is as follows:

i5 550
HD 5750
PCI xonar slim for audio
Windows 7 64bit

build 28980 is the latest build that I don't get problems with but I get stuttering issues on my 23.978 material.

I currently have bitstreaming running flawlessly on my Marantz reciever but I have to stop and restart the m2ts and mkvs files multiple times to get the framerate on my videos back to standard.

I am also using the latest build of ffdshow and mpc-hc.

I have been using the adjust display to match video and the sync video (audio drop/dupe). It has completely smoothed out my 24p issues but I'm still have the double speed videos.

I need help settings things up. Should I just use my ati card for everything? to include bitstreaming?

Please, please someone help me out here. I'm willing to wipe my computer again, but I need some guidance.

I'm at my wits end.


- hsinchu308 - 2010-06-04

blinkseb Wrote:Many thanks for your work! I commited it as r30808!

I also fixed the fast forward and the rewind today, after long hours of works! started at 10am, and ended at about 8pm Shocked). It should works for anybody, so, builders, I'm waiting for your feedback!

Hi Seb,

Thanks for committing the change so quickly Nod.

I tested out the fast forward and rewind today - very nice. Up to 32x forward and reverse, with video, audio and subtitle in sync instantly at the end of forward or rewind (no need for subtitle to catch up, unlike some other video players that I've tried). Big Grin


crash help - the1lum - 2010-06-04

so i have dsplayer working fine in my xbmc but when i select Stop, it closes out xbmc completely. is this a feature or setting? everything else works fine. no errors in the logs. this is the last line in my log.

00:10:54 T:4380 M:2107260928 NOTICE: CDSPlayer::CloseFile DSPlayer is now closed


- blinkseb - 2010-06-04

the1lum Wrote:so i have dsplayer working fine in my xbmc but when i select Stop, it closes out xbmc completely. is this a feature or setting? everything else works fine. no errors in the logs. this is the last line in my log.

00:10:54 T:4380 M:2107260928 NOTICE: CDSPlayer::CloseFile DSPlayer is now closed

That's not the expected behaviour no Wink You should fallback on XBMC menu when you stop the video, like dvdplayer.

Have you activated debug on XBMC? Can you post your log file on pastebin please?

Thanks

EDIT: Ok, some important change in the dsfilterconfig.xml. I've made some cleanup, and now there's two xml files : filtersconfig.xml and mediasconfig.xml. Filters are declared in the filtersconfig.xml, and medias in the mediasconfig.xml. Note that the "ds" prefix is gone, because files are already in a "dsplayer" subdirectory. The wiki has been updated.

If you have a dsfilterconfig.xml in your userdata directory, you need to split it in two files, filtersconfig.xml and mediasconfig.xml, and put these files in a "dsplayer" directory (you should have something like userdata/dsplayer/).

These changed are only valid if you use a revision higher or equals to 30820 Smile

By the way, the dsrenderersettings has been renamed to renderersettings and must be in a dsplayer subdirectory.


- therealjoeblow - 2010-06-04

I've been out of action for a while, but had a chance to try Rev30385 on 2 different rigs yesterday, a Dell laptop with integrated Geforce 8400M GS; and my main HTPC with a Gigabyte MB with a AMD 780G chipset (integrated Radeon HD3200); both running WinXP x86 SP3. Using ffdshow for both audio and video, and VMR9 renderless:

Good news: **No More Tearing!! Great work! So, Seb, if thing don't regress in this regard, then you can hold on trying to incorporate VMR7, at least from my perspective.

Now for the not-so-good news: I get pretty severe Judder on 1080p material when played with the ffdshow dxva filter. I play all 720p and lower material with ffdshow software decoder, using the built in resize filter, and that all plays back perfectly smooth. If I try playing 1080p with the software filter, it also plays back smooth, no judder, only it plays back as slower than normal framerate (ie, 20~22 fps instead of 23.976) and therefore goes out of sync with audio (this has been the standard behavior forever so *not* reporting that as a problem, that's why I need to use dxva for 1080p material). However, as I said, if I play the 1080p material with the dxva filter, then about 2~3 seconds plays smooth, and then 2~3 seconds plays with jerky judder, and this repeats over and over again. CPU is <20% while this is going on, so It's not likely a system load problem.

I never had this issue with older dsplayer builds; and the same files played with the same ffdshowdxva filter in MPC-HC or ZoomPlayer play just fine without any judder whatsoever.

All-in-all, great work and many thanks!! Hopefully the judder w/dxva can be fixed.

Cheers,
The REAL Joe


- tiben20 - 2010-06-04

therealjoeblow Wrote:I've been out of action for a while, but had a chance to try Rev30385 on 2 different rigs yesterday, a Dell laptop with integrated Geforce 8400M GS; and my main HTPC with a Gigabyte MB with a AMD 780G chipset (integrated Radeon HD3200); both running WinXP x86 SP3. Using ffdshow for both audio and video, and VMR9 renderless:

Good news: **No More Tearing!! Great work! So, Seb, if thing don't regress in this regard, then you can hold on trying to incorporate VMR7, at least from my perspective.

Now for the not-so-good news: I get pretty severe Judder on 1080p material when played with the ffdshow dxva filter. I play all 720p and lower material with ffdshow software decoder, using the built in resize filter, and that all plays back perfectly smooth. If I try playing 1080p with the software filter, it also plays back smooth, no judder, only it plays back as slower than normal framerate (ie, 20~22 fps instead of 23.976) and therefore goes out of sync with audio (this has been the standard behavior forever so *not* reporting that as a problem, that's why I need to use dxva for 1080p material). However, as I said, if I play the 1080p material with the dxva filter, then about 2~3 seconds plays smooth, and then 2~3 seconds plays with jerky judder, and this repeats over and over again. CPU is <20% while this is going on, so It's not likely a system load problem.

I never had this issue with older dsplayer builds; and the same files played with the same ffdshowdxva filter in MPC-HC or ZoomPlayer play just fine without any judder whatsoever.

All-in-all, great work and many thanks!! Hopefully the judder w/dxva can be fixed.

Cheers,
The REAL Joe

im not sure if it could help but read that note
http://msdn.microsoft.com/en-us/library/dd390959(VS.85).aspx


- therealjoeblow - 2010-06-04

tiben20 Wrote:im not sure if it could help but read that note
http://msdn.microsoft.com/en-us/library/dd390959(VS.85).aspx

Not really much there, not sure how it would apply to something that worked fine before, works fine in all other applications invoking (presumably) the same renderer and filters, but now no longer works in DSPlayer?

I'm talking specifically about the judder introduced now *only* when using the DXVA filter (Software decoding w/ffdshow works fine with no judder or tearing anymore).

Cheers
The REAL Joe


- &gt;&gt;X&lt;&lt; - 2010-06-04

therealjoeblow Wrote:I've been out of action for a while, but had a chance to try Rev30385 on 2 different rigs yesterday, a Dell laptop with integrated Geforce 8400M GS; and my main HTPC with a Gigabyte MB with a AMD 780G chipset (integrated Radeon HD3200); both running WinXP x86 SP3. Using ffdshow for both audio and video, and VMR9 renderless:

Good news: **No More Tearing!! Great work! So, Seb, if thing don't regress in this regard, then you can hold on trying to incorporate VMR7, at least from my perspective.

Now for the not-so-good news: I get pretty severe Judder on 1080p material when played with the ffdshow dxva filter. I play all 720p and lower material with ffdshow software decoder, using the built in resize filter, and that all plays back perfectly smooth. If I try playing 1080p with the software filter, it also plays back smooth, no judder, only it plays back as slower than normal framerate (ie, 20~22 fps instead of 23.976) and therefore goes out of sync with audio (this has been the standard behavior forever so *not* reporting that as a problem, that's why I need to use dxva for 1080p material). However, as I said, if I play the 1080p material with the dxva filter, then about 2~3 seconds plays smooth, and then 2~3 seconds plays with jerky judder, and this repeats over and over again. CPU is <20% while this is going on, so It's not likely a system load problem.

I never had this issue with older dsplayer builds; and the same files played with the same ffdshowdxva filter in MPC-HC or ZoomPlayer play just fine without any judder whatsoever.

All-in-all, great work and many thanks!! Hopefully the judder w/dxva can be fixed.

Cheers,
The REAL Joe

I had a similar problem with CoreAVC playing at slower frame rate, using Haali Media Splitter instead of the default filter solved it so worth a try if your not using it already


- hsinchu308 - 2010-06-04

blinkseb Wrote:That's not the expected behaviour no Wink You should fallback on XBMC menu when you stop the video, like dvdplayer.

Have you activated debug on XBMC? Can you post your log file on pastebin please?

Thanks

EDIT: Ok, some important change in the dsfilterconfig.xml. I've made some cleanup, and now there's two xml files : filtersconfig.xml and mediasconfig.xml. Filters are declared in the filtersconfig.xml, and medias in the mediasconfig.xml. Note that the "ds" prefix is gone, because files are already in a "dsplayer" subdirectory. The wiki has been updated.

If you have a dsfilterconfig.xml in your userdata directory, you need to split it in two files, filtersconfig.xml and mediasconfig.xml, and put these files in a "dsplayer" directory (you should have something like userdata/dsplayer/).

These changed are only valid if you use a revision higher or equals to 30820 Smile

By the way, the dsrenderersettings has been renamed to renderersettings and must be in a dsplayer subdirectory.

Hi Seb,

Do you plan to put the subtitle options such as maximum texture resolution, subpictures to buffer, allow animation etc., in a settings file, or in the GUI?


- blinkseb - 2010-06-04

hsinchu308 Wrote:Hi Seb,

Do you plan to put the subtitle options such as maximum texture resolution, subpictures to buffer, allow animation etc., in a settings file, or in the GUI?

Hm, that's a really good question. I think that most important options (like texture resolution) should be in the GUI, and the other on the xml settings file. But the real question is: Where put that in the GUI? I really don't like having dsplayer-specific options in the GUI (like the font name in Subtitles for examples).

I need to speak with the team in order to find a proper way to do that Smile

Maybe you have some suggestions?


- hsinchu308 - 2010-06-04

blinkseb Wrote:Hm, that's a really good question. I think that most important options (like texture resolution) should be in the GUI, and the other on the xml settings file. But the real question is: Where put that in the GUI? I really don't like having dsplayer-specific options in the GUI (like the font name in Subtitles for examples).

I need to speak with the team in order to find a proper way to do that Smile

Maybe you have some suggestions?

My suggestion would be to put those important, or often tweaked options, that are exclusive to dsplayer, like subtitle shadow depth, inside a dsplayer tab, like the current one you have inside Video Settings. This way, 1) you don't confuse people (for example, dvdplayer does not have subtitle shadow at all), 2) you can make the whole dsplayer tab, with all its options, disappear by setting the HAS_DSPLAYER option at compile time, without altering other tabs at all, and 3) easier for the dsplayer user, because all dsplayer-specific options are inside one tab, instead of spreading over many tabs (like subtitle tab, audio tab, etc.) Wink


- hsinchu308 - 2010-06-04

therealjoeblow Wrote:Not really much there, not sure how it would apply to something that worked fine before, works fine in all other applications invoking (presumably) the same renderer and filters, but now no longer works in DSPlayer?

I'm talking specifically about the judder introduced now *only* when using the DXVA filter (Software decoding w/ffdshow works fine with no judder or tearing anymore).

Cheers
The REAL Joe

Hi Joe,

Not sure if this is the cause of your problem but I thought I'd share my experience in case other people are having the same problem. I am running Windows XP SP3 w/ Nvidia 8400GS PCI.

For the past week or so I have been troubleshooting a stutter problem with dsplayer. The most curious/interesting/frustrating part for me was that I was using the same settings and codec that I use in MPC-HC, like MPCVideoDec codec (DXVA), setting of Vsync, Accurate Vsync, Flush GPU Before Vsync, subtitle maximum texture size to 800x600 (had to compile my own), subtitle subpictures to buffer to 3, etc., yet MPC-HC did not stutter, but dsplayer did - once every few seconds.

I finally found the cause: the Vsync in the XBMC Systems -Settings (Vertical Blank Sync) was set to "Always Enabled", and was interfering with the Vsync inside dsplayer! I had to disable it by setting it to "Disabled". Then the stuttering was gone. Eventually, I found the best setting was actually to disable all vsync inside dsplayer, set XBMC to true fullscreen, and set Vertical Blank Sync to "Always Enabled", to get the smoothest playback.

Curiously, in the 28xxx and 29xxx builds, this setting did not have any effect at all inside dsplayer, because it was set to "Always Enabled" as the default, yet I still got tearing in Windows XP. Huh


- therealjoeblow - 2010-06-04

hsinchu308 Wrote:Hi Joe,

Not sure if this is the cause of your problem but I thought I'd share my experience in case other people are having the same problem. I am running Windows XP SP3 w/ Nvidia 8400GS PCI.

For the past week or so I have been troubleshooting a stutter problem with dsplayer. The most curious/interesting/frustrating part for me was that I was using the same settings and codec that I use in MPC-HC, like MPCVideoDec codec (DXVA), setting of Vsync, Accurate Vsync, Flush GPU Before Vsync, subtitle maximum texture size to 800x600 (had to compile my own), subtitle subpictures to buffer to 3, etc., yet MPC-HC did not stutter, but dsplayer did - once every few seconds.

I finally found the cause: the Vsync in the XBMC Systems -Settings (Vertical Blank Sync) was set to "Always Enabled", and was interfering with the Vsync inside dsplayer! I had to disable it by setting it to "Disabled". Then the stuttering was gone. Eventually, I found the best setting was actually to disable all vsync inside dsplayer, set XBMC to true fullscreen, and set Vertical Blank Sync to "Always Enabled", to get the smoothest playback.

Curiously, in the 28xxx and 29xxx builds, this setting did not have any effect at all inside dsplayer, because it was set to "Always Enabled" as the default, yet I still got tearing in Windows XP. Huh


Thanks, I'll give that a try later at home. Possibly what you describing is similar to a "double negative" that cancels itself out, maybe a programming logic error?

In any case do you disable the vsync options for dsplayer in specific as you suggest in the xml file that Seb posted about a couple of times a few pages back? If so, can you please paste in the settings you are using to save some trial and error on my part?

Thanks again
The REAL Joe