PDA

View Full Version : transport stream splitter with dynamic 16:9 handling


stax76
14th September 2010, 13:42
It seems the MPC splitter can't detect 16:9 changes and is very slow regarding seek times.

Haali is responsive but don't detect 16:9 changes, does anybody know how to contact Haali?

I can't get LAVFSplitter working, AVI works but for TS and MKV DirectShow isn't able to find a source filter, would LAVFSplitter detect 16:9 changes?

Detecting 16:9 is important, most German channels change 16:9 frequently, you start recording when a ad is shown and it's 4:3, the movie begins and it's 16:9, now you have a problem when using a remote control because you have a wrong aspect ratio and you can't change it.

Ger
14th September 2010, 16:23
I assume you're talking about MPEG-2 in TS, since I haven't seen any H.264 channels with AR switching. If you use ffdshow as the MPEG-2 video decoder it will switch AR mid-stream with any splitter. The internal MPC-HC MPEG-2 decoder and the Microsoft DTV-DVD decoder doesn't support this.

DVBSource (part of DVBViewer) switches AR even with the MS decoder, so I think it should be possible for the splitter to handle this with any decoder as well, but I don't think Gabest, Haali or LAVFSplitter can do this currently, so the best bet for now is to use a decoder like ffdshow that will deal with AR throughout the stream.

stax76
14th September 2010, 16:59
I guess I have to create a dedicated profile in ffdshow with mpeg2video as decoder condition to force yadif usage? That seem to work, thanks.

Ger
14th September 2010, 17:51
I don't use a profile. I used to prefer yadif (2x) as well in ffdshow, but after I learned how to enable hardware deinterlacing in ffdshow that is my preference. Low CPU usage and good quality (ATI uses a vector adaptive method).

Perhaps you prefer yadif for other reasons, but if you want to use hardware deinterlacing with ffdshow:
- Deinterlacing tab: Disable all deinterlacing if enabled.
- Output tab: Uncheck all output colorspaces except NV12 (hw deint needs NV12). Check "Set interlace flag in output media type". Use "Force bob" as "Method" if you have channels with badly flagged frames (interlaced frames flagged as progressive is unfortunately quite common). If you leave it on Auto the deinterlacing is only applied to frames flagged as interlaced. I prefer "Force bob" myself. This only affects frames marked as progressive within otherwise interlaced streams AFAIK.

There is (or at least was, I haven't checked for a long time) a problem with field order detection with some streams, but it's rare, so I leave that on on Auto.

This is tested with ATI and Nvidia. Not sure about Intel.

stax76
14th September 2010, 20:03
I'll try this thanks!

Underground78
15th September 2010, 07:16
I assume you're talking about MPEG-2 in TS, since I haven't seen any H.264 channels with AR switching. If you use ffdshow as the MPEG-2 video decoder it will switch AR mid-stream with any splitter. The internal MPC-HC MPEG-2 decoder and the Microsoft DTV-DVD decoder doesn't support this.

I am currently adding this feature to the MPEG2 internal decoder to fix the AR problems with DVB-T in MPC-HC. It should already work with this build : http://www.mediafire.com/?rv21rkwq157scks. I will be happy to have some feedback on this ! :)

Edit : Here a new test build : http://sharebee.com/bc05b04d, you need to go in the internal MPEG2 decoder configuration panel to enable "Read AR from stream".

Ger
15th September 2010, 16:14
Yup. AR switching working fine with internal decoder for me with test build and "Read AR from stream" checked. Maybe it should be checked by default?

Tested with my "According to Jim" sample from the LAVFSplitter thread.

Underground78
15th September 2010, 16:16
Yup. AR switching working fine with internal decoder for me with test build and "Read AR from stream" checked. Maybe it should be checked by default?

Yes, it will be on by default. Thanks a lot for testing ! :)

stax76
15th September 2010, 16:31
I will be happy to have some feedback on this !

I can confirm it's working, thanks listening to my feedback, very encouraging.

Underground78
15th September 2010, 16:39
I can confirm it's working, thanks listening to my feedback, very encouraging.

Thank you ! To be totally honest I saw this topic after I had started to work on this. At the beginning it was to fix aspect ratio problems with DVB-T capture mode in MPC-HC. ;)

Underground78
15th September 2010, 22:28
Have you any notice performance issues with this test build ?

Underground78
16th September 2010, 08:50
Have you any notice performance issues with this test build ?

In fact it was only when using the debug build so the patch has been committed as r2565 (http://sourceforge.net/apps/trac/mpc-hc/changeset/2565).

stax76
29th September 2010, 14:19
Output tab: Uncheck all output colorspaces except NV12 (hw deint needs NV12).

This will break DirectShowSource, took me a while to find out why it's broke. :)

Ger
29th September 2010, 17:43
OK. I don't use it so I wouldn't know.

According to DXVA Checker YUY2 and UYVY also supports some deinterlacing methods on ATI cards, but not Vector Adaptive. Those may be compromises with OK results if they are working with DirectShowSource.

This is with ATI HD5770:
http://img826.imageshack.us/img826/4664/dxvacheckerhd5770.png (http://img826.imageshack.us/i/dxvacheckerhd5770.png/)