NextPVR Forums
  • ______
  • Home
  • New Posts
  • Wiki
  • Members
  • Help
  • Search
  • Register
  • Login
  • Home
  • Wiki
  • Members
  • Help
  • Search
NextPVR Forums Public NextPVR Support Legacy (v4.x and earlier) v
« Previous 1 … 208 209 210 211 212 … 433 Next »
XySubFilter support?

XySubFilter support?
whurlston
Offline

Posting Freak

Posts: 7,885
Threads: 102
Joined: Nov 2006
#11
2014-08-17, 10:29 PM
Sub doesn't need to code for xysubfilter. More details after I get the kids to bed
whurlston
Offline

Posting Freak

Posts: 7,885
Threads: 102
Joined: Nov 2006
#12
2014-08-18, 12:31 AM
xySubFilter requires the renderer (or possibly the video decoder) to support some proprietary interfaces, (ISubStream being one) all of which are GPL (a non starter as sub said). Normal renderers (EVR, VMR, etc) don't support these interfaces. Sub would need to create a custom presenter and/or mixer for EVR in order to support it and IMO, it's not worth the hassle. You can simply use the DirectVobSub filter instead and the autoloading version will automatically get loaded when playing an mkv/m2ts or bluray (if my BD plugin isn't used).

All sub really needs to do is query the source filter for IAMStreamSelect and use it to select subtitle and audio streams. This also wouldn't require him using any GPL code in NextPVR.
sub
Offline

Administrator

NextPVR HQ, New Zealand
Posts: 106,807
Threads: 769
Joined: Nov 2003
#13
2014-08-18, 01:06 AM
whurlston Wrote:You can simply use the DirectVobSub filter instead and the autoloading version will automatically get loaded when playing an mkv/m2ts or bluray (if my BD plugin isn't used).
Is DirectVobSub inserted between the video decoder and video renderer? ie, no hardware acceleration? I suspect this was one of hoborg's goals.

Quote:All sub really needs to do is query the source filter for IAMStreamSelect and use it to select subtitle and audio streams. This also wouldn't require him using any GPL code in NextPVR.
I have been meaning to try adding this sort of logic for playback of non .ts files, at least for audio streams. I'll see if I can do something like this for the next release. (this doesn't really help hoborg's original request, but still useful)

Is DirectVobSub also controlled via IAMStreamSelect? I guess it'd be useful to be able to switch/enable/disable subtitles on some these non .ts files too.
whurlston
Offline

Posting Freak

Posts: 7,885
Threads: 102
Joined: Nov 2006
#14
2014-08-18, 02:11 AM
sub Wrote:Is DirectVobSub inserted between the video decoder and video renderer? ie, no hardware acceleration? I suspect this was one of hoborg's goals.
Yes it does (so no hardware acceleration as you mentioned).

sub Wrote:I have been meaning to try adding this sort of logic for playback of non .ts files, at least for audio streams. I'll see if I can do something like this for the next release. (this doesn't really help hoborg's original request, but still useful)

Is DirectVobSub also controlled via IAMStreamSelect? I guess it'd be useful to be able to switch/enable/disable subtitles on some these non .ts files too.
DirectVobSub does not support IAMStreamSelect but most non ts files will probably be loaded using LAV Splitter Source (or use the FileSource Async with LAV Splitter), which does support IAMStreamSelect. The way I used it on one of my many past attempts for Bluray Playback was to have the following class and enum:
Code:
public class StreamInfo
        {
            public int Index;
            public int Plcid;
            public TrackType PdwGroup;
            public AMStreamSelectInfoFlags PdwFlags;
            public AMMediaType Ppmt;
            public string PpszName;
            public object PpObject, PpUnk;

            public StreamInfo(int index, AMMediaType ppmt, AMStreamSelectInfoFlags pdwFlags, int plcid, int pdwGroup, string ppszName, object ppObject, object ppUnk)
            {
              Index = index;
              Ppmt = ppmt;
              PdwFlags = pdwFlags;
              Plcid = plcid;
              PdwGroup = (TrackType)pdwGroup;
              PpszName = ppszName;
              PpObject = ppObject;
              PpUnk = ppUnk;
            }

            public override string ToString()
            {
                return base.ToString();
            }

            public string toXMLString()
            {
                return string.Format("<{0}Stream><Description>{1}</Description><Index>{2}</Index></{0}Stream>", this.PdwGroup, this.PpszName, this.Index);
            }

        }

        public enum TrackType
        {
            Video = 0,
            Audio,
            Subtitle
        }

and then I got the streams using the following (where "sourceFilter" is an IBaseFilter, usually LAV Splitter Source):
Code:
List<StreamInfo> streamInfoList = new List<StreamInfo>();

                        IAMStreamSelect sSelector = sourceFilter as IAMStreamSelect;
                        if (sSelector != null)
                        {
                            int sCount;
                            if (sSelector.Count(out sCount) == 0 && sCount > 0)
                            {
                                for (int i = 0; i < sCount; i++)
                                {
                                    int plcid, pdwGroup;
                                    object ppObject, ppUnk;
                                    AMStreamSelectInfoFlags pdwFlags;
                                    AMMediaType ppmt;
                                    string ppszName;
                                    sSelector.Info(i, out ppmt, out pdwFlags, out plcid, out pdwGroup, out ppszName, out ppObject, out ppUnk);
                                    streamInfoList.Add(new StreamInfo(i, ppmt, pdwFlags, plcid, pdwGroup, ppszName, ppObject, ppUnk));
                                }
                            }
                        }
sub
Offline

Administrator

NextPVR HQ, New Zealand
Posts: 106,807
Threads: 769
Joined: Nov 2003
#15
2014-08-18, 02:15 AM
Ah, right. Gotcha. Thanks for the info.
hoborg
Offline

Posting Freak

Posts: 970
Threads: 46
Joined: Feb 2009
#16
2014-08-18, 04:14 AM
whurlston Wrote:... You can simply use the DirectVobSub filter instead and the autoloading version will automatically get loaded when playing an mkv/m2ts or bluray (if my BD plugin isn't used).

Hi.

No problem with HW acceleration thanks to LAV DXVA copy back, the problem is bad quality of subtitles on low res videos :/
[SIZE="1"]My projects:
SAF6 (Standalone Filters)
HOBRing - My easy Amiga emulation
My HTPC[/SIZE]
hoborg
Offline

Posting Freak

Posts: 970
Threads: 46
Joined: Feb 2009
#17
2014-08-18, 04:17 AM
sub Wrote:Your original one-liner request was making it sounds like you were after something smaller.

Sub, i am jusl looking for a solution to replace old FFDshow.

If support of XySubFilter is too complex, what about better support of MadVR?
For me biggest issue is not working Aspect Ratio and hiding of progres bar, else it seems to be working fine.
[SIZE="1"]My projects:
SAF6 (Standalone Filters)
HOBRing - My easy Amiga emulation
My HTPC[/SIZE]
Lao Pan
Offline

Posting Freak

UK (Mendip TX)
Posts: 1,301
Threads: 114
Joined: Oct 2008
#18
2014-08-18, 05:35 AM
Hi Hoborg
hoborg Wrote:Sub, i am jusl looking for a solution to replace old FFDshow.

Have you tried the xy-vobsub filter - its what I have been using with my customized SAF install (SAF23, MPC-HC Nightlies [for LAV filters] and FFDShow unreg & Removed) It looks very good once the font size is reduced (Droid Sans works well) on my 50" Plasma and Copyback DXVA works on my HD7000 series AMD Graphics Card.

Although I can't comment on very low res video as I probably don't do less than DVD and most are 720 or 1080p
It's not an overly complicated system - it's more - overly simple operatives  Huh
hoborg
Offline

Posting Freak

Posts: 970
Threads: 46
Joined: Feb 2009
#19
2014-09-02, 05:31 AM
SUB, if you do not want to support MadVR, and creating custom renderer is too complex, what about possibility to add FFDShow RAW VIDEO filter in to the graph (between video decoder and video renderer)?

I known that nPVR leaves that completly on DirectShow, but there is no way how to do that automatically without player support.

By this, we can gain:
- hi quality subtitles rendering (resize video to screen resolution => add subtitles in to the resized image)
- audio/subtitles streams switching including keyboard shortcuts = possibility to map them to remote controler
- no DXVA broken (if LAVF DXVA copyback/Intel Quick Sync/CUDA is in use)

Of course this should only be done for non .TS files/DVDs.
It can be configured by one line in config.xml.

What do you think? It can be a solution.
[SIZE="1"]My projects:
SAF6 (Standalone Filters)
HOBRing - My easy Amiga emulation
My HTPC[/SIZE]
« Next Oldest | Next Newest »

Users browsing this thread: 1 Guest(s)

Pages (2): « Previous 1 2


Possibly Related Threads…
Thread Author Replies Views Last Post
  State of IPTV support TRW 18 6,159 2020-10-22, 09:58 AM
Last Post: pbelo
  In person support group Brucek2839 2 1,336 2018-10-14, 07:18 PM
Last Post: Brucek2839
  Capture Card and IPTV Support? gdogg371 3 2,042 2018-08-03, 10:36 AM
Last Post: gdogg371
  Support for on demand streaming channels ? NicolasK 4 2,266 2018-01-17, 04:59 PM
Last Post: NicolasK
  NextPVR Tech Support - READ BEFORE POSTING --- REALLY! --- READ BEFORE POSTING-- johnsonx42 19 88,592 2018-01-17, 02:13 AM
Last Post: NicolasK
  Private IPv6 address support mvallevand 9 4,010 2017-10-19, 06:20 PM
Last Post: mvallevand
  Kodi nextpvr support twinfrey 6 3,229 2017-09-18, 02:39 AM
Last Post: twinfrey
  Looks like Microsoft is bringing back MPEG2 video support scJohn 2 2,625 2017-02-19, 08:37 PM
Last Post: 2leftfeet
  Does NPVR have support for changing recording quality? liskinator 24 12,982 2017-01-08, 05:36 PM
Last Post: sub
  NextPVR and NAS support rosede 27 8,759 2016-12-12, 05:57 PM
Last Post: rosede

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D, modified by NextPVR - Powered by MyBB

Linear Mode
Threaded Mode