Reply to thread

[USER=60104]@Sebastiii[/USER] 

first I thought it would be too difficult to move from Microsoft.DirectX to SharpDX but at the end I have managed to make it, though it took me a few days of hard work.

Some DirectX methods/structs uses different names or they are placed somewere else and some structs are missing(like CustomVertex). Handling the DirectX device is slightly different (I took liberty to use some part of code from MP2).

Well, I'm supprised that there is no problem with GUI at all. So far it is working without issuses including well known plugins. TV plugin is working too.

TV server is 32bit - no need to go for 64bit version except for some dll needed for TV plugin.

Had some problem with DVBT subs - crash. MP uses packing attr for structs which causes misaligned fields on 64bit platform. After fix the TV playback with subs is fine now.

So here is my experience of 64bit version:


Pros:

  • GUI seems to me a bit faster. It looks like 64bit platform has its own benefit.  For example: generating Weather World Geo Clock image takes 250ms on 32 bit, but only 150ms on 64bit.
  • LAV 64bit: yes - the boost of SW HEVC decoding is huge. On 32bit it is impossible to watch DVB-T2 HEVC FullHD 50p stream on my older NUC, but now the CPU load keeps around 30% without frame dropping.


Cons (so far):

  • Reclock: yes Reclock is 32bit only, so I had to switch to MediaPortal Audiorenderer + EVR. Looks like it is working well, at least no dropping frames.
  • Missing 64bit version of bass_wadsp.dll. No sure what is for (some winamp effect lib?)
  • MiniDisplay LCD native driver libraries: this is the same problem - 32bit only. I'm trying to create simple external app as proxy server for executing native methods. Looks like my old Soundgraph LCD is working, but need some more testing.
  • Other plugins: no problem if source code is available - they can be recompiled. At least for OnlineVides, MovingPictures, TVseries, etc. For OnlineVides I'm using LAV source splitter, have some trouble to compile georgius's MPIPTV Source Splitter, but LAV can be used too. I'll try to ask doskabouter for some help.

 

Problems (both original 32bit and 64bit version):

  • Have some issues with BDReader but LAV Source Splitter is working perfectly. Tested on FullHD 59i LPCM m2ts stream: after start of playback the sound is cca 1s behind the video; dropping frames; after playback there is no sound at all from GUI. Looks like something is not properly disposed - at least there is no 'dtor' in evr.log after playback
  • DVBT subs eneabled causing dropping a frames. Creating/updating texture takes a lot of time (more then 20ms which leeds to drop a frame on 50p stream). So I tried to divide the process on two parts: create texture on callback and lock/update the texture on first render. Seems to be better now.


I'll prepare modified source code so you can test it as you like. This take me some time - I have my own custom changes which needs to be separated.

But keep in mind that this is experimental test, there still can be a bugs.


Top Bottom