CUDA, Intel Quick Sync, DXVA2, Media Foundation, WASAPI, Audio/Video DSP...

714 views
Skip to first unread message

Mamadou

unread,
Jul 29, 2013, 3:56:03 AM7/29/13
to doub...@googlegroups.com
Hello,

I just want to share with you this awesome release note for our SIP Windows client (Thanks to General Electric):

 * Adds support for NVIDIA CUDA H.264 codec (pluginCUDA)
 * Adds support for Intel Quick Sync H.264 codec (pluginWinMF)
 * Adds support for Microsoft H.264 codec (pluginWinMF)
 * Adds support for DXVA2 (pluginWinMF)
 * Adds support for Media Foundation video capture and rendering (pluginWinMF)
 * Adds Microsoft audio resampler DSP (pluginWinAudioDSP)
 * Adds support for Microsoft voice capture DSP (pluginWinAudioDSP)
 * Adds support for WASAPI audio back-end (pluginWASAPI)
 * Adds support for Microsoft Color Converter, Frame Rate Converter and Video Resizer DSPs (pluginWinMF)
 * Adds support Microsoft Video Processor MFT (pluginWinMF)
 * Fix video latency issues on DirectShow (now using Direct3D for immediate rendering and RGB32 instead of RGB24 for better quality). tinyDSHOW is now replaced with pluginDirectShow.
 * Fix sound latency issues on DirectSound playback module
 * ...and many bug fixes

To download this version (Boghe-RockStar.sfx.exe): https://code.google.com/p/boghe/downloads/list

Short technical information for developers:

1) pluginCUDA.DLL
This module is not part of the default setup and  you'll need to download (https://code.google.com/p/boghe/downloads/list) and install it.
CUDA will only be used on a PC with NVIDIA GPU.
Boghe comes with *four* H.264 implementations: CUDA, Intel Quick Sync, Microsoft and FFmpeg+x264. CUDA has the highest priority.
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginCUDA/plugin_cuda_codec_h264.cxx
MinOS: XP

2) pluginWinMF.DLL
This module is installed with Boghe by default (no need to download it again unless for updates).
This module contains:
2a) Intel Quick Sync H.264 codec
This codec will only be used on PCs with Intel GPU regardless the CPU type. The encoder provides better quality and speed than x264. You will need up to date drivers.
As this codec is used as a MFT then, the encoder could be Intel while decoder is from Microsoft or any other registered MFT.
This codec has higher priority than MS and FFmpeg+x64.
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinMF/plugin_win_mf_codec_h264.cxx
MinOS: Win7
2b) Microsoft H.264 codec
This codec works on any PC regardless the GPU and CPU types.
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinMF/plugin_win_mf_codec_h264.cxx
MinOS: Win7
2c) Video Converter
The video convertor is used for chroma conversion, framerate conversion and image scaling. All 3 features are natively provided by the OS:
- Video Resizer DSP: http://msdn.microsoft.com/en-us/library/windows/desktop/ff819491(v=vs.85).aspx
- Frame Rate Converter DSP: http://msdn.microsoft.com/en-us/library/windows/desktop/ff819100(v=vs.85).aspx
- Color Converter DSP: http://msdn.microsoft.com/en-us/library/windows/desktop/ff819079(v=vs.85).aspx
This plugin has higher priority than libswscale and libyuv.
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinMF/plugin_win_mf_converter_video.cxx
MinOS: Win7
2d) Media Foundation video capture and rendering
Low latency video capture and rendering. The video capture bundles the codec (Intel or Microsoft) in a single topology to lower the latency.
This plugin has higher priority than pluginDirectShow.
Source code: consumer (https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinMF/plugin_win_mf_consumer_video.cxx), producer(https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinMF/plugin_win_mf_producer_video.cxx)
MinOS: Win7
2e) How to know which implementation is used?
The outgoing SDP contains a new attribute ("impl=") for this. Possible values: "FFMPEG", "CUDA" or "MF". "MF" could be either Microsoft or Intel implementations.

