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)



Visual quality difference? - David602 - 2010-01-14

Is there any visual quality difference between the different approaches you are considering (DXVA using MPC decoders vs. VLC's ffmpeg)?

I've seen other comments that said the visual quality in the current XBMC player using ffmpeg wasn't as good as using MPC-HC and the MPC decoders.

I'm wondering if it's more a function of lacking DXVA in the current player or if there is some other variance betwen the visual quality of the player/codecs.

Put another way, would the Linux based VDPAU look better than the Windows 7 DXVA using VLC's ffmpeg?

Thanks!


- Elis - 2010-01-14

Hi,

Let me explain abit about how Boxee DXVA works, since there seems to be some misunderstanding:

Currently there are two ways to do DXVA in Windows:
- Using DShow (for XP, can work on Vista and 7 too)
- use DXVA2.dll (Vista and 7 only)

We prefer not to use DShow since it requires a completely new path which requires everything to be integrated inside - video, audio, sub etc. This a real pain since most of the code is already there and working. Why rewrite? on top of that we all know how frustrating working with DShow can be going through all the different filters...

Using DXVA dll requires implementing two things: decoder and renderer. The decoder part api is not very complicated. However getting all the information out from the demuxer is not trivial. Since we're using ffpmeg to demux we looked at MPC which has already done a great job. (BTW, some of it is based on ffdshow). We modified the decoder class from MPC and removed all the unnecessary DShow code. We also patched ffmpeg build from XBMC to include only the required modification while retaining all previous patches. This is important since we don't want to break any support for other platforms as well as using ffmpeg in windows for non accelerated decoding.

The second part is the rendering. Here we had to write it from scratch since other implementations (including MPC) is using DShow renderers (evr, vmr etc). The solution in Boxee integrates much more natively into the framework since it's following the same path of the non accelerated version -render to texture quad and then overlay all the required data on top such as sub and osd.

BTW I really disagree about the VDPAU integration. VDPAU works great but it does not fit nicely into the XBMC framework. You really want to seperate demuxing, decoding and rendering as much as possible which is not the case with VDPAU/XBMC integration.


- AzzX - 2010-01-15

Is there still the issue of changing refreshrate rate when using DXVA as I get major artifacting going from say 24hz to 50hz and back again:

Elis Wrote:It supports all the application features. So if refresh rate/smoothvideo works, it will work as well with DXVA.
One important thing to remember here: DXVA stores all the decoding buffers in the GPU, so whenever you reset the card (change size, refresh rate etc) you must delete all those buffers. So it's best to minimize resets as much as possible.



- Elis - 2010-01-15

Make sure your vsync is set to "always on". Next version will set this to default.


- Vinny - 2010-01-15

therealjoeblow Wrote:As you suspect, you'll probably find that your non-DXVA playable files are likely L5.1 profile 1080p (L5.1 720p files will be fine because the profile limitation is actually a function of reference frames as related to the overall resolution, explained in more detail on the Doom9 ref. above).

Actually no. I tested things out deeper. All my movies are 4.1 profile (luckily for me). In fact, I tried to run the problematic videos several times, and eventually, I'm able to play them all very fine. Thing is, I have to play them until it works. Most of time it works after 3-4 retries at most.

Any idea what my problem could be ?


- wismerhull - 2010-01-15

>>X<<' Wrote:Maybe your movies aren't encoded correctly try mpc-hc see if you get the same problem if you don't try another build, I'm using the one below in xp without any problems on an asrock ion

http://forum.xbmc.org/showpost.php?p=464714&postcount=750

Oki i'll try another build, because I dont have any problems when I'm using mpc-hc, cheers Smile


- oo_void - 2010-01-15

David602 Wrote:Is there any visual quality difference between the different approaches you are considering (DXVA using MPC decoders vs. VLC's ffmpeg)?

I've seen other comments that said the visual quality in the current XBMC player using ffmpeg wasn't as good as using MPC-HC and the MPC decoders.

I'm wondering if it's more a function of lacking DXVA in the current player or if there is some other variance betwen the visual quality of the player/codecs.

Put another way, would the Linux based VDPAU look better than the Windows 7 DXVA using VLC's ffmpeg?
Thanks!

Asides from some scaling issues, VLC and MPC-HC are about on par in terms of quality -- garbage in, garbage out. Where the quality leap comes in, and specific to Windows, is the ability to add shaders or additional filters like FFDShow to the render path. You can do some amazing stuff with FFDShow and an advanced scaling renderer like madVR. Unfortunately, none of these techniques will work in conjunction with DXVA.

Now for a more philosophical point (feel free to tear my head off on this) ... Considering all the effort going into this, how long will the need to support DXVA even be viable considering the continual increase in available processing power. For example, I've got a three year old machine with a 3650 that handles 1080p just fine. I know nettops are all the rage right now, in fact I almost bought one, but it's not going to be long before the $400 price point has the horsepower to handle unassisted 1080p. It can see Boxee's reasoning somewhat, considering their business plan, but not XBMC. I'd much rather see effort go into some forward thinking improvements like a really nice scaler (think madVR), or better color space rendering, rather than supporting a technology that's near the end of its usefulness. Anyways ...


- jakejm79 - 2010-01-15

Just wanted to say a huge thanks to Tiben20, latest build (1st post) working perfectly out of the box on XP SP3. 1080P h264 mkvs running at about 4% on my revo1600. I have Turtle Beach Audio Advantage Micro (via USB) doing the audio since my receiver doesn't have HDMI connections. Passes the DTS/DD signal perfectly. My only problem now is that I found this thread after dropping the money on a Crystal HD, oh well I know have 3 options (Win32 DX - DSplayer, Win32 OGL - Crystal HD & Linux/Live - VDPAU).
Thanks again Tiben20 keep up the good work.


- CrashX - 2010-01-15

elupus Wrote:tiben:
STOP.. Smile, i've already started working on the vlc way. That said, you are free to help out when i get abit further along.

Just curious, as a team don't you guys discuss what each team member is doing next or is it pretty much open to who gets the code in svn first.

Hope to see official DXVA support soon !!


- &gt;&gt;X&lt;&lt; - 2010-01-15

oo_void Wrote:Asides from some scaling issues, VLC and MPC-HC are about on par in terms of quality -- garbage in, garbage out. Where the quality leap comes in, and specific to Windows, is the ability to add shaders or additional filters like FFDShow to the render path. You can do some amazing stuff with FFDShow and an advanced scaling renderer like madVR. Unfortunately, none of these techniques will work in conjunction with DXVA.

Now for a more philosophical point (feel free to tear my head off on this) ... Considering all the effort going into this, how long will the need to support DXVA even be viable considering the continual increase in available processing power. For example, I've got a three year old machine with a 3650 that handles 1080p just fine. I know nettops are all the rage right now, in fact I almost bought one, but it's not going to be long before the $400 price point has the horsepower to handle unassisted 1080p. It can see Boxee's reasoning somewhat, considering their business plan, but not XBMC. I'd much rather see effort go into some forward thinking improvements like a really nice scaler (think madVR), or better color space rendering, rather than supporting a technology that's near the end of its usefulness. Anyways ...

How usable is your 3650 for doing other stuff at the same time as watching 1080p and I'm talking about heavy tasks ?

I wont tear your head off though as I think someone already has and removed 90% your brain Rofl


- ashlar - 2010-01-15

Hardware acceleration is still really important for deinterlacing. In my experience software solutions leave a lot to be desired. What's with elupus and vlc, need more details! Big Grin


- tiben20 - 2010-01-15

ashlar Wrote:Hardware acceleration is still really important for deinterlacing. In my experience software solutions leave a lot to be desired. What's with elupus and vlc, need more details! Big Grin
Just wait asking where we are with that will really not help releasing it faster


- ashlar - 2010-01-15

tiben20 Wrote:Just wait asking where we are with that will really not help releasing it faster
Sorry, wasn't really asking for a timeframe. Was more curious about tech details.


- Scott R - 2010-01-15

Nice to see a Boxee dev participating here. Just so I'm clear...

1) Boxee will not support NVIDIA ION decoding under Win XP, correct?

2) Will the new development work that tiben20/elupus are working on together result in official support of NVIDIA ION decoding under XBMC, even on Win XP?


- &gt;&gt;X&lt;&lt; - 2010-01-16

Scott R Wrote:2) Will the new development work that tiben20/elupus are working on together result in official support of NVIDIA ION decoding under XBMC, even on Win XP?

But tiben20 builds already work perfectly on Ion under XP except for subs that is