Direct Show Native Wrapper
dsnative it's a c++ wrapper using MS baseclasses that loads directly a direct show filter, and makes possible decoding of video frames without need for build a directshow application or a Graph. Now only used in MPlayer.
The binary dll should be in the path, alternatively dsnative will try to search the path using Windows registry if the
codec is registered in the system.
The sender filter implements IFileSourceFilter so the decoder filter (ffdshow does it) can query GetCurFile() to retrieve the path of currently played media and detect for example subtitles in source file's directory.
The wrapper is made for MPlayer/MEncoder, but teorically it can be used easily in other projects, contact me if interested.
Please note this code is still experimental, I'm not a DirectShow guru, and I'm using DirectShow in a way that is not supposed to be used. It may crash, have weird performances, or crash your pc (unlikely). Framedrop does not always work as expected.
If you have a good knowledge of DirectShow, I would appreciate a lot your help, please contact me.
Direct Show Native Wrapper is licensed under the terms of GNU LGPL v2.1
No binaries are availables here, dsnative dll is bundled with MPlayer package, this will change when the API will be more defined.
Current sources can be found on github:
Codec support matrix (tested with MPlayer/MEncoder and vd_dsnative decoder)
|CoreAVC Video Decoder||1.9.5||dsncoreavc||CoreAVCDecoder.ax||Working||Needs to be purchased|
|ffdshow-tryout Video Decoder||r3255||dsnffdshow||ffdshow.ax||Working|
|ffdshow-tryout DXVA Video Decoder||r3255||dsnffdshowdxva||ffdshow.ax||Not working||Need to test latest codec definition that uses NV12 as output|
|DivX H.264 Decoder||126.96.36.199||dsndivxh264||DivXDecH264.ax||Working||Decoded frame size is greater than expected, but it works|
|DiAVC H.264 Decoder (DiAVC)||1.0.2||dsndiavc||diavc.ax||Working||Needs to be purchased|
|CineForm HD||188.8.131.529||dsncineformhd||CFDecode2.ax||Working||The codec is included in NeoPlayer 4 Setup|