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)



- dondre - 2010-06-07

steelman1991 Wrote:Unlikely to get a definitive answer to the video quality issue - very much in the eye of the beholder (personally I see very little difference) but the only way you are gong to find out is to try for yourself.

How much lower do you want to go? Huh - I would suggest that the figures you are seeing are unlilkely to be bettered at this time. In fact I have noticed that overheads in dsplayer config is slightly higher than 'native' implementation.

Thanks a lot mate! really appreciated... and you're right, I'll continue testing for myself, but as you said I barely can see an improvement, that's why I wanted to have other feedbacks to confirm that Wink


- fincheresque - 2010-06-07

For me it's not necessarily about performance, it's more about choice. Both the internal DXVA2 and DSPlayer bring the CPU usage down substantially, so at that point it's just a matter of what can I do with each, and for me DSPlayer does more.

Plus, the trunk has the 5.1 over 7.1 speaker mapping wrong (which I'm trying to write a patch for right now, but my coding skills are crap), so DSPlayer is the only way I get proper 5.1 mapping over my 7.1 analogue output.

Speaking of, I keep meaning to ask Blinkseb to help me with that. Smile


- hsinchu308 - 2010-06-07

blinkseb Wrote:For a new build, I wanted to finish shaders support first, before released a new one. However, it should not be so long, max. a week! And you've got a great idea (like always :p) : I'll add ability to change subtitles options in the renderersettings.xml. That will do the trick right now Smile

Hi Seb,

Putting the subtitle options in renderersettings sounds good to me. I would no longer need to recompile in order to change those settings when I switch from my XP machine to my Windows 7 machine. Wink

Didn't mean to rush you on the new release. I guess my enthusiasm for dsplayer is showing Laugh In my opinion, although much of the rendering code is based on MPC-HC, by integrating them into the XBMC rendering system, dsplayer has surpassed MPC-HC in one important aspect - robust vsync. As much as I love MPC-HC, its weakest point for me was always vsync that works correctly in VMR9, EVR-CP, or EVR-Sync, for both progressive and interlaced videos, both with and without DXVA. Countless hours have I spent trying to simultaneously remove stuttering, tearing and frame-drops during playback. But I was able to achieve all 3 objectives in a relative short period of time in the latest dsplayer versions, as I discussed in my previous vsync post. I am very happy indeed! Nod


- dlmh - 2010-06-07

blinkseb Wrote:5 seconds is really fine. I just need to find why it's crashing Smile So even 2s would be fine!

Here's the TrueHD sample.

And here's the DTS-HD sample.


- Bipolar Bear - 2010-06-07

Hi guys, this is my first post here though i've been using xbmc for years, only recently made the jump from original xbox to pc though. Anyway i hope this is the right thread to post this - sorry i have not read it all, it is too long. But this is driving me crazy and I cant find an answer anywhere. Basically when I play anything using dsplayer i get a blank screen. xbmc doesnt lock up or anything - its all fine, just a completely blank screen. Sound is also fine - I have setup the ffd audio decoder to passthrough everything and i am getting DTS-HD and Dolby TrueHD through to the receiver no problems. My setup is as follows:

Windows 7 x64
Intel 2.66GHz core2duo
2GB 800MHz memory
Asus p5k m/b
ATI 5670 video card

The video card is connected via hdmi to my Onkyo TXSR508 receiver and through to a Samsung LE37B650 TV. I have the latest version of xbmc-dx build 30385 installed. fairly recent catalyst drivers. i haven't changed the default dsplayerconfig.xml settings so it is still using the mpc decoder. I have tried changing the vsync setting and changing the windowing setting to true fullscreen but nothing works. The frustrating thing is I have MPC-HC x86 also installed and configured to use ffdshow and it works perfectly - but I much prefer the xbmc interface. I can post my xbmc log but I dont see any obvious problems recorded in it. hope someone can help!


Subtitle Bug? - hsinchu308 - 2010-06-08

Hi Guys,

I am trying to track down another bug, and need your help (PM is fine).

Basically, since r30385 (maybe even earlier, but not sure), whenever I press "L" to switch subtitle on my Windows 7 machine, I get "?? (??)" on the OSD, and the movie pauses (cannot be un-paused, must FF/RWD or skip) ; on my Windows XP machine, I get "English (United States)", or "Chinese (Taiwan)" on the OSD and the video runs fine.

If you have a Windows 7 machine, could you tell me what happens on the OSD when you press "L" to switch subtitles? Also please tell me what your Windows 7 default language is (English, Chinese, German, etc.) On my XP machine it's English, but on my 7 machine it is Chinese (BIG5), so it's possible it's a codepage issude rather than XP vs. 7 issue.

I looked at the source code, but I don't see any obvious difference between the EVR renderer (Win 7) vs the VMR9 renderer (XP).

Thanks.


- Morien - 2010-06-08

Bipolar Bear Wrote:Basically when I play anything using dsplayer i get a blank screen. xbmc doesnt lock up or anything - its all fine, just a completely blank screen.

Sounds like a video codec issue, no?

What does it say when you display codec info ? (Press 'o' while in full screen video mode).


- steelman1991 - 2010-06-08

Bipolar Bear Wrote:Hi guys, this is my first post here though i've been using xbmc for years, only recently made the jump from original xbox to pc though. Anyway i hope this is the right thread to post this - sorry i have not read it all, it is too long. But this is driving me crazy and I cant find an answer anywhere. Basically when I play anything using dsplayer i get a blank screen. xbmc doesnt lock up or anything - its all fine, just a completely blank screen. Sound is also fine - I have setup the ffd audio decoder to passthrough everything and i am getting DTS-HD and Dolby TrueHD through to the receiver no problems. My setup is as follows:

Windows 7 x64
Intel 2.66GHz core2duo
2GB 800MHz memory
Asus p5k m/b
ATI 5670 video card

The video card is connected via hdmi to my Onkyo TXSR508 receiver and through to a Samsung LE37B650 TV. I have the latest version of xbmc-dx build 30385 installed. fairly recent catalyst drivers. i haven't changed the default dsplayerconfig.xml settings so it is still using the mpc decoder. I have tried changing the vsync setting and changing the windowing setting to true fullscreen but nothing works. The frustrating thing is I have MPC-HC x86 also installed and configured to use ffdshow and it works perfectly - but I much prefer the xbmc interface. I can post my xbmc log but I dont see any obvious problems recorded in it. hope someone can help!
Check that the 3d settings in CCC are set to 'Use Application Settings'


- Morien - 2010-06-08

hsinchu308: Win 7 x64 machine here. Default language is English. All works fine for me (Using EVR). L changes sub and says the proper name. Using the latest build from this forum (30385 is it?)


- hsinchu308 - 2010-06-08

Morien Wrote:hsinchu308: Win 7 x64 machine here. Default language is English. All works fine for me (Using EVR). L changes sub and says the proper name. Using the latest build from this forum (30385 is it?)

Morien, thanks.

Blinkseb already PM'ed me and said he committed a fix (how THAT for speed...Big Grin). (Using GetLocaleInfoW instead of GetLocaleInfoA to get subtitle locale info.) Now, with r30947 compiled, when I press "L" I see the subtitle name and locality correctly in Chinese on the OSD, instead of "??, ??". Cool However, the video, audio and subtitle are still paused whenever I press "L". So it would seem the problem is related to the locale language of Windows, and not XP vs. 7 (or VMR9 vs. EVR)? Interesting. Going to dig around some more, since Seb has told me which file (and line number) to look at. Thanks Seb!


- hsinchu308 - 2010-06-08

hsinchu308 Wrote:Hi Seb,

Putting the subtitle options in renderersettings sounds good to me. I would no longer need to recompile in order to change those settings when I switch from my XP machine to my Windows 7 machine. Wink

Didn't mean to rush you on the new release. I guess my enthusiasm for dsplayer is showing Laugh In my opinion, although much of the rendering code is based on MPC-HC, by integrating them into the XBMC rendering system, dsplayer has surpassed MPC-HC in one important aspect - robust vsync. As much as I love MPC-HC, its weakest point for me was always vsync that works correctly in VMR9, EVR-CP, or EVR-Sync, for both progressive and interlaced videos, both with and without DXVA. Countless hours have I spent trying to simultaneously remove stuttering, tearing and frame-drops during playback. But I was able to achieve all 3 objectives in a relative short period of time in the latest dsplayer versions, as I discussed in my previous vsync post. I am very happy indeed! Nod

Actually, I have some more information to add regarding getting perfect playback in dsplayer (meaning no tearing, no stuttering, and no dropped frames). I tested some more 60 fps (NTSC interlaced) videos, with bit rate from 45 Mb/s to as high as 130Mb/s (MPEG2), and to my surprise, I was still getting dropped frames once every few minutes, where the frame rate would dip down to 45-50 fps from 60 fps for a split second before recovering. This was really odd to me because according to the OSD, the decoder was spitting out frames at a rock-steady 59.94 fps during the entire time, so it was the painting/presenting of the image that was causing the problem. After some digging I found the fix: increase the screen backbuffer from 1 to 2, i.e., change from double-buffering to triple-buffering (change line 249 of RenderSystemDX.cpp). This is for Windows XP; for Windows 7, the system defaults to triple-buffering (line 255 of the same file). I don't know why. Anyway, after this change, the frame rate for above-mentioned videos stayed at a rock-steady 59.94 fps for the entirety of the videos.

Anyone know who I should contact to inquire about putting this in the trunk (since this part of the code is shared with dvdplayer)? Once again, this change should only affect Windows XP, UNLESS you explicitly set "allowd3d9ex" to "false" in Advancedsettings.xml (according to the source code), in which case even Windows 7 is affected.

PS. Turning on tripling-buffering in the Nvidia Control Panel did not help with the dropped frames.

EDIT: Even the 24 fps movies are smoother now..for example, the opening scene in Avatar with the flyover.


- blinkseb - 2010-06-08

hsinchu308 Wrote:Actually, I have some more information to add regarding getting perfect playback in dsplayer (meaning no tearing, no stuttering, and no dropped frames). I tested some more 60 fps (NTSC interlaced) videos, with bit rate from 45 Mb/s to as high as 130Mb/s (MPEG2), and to my surprise, I was still getting dropped frames once every few minutes, where the frame rate would dip down to 45-50 fps from 60 fps for a split second before recovering. This was really odd to me because according to the OSD, the decoder was spitting out frames at a rock-steady 59.94 fps during the entire time, so it was the painting/presenting of the image that was causing the problem. After some digging I found the fix: increase the screen backbuffer from 1 to 2, i.e., change from double-buffering to triple-buffering (change line 249 of RenderSystemDX.cpp). This is for Windows XP; for Windows 7, the system defaults to triple-buffering (line 255 of the same file). I don't know why. Anyway, after this change, the frame rate for above-mentioned videos stayed at a rock-steady 59.94 fps for the entirety of the videos.

Anyone know who I should contact to inquire about putting this in the trunk (since this part of the code is shared with dvdplayer)? Once again, this change should only affect Windows XP, UNLESS you explicitly set "allowd3d9ex" to "false" in Advancedsettings.xml (according to the source code), in which case even Windows 7 is affected.

PS. Turning on tripling-buffering in the Nvidia Control Panel did not help with the dropped frames.

Great find Wink i've commited the change to the trunk. Still need to merge and it will be avalaible in the dsplayer branch

EDIT: It's done Smile


- hsinchu308 - 2010-06-08

blinkseb Wrote:Great find Wink i've commited the change to the trunk. Still need to merge and it will be avalaible in the dsplayer branch

EDIT: It's done Smile

Great, so you are the man to talk to...Big Grin


- fincheresque - 2010-06-09

I built a copy of the newest SVN last night, and I have to say, it played my VC1/H264 MKV's absolutely perfect. Just awesome. No tearing, no stuttering.

A lot of the other files had HORRIBLE tearing, but they had that in trunk as well, and I'm not ruling out something I've done breaking it.

Quick question, if I find a file that doesn't play, how much do you (Seb and tiben) care? Like do you want debug logs saying this file didn't play, or that file didn't play? I don't want to waste time that you could be fixing other issues.

Thanks again!


- blinkseb - 2010-06-09

nathanjones Wrote:I built a copy of the newest SVN last night, and I have to say, it played my VC1/H264 MKV's absolutely perfect. Just awesome. No tearing, no stuttering.

A lot of the other files had HORRIBLE tearing, but they had that in trunk as well, and I'm not ruling out something I've done breaking it.

Quick question, if I find a file that doesn't play, how much do you (Seb and tiben) care? Like do you want debug logs saying this file didn't play, or that file didn't play? I don't want to waste time that you could be fixing other issues.

Thanks again!

The log file will be helpless, except if you have a crash or something like that. Tearing can't be seen in the log file.

The only thing you can do is provide us a sample of your file. But even with that, I really don't see how to fix that. I guess you'll have to play with the vsync options to get rid of this annoying tearing! (I think I'm lucky I've never had tearing at all!)