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)



- ashlar - 2009-11-30

hades_2100 Wrote:I'm also setting up another desktop, this with an ATI HD4350 video card. Is this card supported? It does accelerate video, at least according to the specs.
If it's supported by MPC-HC (and it is) it should be supported by DSPlayer, which uses the same codecs for hardware decoding.


- hoborg - 2009-11-30

It also depends on how many ref. frames source video have. ATI only support 5.1 profile up to 5 ref. frames. If video is 5.1 profile and have 6 or more ref. frames, MPC video decoder fall back to software mode to prevent artefacts.

Maybe the video profile and ref.frames # should be displayed on screen too next to res and FPS (like Res: 1280x720 @ 29.970 fps Profile 5.1 Ref.frames 4)


- tiben20 - 2009-11-30

mindweaver Wrote:When I press O to get video info it says NOT USING DXVA, has this something to do with ffdshow being installed or something?
If you have the NOT USING DXVA it couldnt be related to ffdshow because the dxva description is requested from the mpc video decoder and not from ffdshow. If you get this that mean dxva is just not supported by your system or a filter making it impossible to use it.
mindweaver Wrote:My main concern though is that the auto refreshrate changer does not work with DSPlayer. Is that something you have missed or is it intentional?
Well i dont even know what is the auto reffresh rate changer from xbmc. I dont really have any knowledge to do it on my own.

hoborg Wrote:It also depends on how many ref. frames source video have. ATI only support 5.1 profile up to 5 ref. frames. If video is 5.1 profile and have 6 or more ref. frames, MPC video decoder fall back to software mode to prevent artefacts.

Maybe the video profile and ref.frames # should be displayed on screen too next to res and FPS (like Res: 1280x720 @ 29.970 fps Profile 5.1 Ref.frames 4)
Well i should have to rewrite completly the part related to the video info on screen.
All i did is taking mediainfo sdk and resolve the info from the current file

hades_2100 Wrote:A more serious problem, with DSPlayer, when playing an AVI or HD (MKV/TS/etc) file, DSPlayer crashes the instant I press Enter to start playback. The same movie plays fine (although HD movies stutter) with the original player.
Humm i see the player start the rendering and scheduling threads twice so there might me an error in evr renderer


- ashlar - 2009-11-30

tiben20 Wrote:Well i dont even know what is the auto reffresh rate changer from xbmc. I dont really have any knowledge to do it on my own.
It starts playing the file and changes refresh rate to allow a 1:1 cadence (or 2:2, 3:3), etc. So if you have XBMC GUI at 60Hz and play a movie at 23.98 fps, it switches to 24Hz your monitor. Or if you start playing PAL content it switches to 50Hz.

