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)



- metaltimo - 2010-05-18

blinkseb Wrote:I said it's possible, but it will be *VERY* hard, and you'll need good knowledge in C++ if you want to succeed!

Okay Thanks!

I see...
I´ve got no knowledge at all so it would be too complicated, except somebody gives me a discription step by step...

So I really hope like joeblow, that tearing problem could be killed in a new dsplayer build!
That would be great!

Thanks!


- blinkseb - 2010-05-18

I'm afraid there's no step by step guide, unless you try yourself.

First, you need to checkout the revision you want from the dsplayer branche. Next, you need to merge with the trunk, and here the problems begin to occured. Basically, you'll have a lot of conflicts to solve. About 10 hours of work I think!


- hsinchu308 - 2010-05-18

blinkseb Wrote:1) It's look like mpc-hc... because it's from mpc-hc Laugh

2) Must have a problem with sharders. Can you try with bilinear with dsplayer and mpc-hc and tell me if only dsplayer hangs?

3) You can set the texture resolution manually if you want to try. File SubManager.cpp from libsubs_dll project. Line 19, change m_texturesize to what you want. Tell me if it solve your issue, I'll add it on the gui when my exams are done.

4) You need to upgrade your DirectX SDK and make sure folders in vs2008 points to the right place.

5) What do you mean by built in? The filter provided with dsplayer or the one tiben is working on?


1. MPC-HC is my favorite (tried kmplayer, PotPlayer, VLC, and many other players) and I think a great starting point.

2. Before, with the bicubic video scaling method, I was getting CPU usage of > 50%, and lower frame rate (like 20 fps instead of 24), so now with bilinear scaling everything is good. No problem there.

3. Great. Thanks for the tip. Saves me a lot of time digging around. Will try it.

4. I think I figured out the problem. I have the DirectX SDK from Feb 2010, which I think is the latest. With VC2008, I set the DirectX SDK include directory AFTER the MS SDK include directory, as recommended in the XBMC wiki. But I need to put it BEFORE the MS SDK include directory, like in VC2010 build. In short, both the DirectX SDK and MS SDK has the file d3d9types.h, and I need to use the DirectX SDK version.

5. I mean the MPCVideoDec.ax that's in the dsplayer directory. I had to change the video filter for mkv from "mcpvideodec" to "cyberlinkvideodec" in dsfilterconfig.xml, otherwise the video freezes at the first frame but the audio keeps going.

Regards,


- blinkseb - 2010-05-18

hsinchu308 Wrote:1. MPC-HC is my favorite (tried kmplayer, PotPlayer, VLC, and many other players) and I think a great starting point.

2. Before, with the bicubic video scaling method, I was getting CPU usage of > 50%, and lower frame rate (like 20 fps instead of 24), so now with bilinear scaling everything is good. No problem there.

Well, video renderers in dsplayer are from mpc-hc, with a little tweaks, but basically it's the same!

I made a typo, I wanted to talk about "bicubic" and not "bilinear". I know everybody has issues with the bicubic shader, but do you have the same issue with mpc-hc? Otherwise, we probably have a bug around!

Thanks for you feedback Smile


- zoing - 2010-05-18

hi seb,

just compiled the r30294. i tested the bicubic filter with the mpcdecoder and all is fine. cpu usage around 25%, and it seems that for me the stutter in this version is also gone. must test with other decoders.

great work!

regards


- dial - 2010-05-18

zoing Wrote:hi seb,

just compiled the r30294. i tested the bicubic filter with the mpcdecoder and all is fine. cpu usage around 25%, and it seems that for me the stutter in this version is also gone. must test with other decoders.

great work!

regards

Good to hear, I was having this exact same issue too. Glad to see that it's been resolved!


- metaltimo - 2010-05-19

Interesting Zoing!

Would/ can You make an Upload of this compiled version?!
I wish to test it...

Thanks!


- gulp - 2010-05-19

Compiling rev-30311
i've a lot (100) errors like these:

Code:
AviSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
FLVSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
DX9AllocatorPresenter.obj : error LNK2001: simbolo esterno "bool __cdecl BitBltFromRGBToRGB(int,int,unsigned char *,int,int,unsigned char *,int,int)" (?BitBltFromRGBToRGB@@YA_NHHPAEHH0HH@Z) non risolto
BaseVideoFilter.obj : error LNK2001: simbolo esterno "bool __cdecl BitBltFromRGBToRGB(int,int,unsigned char *,int,int,unsigned char *,int,int)" (?BitBltFromRGBToRGB@@YA_NHHPAEHH0HH@Z) non risolto
DXVADecoderH264.obj : error LNK2001: simbolo esterno "public: bool __thiscall CH264Nalu::ReadNext(void)" (?ReadNext@CH264Nalu@@QAE_NXZ) non risolto
DXVADecoderH264.obj : error LNK2001: simbolo esterno "public: void __thiscall CH264Nalu::SetBuffer(unsigned char *,int,int)" (?SetBuffer@CH264Nalu@@QAEXPAEHH@Z) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual __thiscall IDSMPropertyBagImpl::~IDSMPropertyBagImpl(void)" (??1IDSMPropertyBagImpl@@UAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: __thiscall IDSMPropertyBagImpl::IDSMPropertyBagImpl(void)" (??0IDSMPropertyBagImpl@@QAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: void __thiscall CFontInstaller::UninstallFonts(void)" (?UninstallFonts@CFontInstaller@@QAEXXZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual __thiscall CFontInstaller::~CFontInstaller(void)" (??1CFontInstaller@@UAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: __thiscall CFontInstaller::CFontInstaller(void)" (??0CFontInstaller@@QAE@XZ) non risolto

here my buildlog http://pastebin.com/N9RXKHA6

usually i compile the svn rev of dsplayer once a day, but today i've these strange errors.


- therealjoeblow - 2010-05-19

blinkseb Wrote:I said it's possible, but it will be *VERY* hard, and you'll need good knowledge in C++ if you want to succeed!

...and since my programming skills are limited to stone-aged VB6, I'm not going to be attempting that. Thanks for the answer anyway Seb.

The REAL Joe


- therealjoeblow - 2010-05-19

hsinchu308 Wrote:FYI: I just compiled dsplayer branch r30266 and Vsync now works under XP! I am still testing but here is a quick summary:

1. Vsync works fine under Windows XP, in both fullscreen window and true fullscreen. From the new onscreen statistics, which look exactly like the statistics screen in MPC-HC, it's using VMR9 w D3D FS w/ gui, Vsync and Accurate Vsync.
2. Default scaling method is now bilinear, so for me the CPU usage is low (<10%) and frame rate is smooth.
3. For MKVs without subtitle (e.g., 720p TV shows), the playback is very smooth. For MKVs with subtitle, there is very slight stutter every few seconds, even if I turn off the subtitle. I get the same stutter when I use MPC-HC, unless I set the subtitle resolution from desktop (1920x1200) to 800x600. I strongly suspect this is caused by the PCI bus used by my Nvidia 8400GS, so others may not have this problem.
4. Had to compile using VC2010. Could not compile with VC2008 - I get the same error that I get when compiling the Trunk w/ VC2008:
..\..\xbmc\RenderSystemDX.cpp(224) : error C2065: 'D3DSWAPEFFECT_FLIPEX' : undeclared identifier
5. Could not use the build-in MPC Video codec for MKVs- video freezes at the first frame but audio keeps going. Had to change the video codec to PDVD codec.

Anyway, hope this helps.

Nice work developers. Thanks. Laugh

Can you post your build somewhere so we (I) can try it out?

Thanks!
The REAL Joe


- liquidskin76 - 2010-05-19

gulp Wrote:Compiling rev-30311
i've a lot (100) errors like these:

Code:
AviSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
FLVSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual long __stdcall IDSMChapterBagImpl::ChapSort(void)" (?ChapSort@IDSMChapterBagImpl@@UAGJXZ) non risolto
DX9AllocatorPresenter.obj : error LNK2001: simbolo esterno "bool __cdecl BitBltFromRGBToRGB(int,int,unsigned char *,int,int,unsigned char *,int,int)" (?BitBltFromRGBToRGB@@YA_NHHPAEHH0HH@Z) non risolto
BaseVideoFilter.obj : error LNK2001: simbolo esterno "bool __cdecl BitBltFromRGBToRGB(int,int,unsigned char *,int,int,unsigned char *,int,int)" (?BitBltFromRGBToRGB@@YA_NHHPAEHH0HH@Z) non risolto
DXVADecoderH264.obj : error LNK2001: simbolo esterno "public: bool __thiscall CH264Nalu::ReadNext(void)" (?ReadNext@CH264Nalu@@QAE_NXZ) non risolto
DXVADecoderH264.obj : error LNK2001: simbolo esterno "public: void __thiscall CH264Nalu::SetBuffer(unsigned char *,int,int)" (?SetBuffer@CH264Nalu@@QAEXPAEHH@Z) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual __thiscall IDSMPropertyBagImpl::~IDSMPropertyBagImpl(void)" (??1IDSMPropertyBagImpl@@UAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: __thiscall IDSMPropertyBagImpl::IDSMPropertyBagImpl(void)" (??0IDSMPropertyBagImpl@@QAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: void __thiscall CFontInstaller::UninstallFonts(void)" (?UninstallFonts@CFontInstaller@@QAEXXZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: virtual __thiscall CFontInstaller::~CFontInstaller(void)" (??1CFontInstaller@@UAE@XZ) non risolto
BaseSplitter.obj : error LNK2001: simbolo esterno "public: __thiscall CFontInstaller::CFontInstaller(void)" (??0CFontInstaller@@QAE@XZ) non risolto

here my buildlog http://pastebin.com/N9RXKHA6

usually i compile the svn rev of dsplayer once a day, but today i've these strange errors.

Hi tiben and seb,

I'm getting the same.

Cheers


- hsinchu308 - 2010-05-19

therealjoeblow Wrote:Can you post your build somewhere so we (I) can try it out?

Thanks!
The REAL Joe

Maybe Zoing could upload his version? In the version that I compiled with VC 2010 the included MPC Video decoder does not work (so I had to use the PDVD codec), in addition to other strange things. But Zoing said in his build the MPC video decoder works fine. I am trying to recompile with VC 2008, but am getting the same errors as gulp and liquidskin76. I think I know the solution though - need to set the project dependencies in VC2008 for project XBMC to include dsutil and a bunch of other projects, so the linker would link those libraries when building XBMC.exe. Trying it out now...ok, compiled and linked fine. Now to testing....

Well, mpcvideodec still does not work with the VC2008 compiled version (r30311).

Reverted to the previous version of MPCVideoDec.ax (version 28996 online) and now mpcvideodec works.

Regards,


- zoing - 2010-05-19

I uploaded the build here. *no link please :p*
i tested it only on win7. I compiled it with VS2010 so you must run the enclosed vcredist_x86. the build comes without the self-installer.

@Tiben/Seb
i hope there is nothing against it to link the file here.


- zilexa - 2010-05-19

How come it's 90 MB? 40 MB larger... while it should be smaller without installer...

EDIT: You have added a file called "Addon.zip" (inside your zipfile) wich is 50MB and seems to contain the same files as in the root of your zip...


- blinkseb - 2010-05-19

zoing Wrote:I uploaded the build here. *no link please :p*
i tested it only on win7. I compiled it with VS2010 so you must run the enclosed vcredist_x86. the build comes without the self-installer.

@Tiben/Seb
i hope there is nothing against it to link the file here.

I prefer that you don't post the link here Wink Build aren't tested by ourself, so release isn't really good. Futhermore, people will started to talk about your build and there will be a lot of misunderstanding Wink

Also, the setup file does include the vcredist file and should install it automatically, no need to run it on your own.