3) pluginWinAudioDSP.DLL
This module is not part of the default setup and  you'll need to download (https://code.google.com/p/boghe/downloads/list) and install it at.
The module contains:
3a) Microsoft audio Resampler DSP (http://msdn.microsoft.com/en-us/library/windows/desktop/ff819070(v=vs.85).aspx)
If installed, this plugin has higher priority than SpeexDSP and WebRTC. The tests show the quality is better than the current implementation based on libspeexdsp.
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinAudioDSP/plugin_audio_dsp_resampler.cxx
MinOS: Win7
3b) Microsoft Voice capture DSP (http://msdn.microsoft.com/en-us/library/windows/desktop/ff819492(v=vs.85).aspx)
This plugin is disable until fully tested. Features provided:
- Acoustic echo cancellation (AEC)
- Microphone array processing
- Noise suppression
- Automatic gain control
- Voice activity detection
Source code: https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWinAudioDSP/plugin_audio_dsp_denoiser.cxx
MinOS: Win7

4) pluginWASAPI.DLL
This module is not part of the default setup and  you'll need to download (https://code.google.com/p/boghe/downloads/list) and install it.
This module offers a low latency audio back-end (capture and playback). The latency is better than DirectSound and WaveAPI but some issues (noise) have been noticed and this is why it's not deployed for now.
Source code: consumer (https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWASAPI/plugin_wasapi_consumer_audio.cxx), producer(https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/plugins/pluginWASAPI/plugin_wasapi_producer_audio.cxx)

Please post your feedbacks here if you have any technical question.

Again, BIG thanks to General Electric (http://www.ge.com/) for their for their technical and financial help.

Regards,
--
Mamadou DIOP - Technology Evangelist
Doubango Telecom - Paris, France
http://www.doubango.org
Click here to call me!

Muhammad Shahzad Shafi

unread,
Jul 29, 2013, 4:26:44 AM7/29/13
to doub...@googlegroups.com

Wow, That's really cool.

Let me test it. :)

 

Thank you.

--
You received this message because you are subscribed to the Google Groups "discuss-doubango" group.
To unsubscribe from this group and stop receiving emails from it, send an email to doubango+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

-- 
Mit freundlichen Grüßen
Muhammad Shahzad
-----------------------------------
CISCO Rich Media Communication Specialist (CRMCS)
CISCO Certified Network Associate (CCNA)
Cell: +49 176 99 83 10 85
MSN: shari...@hotmail.com
Email: shahe...@googlemail.com

Arslan Pervaiz

unread,
Jul 29, 2013, 5:08:36 AM7/29/13
to doub...@googlegroups.com
Hi,

Great Work. Job Well Done Mamadou and Team. :)
Going To Test That 

Regards,
Arslan Pervaiz

Muhammad Shahzad Shafi

unread,
Jul 30, 2013, 2:12:28 AM7/30/13
to doub...@googlegroups.com

Here are my test results, overall everything works perfect except a couple of crashes,

 

Case 1: SIP Registration works tested against, kamailio and telepresence.

Case 2: SIP to SIP call works, tested against, Phonerlite and Bria.

Case 3: SIP to WebRTC call works, tested against, SIPML5, WebRTC2SIP and telepresence.

Case 4: Video call works, tested against, SIPML5, telepresence and Bria.

 

Comments:

1. Video quality is really good.

2. Significantly fast and better video performance when tested with SIPML5 and telepresence. With Bria observed some delays and scrambled picture (on Bria side only).

 

Issues:

1. Crash at first run after fresh install.

2. Crash when changing P-CSCF in options after SIP registration (only happened once).

3. If P-CSCF is changed to telepresence address (with SIP Registration enabled). Then conference bridges are auto-created, which can be joined from (hosted) conf-call web setup, without any pin. This seems to be a bug (or a feature, i should say) in telepresence setup but i couldn't reproduce it with Phonerlite / Bria (i need to inspect SIP packets to identify how it can be reproduced with 3rd party sip phones).

 

Used Resources:

1. Windows Ultimate 7 64bit Service Pack 1.

2. Accer Aspire Laptop with Intel Core i7, 32 GB RAM.

3. Nvidia Optimus with 2 GB dedicated video RAM.

4. Internet connections, DSL, WiFi, 4G / LTE.

5. HD webcam.

 

Thank you.

 

 

On 2013-07-29 09:56, Mamadou wrote:

--

You received this message because you are subscribed to the Google Groups "discuss-doubango" group.
To unsubscribe from this group and stop receiving emails from it, send an email to doubango+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Mamadou DIOP

unread,
Jul 30, 2013, 2:25:17 AM7/30/13
to doub...@googlegroups.com
Many thanks for your tests and feedback :)
Reply all
Reply to author
Forward
0 new messages