Reclock supports scripts to handle this and I think that MediaPortal does this internally (Reclock on Windows 7 it's not very robust for handling refresh rate switch).


- hades_2100 - 2009-11-30

hoborg Wrote:It also depends on how many ref. frames source video have. ATI only support 5.1 profile up to 5 ref. frames. If video is 5.1 profile and have 6 or more ref. frames, MPC video decoder fall back to software mode to prevent artefacts.

Maybe the video profile and ref.frames # should be displayed on screen too next to res and FPS (like Res: 1280x720 @ 29.970 fps Profile 5.1 Ref.frames 4)

The player crashes on the ATI system when playing HD MKV files or lowly AVI files. I tried many files, all of which played fine on the ION system.

I'll try playing these files using MPC.

hades


- mindweaver - 2009-11-30

tiben20 Wrote:If you have the NOT USING DXVA it couldnt be related to ffdshow because the dxva description is requested from the mpc video decoder and not from ffdshow. If you get this that mean dxva is just not supported by your system or a filter making it impossible to use it.

Ok, I have to investigate it further then Smile


tiben20 Wrote:Well i dont even know what is the auto reffresh rate changer from xbmc. I dont really have any knowledge to do it on my own.

Well it is one of the major functions for us who wants to watch non stuttering movies, and since your player seems to also be a part of that goal I hope you will take a look at it. As of now the main player is better at running at 60hz than your DSPlayer(w filters). So we have to have XBMC change refresh rate when starting your player, as it does for the "old" one.

You will find the setting in

Settings -> Video -> Playback -> Adjust Display Refresh Rate to Match Video

Without that checked, XBMC keeps the refresh rate at 60hz (desktop refresh) when starting the player . And with it checked it starts the player at matching rate of the video fps. 23.98fps mkv movies makes my TV change to 23.98 hz.


- neil.j1983 - 2009-11-30

mindweaver Wrote:Ok, I have to investigate it further then Smile




Well it is one of the major functions for us who wants to watch non stuttering movies, and since your player seems to also be a part of that goal I hope you will take a look at it. As of now the main player is better at running at 60hz than your DSPlayer(w filters). So we have to have XBMC change refresh rate when starting your player, as it does for the "old" one.

You will find the setting in

Settings -> Video -> Playback -> Adjust Display Refresh Rate to Match Video

Without that checked, XBMC keeps the refresh rate at 60hz (desktop refresh) when starting the player . And with it checked it starts the player at matching rate of the video fps. 23.98fps mkv movies makes my TV change to 23.98 hz.

AIUI the goal of dsplayer is to get DXVA working. everything else is just window(s) dressing.

As far as switching refresh is concerned, just install reclock and make a script, its not a big deal. or use shortcuts linked to your remote (eventghost works well).

i had a play around on the last one tiben uploaded. Cracking addition to xbmc, and from my point of view, its great to have ffdshow upscaling options available!

any idea how to make the mpchc dts/ac3 filters etc output 5.1 instead of 2.0?

as an idea for directshow codec managing, i dont know anything about coding, but in my opinion (and please shoot it down if its a rubbish idea). It would be brilliant if codecs were selectable for each FOURCC of the media.

eg
VC1=mpcvideodec
MPG2=ffdshow
H264=ffdshow
FLAC=madFLAC
AC3=AC3Filter

i hope that makes sense. i think it would be alot more work, but infinitely more customisable.


- ashlar - 2009-11-30

neil.j1983 Wrote:As far as switching refresh is concerned, just install reclock and make a script, its not a big deal.
My experience with Reclock's scripts has been far less than satisfactory. Haven't tried it with DSPlayer, but more often than not in other players it gave me problems (and yes, I was using the right script, the refresh rate changed, but there was probably some problem between the presenter and the renderer that made everything orribly juddery).
Quote:any idea how to make the mpchc dts/ac3 filters etc output 5.1 instead of 2.0?
We will need to access mpc-hc's filter properties to do that.
Quote:as an idea for directshow codec managing, i dont know anything about coding, but in my opinion (and please shoot it down if its a rubbish idea). It would be brilliant if codecs were selectable for each FOURCC of the media.
I previously directed tiben20 to ZoomPlayer's SmartPlay functionality. I think he aims to provide that kind of flexibility through the xml configuration file.


- mindweaver - 2009-11-30

neil.j1983 Wrote:AIUI the goal of dsplayer is to get DXVA working. everything else is just window(s) dressing.

As far as switching refresh is concerned, just install reclock and make a script, its not a big deal. or use shortcuts linked to your remote (eventghost works well).

I have shortcuts linked on my remote, but they only work in windows, not when XBMC own focus. And that is how I like it. When there is a feature in XBMC that does this, it why not use that? Doesn't feel right to do more things outside if not needed.


- >>X<< - 2009-11-30

ashlar Wrote:We will need to access mpc-hc's filter properties to do that.

Yes and that's already doable I just played a media file in MPC-HC and then adjusted the audio filter, I changed it from bitstream to analogue I did the same with AC3 filter and an EQ filter I use


- tiben20 - 2009-11-30

Ok i really dont know where to go first way too much stuff to do. Ill take a break of this project for a week or two. Worked way too much time on it in the last 2 months. So everyone thank you for your support and if you want to be useful learn c++ and help me out http://forum.xbmc.org/showthread.php?tid=59610


because i am absolutely clueless about compiling - hellohello - 2009-11-30

tiben20 can you please release one last build including your latest efforts (i.e. pause/resume) before your "sabbatical"?


- tiben20 - 2009-11-30

hellohello Wrote:tiben20 can you please release one last build including your latest efforts (i.e. pause/resume) before your "sabbatical"?

Yeah sure ill update the download link in the first thread in the next hours


- ashlar - 2009-11-30

This project needs help. Tiben20 risks burning himself out Sad
Have a nice sabbatical!


- Montellese - 2009-11-30

What is the minimum graphics card requirements to be able to use DXVA?
I only have an ATI Radeon HD3470 (128 MB) in my Laptop running Win7 32bit and an ATI Radeon HD3450 (512 MB) in my dev machine running WinXP 32bit and as far as I know these only support UVD+. Would this be enough to be able to use and help developing this "project"?

I have coded in C++ for a few years (nothing big mostly personal projects using Qt) but my partial work as an embedded software developer (e.g. on an ARM7 uC) required me to code in plain old C (and Assembler if it was really needed). Haven't used both programming languages in a while now as I started to get to know C# and I'm currently doing some work on UMM (Universal Media Manager) but I think that I still know how it works Wink

Let me know whether my graphics cards meet the requirements to help you out a bit. If not it might be the right time to look for a newer graphics card (quite hard if you are looking for a passively cooled one which isn't too big).