<?xml version="1.0" encoding="ISO-8859-1"?><rss version="2.0">
<channel>
<title>MontiVision Blog</title>
<link>http://www.montivision.com/en/support/blog/</link>
<description>Tips and tricks related to MontiVision products and technologies.</description>
<language>en</language>
<copyright>Â© 2006 Eng. Firm Cymontkowski. All rights reserved.</copyright>
<managingEditor>marc@montivision.com (Marc Cymontkowski);</managingEditor>
<webMaster>webmaster@montivision.com</webMaster>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>MontiVision Web</generator>
<image>
    <url>http://www.montivision.com/images/MontiVision.gif</url>
	<title>MontiVision Blog</title>
	<link>http://www.montivision.com/en/support/blog/</link>
</image>
<item>
<title>MV Audio and Video Pipe DirectShow Filters Support Flash Media Live Enc. [Fixed]</title>
<description>We released an update of our DirectShow pipe filters. Flash Media Live Encoder usage has been fixed.&lt;br /&gt;
&lt;br /&gt;
Download the latest pipe DirectShow Filters:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip"&gt;http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=50ffee02eb14d</link>
<pubDate>Wed, 23 Jan 2013 15:03:00 GMT</pubDate>
</item>
<item>
<title>MontiVision joins Haivision</title>
<description>MontiVision is proud to now be part of the Haivision team.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="Official Press Release"&gt;http://www.haivision.com/news/haivision_kulabyte&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4e3ba2568dc30</link>
<pubDate>Thu, 21 Jul 2011 09:00:00 GMT</pubDate>
</item>
<item>
<title>MV Audio and Video Pipe DirectShow Filters Support Flash Media Live Encoder</title>
<description>We released an update of our DirectShow pipe filters. Thy do now support the Flash Media Live Encoder.&lt;br /&gt;
&lt;br /&gt;
Download the latest pipe DirectShow Filters:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip"&gt;http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4d36ba8fafb3f</link>
<pubDate>Wed, 19 Jan 2011 11:17:00 GMT</pubDate>
</item>
<item>
<title>C# Sample Projects on Windows 7 64 Bit</title>
<description>When building the C# sample projects on Windows 7 64 bit, please make sure to set the target CPU to x86.&lt;br /&gt;
&lt;br /&gt;
You will find this setting on the project properties dialog, in the build section.&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4c497f28c4953</link>
<pubDate>Fri, 23 Jul 2010 13:37:00 GMT</pubDate>
</item>
<item>
<title>MontiVision MPEG-4/AVC DirectShow Filter Codec Pack adds support for AAC</title>
<description>An updated MontiVision MPEG-4 DirectShow Filter Codec Pack is available for download from:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/MVMpeg4Codec.zip"&gt;http://www.montivision.com/download/updates/MVMpeg4Codec.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The package includes:&lt;br /&gt;
&lt;br /&gt;
- MV Video Encoder (DV, MPEG-2, MPEG-4, MJPEG, h.264/AVC)&lt;br /&gt;
- MV Video Decoder (DV, MPEG-2, MPEG-4, MJPEG, h.264/AVC)&lt;br /&gt;
- MV Audio Encoder (MPEG-4 Audio/AAC)&lt;br /&gt;
- MV Audio Decoder (MPEG-4 Audio/AAC)&lt;br /&gt;
- MV MPEG-4 Multiplexer&lt;br /&gt;
- MV MPEG-4 Splitter&lt;br /&gt;
- MV Advanced Deinterlacer&lt;br /&gt;
- MV Color Space Converter&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4c0f8e28d1b32</link>
<pubDate>Wed, 09 Jun 2010 14:50:00 GMT</pubDate>
</item>
<item>
<title>Visual Basic .NET Sample Application for the Blob Finder DirectShow Filter</title>
<description>We’ve created a simple VB.NET Sample Application for the MontiVision Blob Finder. It simply displays the position and angle of the object recognized in the live video captured from any DirectShow compatible video source.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://www.montivision.com/blogimages/MontiVision_Blob_Finder_DirectShow_Filter.jpg" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
&lt;br /&gt;
Download Sample Code: &lt;a href="http://www.montivision.com/download/updates/BlobFinderSample.zip"&gt;http://www.montivision.com/download/updates/BlobFinderSample.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The ZIP file includes an updated MV Blob Finder DirectShow Filter. Please make sure to register it as administrator using the register.bat batch file.&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4bc30c4bcdd60</link>
<pubDate>Mon, 12 Apr 2010 14:02:00 GMT</pubDate>
</item>
<item>
<title>MV Audio and Video Pipe DirectShow Filters</title>
<description>We released a new set of our pipe DirectShow filters. There are four filters now, two renderers for audio and video, as well as two virtual audio and video capture source device filters.&lt;br /&gt;
&lt;br /&gt;
Have a look at Marc's personal blog to see how these filters can be used to pre-process live video before it is encoded using an encoder application like the Microsoft Expression Encoder and how these filters can virtualize your video capture devices.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://montivision.spaces.live.com/blog/cns!47A8E6DD4718001A!381.entry"&gt;Hardware Virtualization Example: Parallel Encoding of SDI Live Video&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Download the latest pipe DirectShow Filters:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip"&gt;http://www.montivision.com/download/updates/MVAudioVideoPipeFilters.zip&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4b06e92aa517c</link>
<pubDate>Fri, 20 Nov 2009 20:02:00 GMT</pubDate>
</item>
<item>
<title>Workbench Update for Windows 7</title>
<description>A Windows 7 compatible update for the MontiVision Workbench, our graphical video software development environment, is available for download:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/MVWorkbench_V3_1_5.zip"&gt;http://www.montivision.com/download/updates/MVWorkbench_V3_1_5.zip&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4abd1a5e7d6f0</link>
<pubDate>Fri, 25 Sep 2009 21:27:00 GMT</pubDate>
</item>
<item>
<title>MontiVision Pipe Filters for Video Device Virtualization</title>
<description>We developed a new set of DirectShow Filters to send video from one DirectShow graph to another. The renderer can send data to multiple source, which allows virtualization of a video device; one video device can be accessed from within multiple application. This is possible because the source filter registers in the system as video capture device.&lt;br /&gt;
&lt;br /&gt;
Possible scenario is possible:&lt;br /&gt;
Video Capture Device --&amp;gt; Custom Preprocessing --&amp;gt; MV Pipe Renderer&lt;br /&gt;
&lt;br /&gt;
The video stream is accessed three times:&lt;br /&gt;
MV Pipe Source 1 used by Windows Media Encoder&lt;br /&gt;
MV Pipe Source 2 used by Video Conferencing Application&lt;br /&gt;
MV Pipe Source 3 used by a Video Recording Software&lt;br /&gt;
&lt;br /&gt;
Download the trial version here:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/PipeFilters_07_2009.zip"&gt;http://www.montivision.com/download/updates/PipeFilters_07_2009.zip&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4a57570d70e0c</link>
<pubDate>Fri, 10 Jul 2009 16:50:00 GMT</pubDate>
</item>
<item>
<title>Updated Network Filters</title>
<description>Updated Network Filters are ready for download:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/NetworkFilters_07_2009.zip"&gt;http://www.montivision.com/download/updates/NetworkFilters_07_2009.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
These filters solve two problems of the former version:&lt;br /&gt;
- Increasing delay of the output of the network source filter&lt;br /&gt;
- Exception when closing the network renderer after using the TCP mode&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4a575526d8183</link>
<pubDate>Fri, 10 Jul 2009 16:09:00 GMT</pubDate>
</item>
<item>
<title>Windows Media ASF Stream Source DirectShow Filter</title>
<description>We made a trial version of our MontiVision ASF Stream Source DirectShow Filter available for download, so you can try out Windows Media File and Web Stream Playback and Play-Out, as described in these posts:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://montivision.spaces.live.com/blog/cns!47A8E6DD4718001A!296.entry"&gt;Capture Video from an ASF Stream as if it was a Video Device&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://montivision.spaces.live.com/blog/cns!47A8E6DD4718001A!347.entry"&gt;Window Media ASF live Stream Play-Out to SDI&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Please contact us if you need assistance or extended trial periods.&lt;br /&gt;
&lt;br /&gt;
Download: &lt;a href="http://www.montivision.com/download/updates/ASF_Stream_Source.zip"&gt;MontiVision ASF Stream Source DirectShow Filter&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49f156106ceed</link>
<pubDate>Fri, 24 Apr 2009 07:59:00 GMT</pubDate>
</item>
<item>
<title>DirectShow Filter for High Performance/High Quality Video De-Interlacing</title>
<description>We finished two new DirectShow Filters for Video De-Interlacing and De-Noising. These filters offer a range of algorithms for high performance or high quality video deinterlacing and denoising, depending on the usage scenario (e.g. live video processing versus video transcoding).&lt;br /&gt;
&lt;br /&gt;
We put the filters online, so you can download them for testing. Please make sure to register DirectShow Filters using RegSvr32.exe as administrator. Since this sometimes causes trouble on Vista, this is the safe way: Right click the command line in the start menu and choose “Run As Administrator”, change directory to where the filters are located and run RegSvr32 “.\FilterName.ax”.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/Video_Deinterlacer_Denoiser.zip"&gt;MontiVision Video Deinterlacer and Denoiser&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49ef1725b8ac6</link>
<pubDate>Wed, 22 Apr 2009 15:08:00 GMT</pubDate>
</item>
<item>
<title>Professional SD and HD Video Playout SDK</title>
<description>We made a trial version of the MontiVision Playout SDK for SD and HD Video available for Download. The SDK is a collection of DirectShow Filters for Playlist Playback, Image, Text and Video Real-Time Overlay, Audio Mixing and Video Scaling.&lt;br /&gt;
&lt;br /&gt;
The central component is the MontiVision Playlist Source Ex DirectShow Filter, which is capable of seamless SD and HD Video playback, supporting the following audio and video formats: Mpeg-1/Mpeg-2 video and audio (MPEG PS or TS), Mpeg-4/h.264/Mpeg or AAC audio (mp4 or MPEG TS), DV, MJpeg (AVI).&lt;br /&gt;
&lt;br /&gt;
There are two types of play lists, dynamic and static. Static play lists can be saved to a MontiVision play list file and can be looped. Dynamic play lists can play virtually endlessly, while new video files are constantly added at runtime and played files are released and removed from the play list.&lt;br /&gt;
&lt;br /&gt;
Play lists not only support video files but static images as well as live video sources!&lt;br /&gt;
&lt;br /&gt;
For Play-Out to SDI, the SDK was tested using the following devices: Blackmagic Design Decklink SD and HD, AJA Xena and Bluefish444 Single Link Pro.&lt;br /&gt;
&lt;br /&gt;
The trial download includes a small Readme.txt file, which you should read before you install and try the package. The package does not include development files (IDL and .h), which we send out on request.&lt;br /&gt;
&lt;br /&gt;
Finally, here’s the download: &lt;a href="http://www.montivision.com/download/MV_Playout_SDK.zip"&gt;MontiVision Video Playout SDK&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49df476c25dbd</link>
<pubDate>Tue, 14 Apr 2009 09:00:00 GMT</pubDate>
</item>
<item>
<title>MontiVision DirectShow SDK ready for use in Microsoft WPF</title>
<description>We have finished the first version of our MontiVision WPF Controls, which allow the use of the proven MontiVision Controls in Windows Presentation Foundation Applications. The following sample application demonstrates how the new WPF Controls can be used to control DirectShow Filter Graphs (or MontiVision Filter Configurations – MVP), how to access Video Devices from within WPF and how to access MontiVison DirectShow filters.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://www.montivision.com/blogimages/WPF_DirectShow_Integration/MontiVision_DirectShow_SDK_WPF_Video_Rotation_Sample.jpg" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
&lt;br /&gt;
Here you can download the whole project: &lt;a href="http://www.montivision.com/download/MontiVision_WPF_Rotation_Demo.zip"&gt;MontiVision_WPF_Rotation_Demo.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Please extract the ZIP file to a new folder and run Install.reg in order to register controls and DirectShow Filters on your system. On Windows Vista, please make sure to run the installation batch file from a command line, which was opened with Administrator rights. You can directly run the MVWpfRotationDemo.exe application or open the sample project in Visual Studio 2008. &lt;br /&gt;
&lt;br /&gt;
Contact us for updates and further information!&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49dc5d9f4d957</link>
<pubDate>Wed, 08 Apr 2009 10:15:00 GMT</pubDate>
</item>
<item>
<title>Broad Hardware Support for the MontiVision DirectShow SDK</title>
<description>People keep asking which hardware is supported by our DirectShow SDK, the MontiVision Development Kit. We frequently tell them that all devices providing WDM Streaming Drivers (WDM Stream Class Drivers) are supported. Also, a lot of hardware vendors provide custom DirectShow Filters for their devices, based on their vendor specific SDKs and developer APIs. I agree that this answer is not really satisfying. So finally, here is the list, including Video Capture Cards (Frame Grabbers), USB Cameras, FireWire Cameras, Gigabit Ethernet Cameras, Video Converters …&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.montivision.com/en/support/hardware/"&gt;MontiVision Development Kit Hardware Support&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49d621ce2b6fe</link>
<pubDate>Fri, 03 Apr 2009 16:47:00 GMT</pubDate>
</item>
<item>
<title>Catching MV Filter Events in a &amp;quot;No Smart Control&amp;quot; C++ Application (addition)</title>
<description>I uploaded the C++ files to our webserver:&lt;br /&gt;
&lt;a href="http://www.montivision.com/download/updates/ATL_Filter_Event_Handler.zip"&gt;FilterEventHandler&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49afee2e79596</link>
<pubDate>Thu, 05 Mar 2009 16:14:00 GMT</pubDate>
</item>
<item>
<title>Catching MV Filter Events in a &amp;quot;No Smart Control&amp;quot; C++ Application</title>
<description>Using MontiVision Filter Events is pretty simple when you utilize the MontiVision Smart ActiveX Control.&lt;br /&gt;
&lt;br /&gt;
Sometimes customers don't want to use our Smart Control and build their graph &amp;quot;manually&amp;quot; using the DirectShow API in a C++ Application. In that case, COM Events handling becomes a bit more complicated.&lt;br /&gt;
&lt;br /&gt;
Here is an example of a class, which handles the Event registration for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FilterEventHandler.h:&lt;br /&gt;
&lt;br /&gt;
// Include MV.h for the COM event callback&lt;br /&gt;
#include &amp;lt;mv.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Our Custom Window Message, sent to this class parent for notification&lt;br /&gt;
const UINT WM_FILTER_EVENT = WM_APP + 100;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class CFilterEventHandler : public CComObjectRoot&lt;br /&gt;
                          , public IMVFilterEvents&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
    CFilterEventHandler(void);&lt;br /&gt;
    virtual ~CFilterEventHandler(void);&lt;br /&gt;
&lt;br /&gt;
    void FinalRelease() &lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
// This helps us with the ConnectionPoint implementation&lt;br /&gt;
BEGIN_COM_MAP(CFilterEventHandler)&lt;br /&gt;
 COM_INTERFACE_ENTRY(IMVFilterEvents)&lt;br /&gt;
END_COM_MAP()&lt;br /&gt;
&lt;br /&gt;
    // MontiVision IMVFilterEvents implementation&lt;br /&gt;
    // This method is called when a filter fires and event&lt;br /&gt;
    STDMETHOD(MVFilterMessage)(int iMessage );&lt;br /&gt;
    &lt;br /&gt;
    void SetParent(CParentClass* pParent)&lt;br /&gt;
    {&lt;br /&gt;
        m_pParent = pParent;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    HRESULT SetFilter(IUnknown* pUnknown);&lt;br /&gt;
    void Reset();&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
    // Our parent, which we send a Window Message when an event is called&lt;br /&gt;
    CParentClass* m_pParent;&lt;br /&gt;
&lt;br /&gt;
    // A cookie identifying the MontiVision DirectShow filter&lt;br /&gt;
    DWORD m_dwCookie;&lt;br /&gt;
&lt;br /&gt;
    // Our Connection Point&lt;br /&gt;
    CComPtr&amp;lt;IConnectionPoint&amp;gt; m_pConnectionPoint;&lt;br /&gt;
&lt;br /&gt;
    // Critical Section for multithreading use&lt;br /&gt;
    CCritSec m_csLock;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FilterEventHandler.cpp:&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;FilterEventHandler.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CFilterEventHandler::CFilterEventHandler(void)&lt;br /&gt;
    : m_dwCookie(0L)&lt;br /&gt;
    , m_pParent(0L)&lt;br /&gt;
    , m_pConnectionPoint(NULL)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
CFilterEventHandler::~CFilterEventHandler(void)&lt;br /&gt;
{&lt;br /&gt;
    CAutoLock Lock(&amp;amp;m_csLock);&lt;br /&gt;
&lt;br /&gt;
    // Unadvise the MontiVision DirectShow Filter&lt;br /&gt;
    if(m_pConnectionPoint != 0L)&lt;br /&gt;
    {&lt;br /&gt;
        m_pConnectionPoint-&amp;gt;Unadvise(m_dwCookie);&lt;br /&gt;
        m_pConnectionPoint.Release();&lt;br /&gt;
        m_pConnectionPoint = NULL;&lt;br /&gt;
    }&lt;br /&gt;
    m_dwCookie = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CFilterEventHandler::Reset()&lt;br /&gt;
{&lt;br /&gt;
    CAutoLock Lock(&amp;amp;m_csLock);&lt;br /&gt;
&lt;br /&gt;
    // Unadvise the MontiVision DirectShow Filter&lt;br /&gt;
    if(m_pConnectionPoint != 0L)&lt;br /&gt;
    {&lt;br /&gt;
        m_pConnectionPoint-&amp;gt;Unadvise(m_dwCookie);&lt;br /&gt;
        m_pConnectionPoint.Release();&lt;br /&gt;
        m_pConnectionPoint = NULL;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    m_dwCookie = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
STDMETHODIMP CFilterEventHandler::MVFilterMessage(int iMessage)&lt;br /&gt;
{&lt;br /&gt;
    CAutoLock Lock(&amp;amp;m_csLock);&lt;br /&gt;
&lt;br /&gt;
    if(m_pParent != 0L)&lt;br /&gt;
    {&lt;br /&gt;
        // Send a notification message to our parent&lt;br /&gt;
        m_pParent-&amp;gt;SendMessage(WM_FILTER_EVENT, (WPARAM)this, (LPARAM)iMessage);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return S_OK;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
HRESULT CFilterEventHandler::SetFilter(IUnknown* pUnknown)&lt;br /&gt;
{&lt;br /&gt;
    CAutoLock Lock(&amp;amp;m_csLock);&lt;br /&gt;
&lt;br /&gt;
    HRESULT hr = E_INVALIDARG;&lt;br /&gt;
&lt;br /&gt;
    if(pUnk != 0L)&lt;br /&gt;
    {&lt;br /&gt;
        if(m_pConnectionPoint != 0L)&lt;br /&gt;
        {&lt;br /&gt;
            m_pConnectionPoint-&amp;gt;Unadvise(m_dwCookie);&lt;br /&gt;
            m_pConnectionPoint.Release();&lt;br /&gt;
            m_pConnectionPoint = NULL;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        m_dwCookie = 0;&lt;br /&gt;
&lt;br /&gt;
        CComPtr&amp;lt;IConnectionPointContainer&amp;gt; pConnectionPointContainer;&lt;br /&gt;
&lt;br /&gt;
        hr = pUnk-&amp;gt;QueryInterface(IID_IConnectionPointContainer, (void**)&amp;amp;pConnectionPointContainer);&lt;br /&gt;
        if(pConnectionPointContainer != 0L)&lt;br /&gt;
        {&lt;br /&gt;
            hr = pConnectionPointContainer-&amp;gt;FindConnectionPoint(IID_IMVFilterEvents, &amp;amp;m_pConnectionPoint);&lt;br /&gt;
            if(m_pConnectionPoint != 0L)&lt;br /&gt;
            {&lt;br /&gt;
                CComPtr&amp;lt;IUnknown&amp;gt; pUnkHandler;&lt;br /&gt;
                &lt;br /&gt;
                hr = QueryInterface(IID_IUnknown, (void**)&amp;amp;pUnkHandler);&lt;br /&gt;
                if(pUnkHandler != 0L)&lt;br /&gt;
                {&lt;br /&gt;
                    // Advise our MontiVision DirectShow Filter and get a Cookie for this connection&lt;br /&gt;
                    hr = m_pConnectionPoint-&amp;gt;Advise(pUnkHandler, &amp;amp;m_dwCookie);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return hr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We hope this helps!&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=49afeb057369d</link>
<pubDate>Thu, 05 Mar 2009 15:52:00 GMT</pubDate>
</item>
<item>
<title>Switching between Live Sources at Runtime</title>
<description>We have finished a new DirectShow Filter, which allows to switch between live sources while the graph is running. This was possible before when using a capture card with multiple inputs, in case it provides a DirectShow crossbar filter.&lt;br /&gt;
&lt;br /&gt;
Switching between webcams or IP camera sources is not that simple. Therefore we developed MV Crossbar. MV Crossbar makes it possible to seamlessly switch between running live sources of similar video fromat.&lt;br /&gt;
&lt;br /&gt;
The following DirectShow filter graph captures MJPEG video streams from four IP Cameras and allows to switch between them. The IP Cameras MJPEG streams are accessed through our MV IP Camera Source DirectShow Filter.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="../../../blogimages/Crossbar_DirectShow_Filter_Graph_small.jpg" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
&lt;br /&gt;
MV Crossbar is the key component in this setup. Of course it can be configured to standard COM interfaces, in this case through our new generic filter parameter interface, which allows to configure DirectShow filter properties through the properties name.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="../../../blogimages/Crossbar_DirectShow_Filter_Properties.jpg" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
&lt;br /&gt;
This example does two things. It displays the currently selected input video stream and it stores one frame to an AVI video file every second second. The MV Multi File Writer DirectShow Filter is used for the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="../../../blogimages/Crossbar_DirectShow_Writer_Filter.jpg" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4803b5e782f3e</link>
<pubDate>Tue, 15 Apr 2008 09:00:00 GMT</pubDate>
</item>
<item>
<title>Setting the Resolution of a Video Capture Source in Code</title>
<description>The following VB.NET Pseudo-Code describes the way to set a certain video resolution when working with video capture hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;'The required Smart Control COM Interfaces&lt;br /&gt;
Dim Graph as MVSmartControl.IMVSCFilterGraph&lt;br /&gt;
Dim Format as MVSmartControl.IMVSCSetupVideoStream&lt;br /&gt;
&lt;br /&gt;
Graph = YourSmartControl.GetOcx()&lt;br /&gt;
Format = YourSmartControl.GetOcx()&lt;br /&gt;
&lt;br /&gt;
'Load the filter configuration&lt;br /&gt;
Graph.LoadConfig(„MyConfig.mvp“)&lt;br /&gt;
&lt;br /&gt;
Dim lFormatIndex as Long&lt;br /&gt;
Dim lSizeIndex as Long&lt;br /&gt;
Dim lSizeCount as Long&lt;br /&gt;
Dim lWantedSizeIndex as Long&lt;br /&gt;
&lt;br /&gt;
‘Get Current Video Format Index, Size Index and the number of&lt;br /&gt;
‘available Sizes for the current video format (e.g. RGB24)&lt;br /&gt;
‘Internally the Smart Control has a list of formats for every&lt;br /&gt;
‘video source looking like this example:&lt;br /&gt;
‘ RGB24  640 x 480  PAL&lt;br /&gt;
‘ RGB24  800 x 600  PAL&lt;br /&gt;
‘ …&lt;br /&gt;
‘ UYVY   720 x 576  PAL&lt;br /&gt;
‘ …&lt;br /&gt;
Format.GetCurrentVideoFormat(„VideoSource“, lFormatIndex, lSizeIndex)&lt;br /&gt;
Format.GetVideoSizeInfoCount(“VideoSource”, lSizeCount)&lt;br /&gt;
&lt;br /&gt;
‘Now we are looking for the desired size, e.g. 1024x768&lt;br /&gt;
‘and remember the size index in case we find our resolution&lt;br /&gt;
For i = 0 to lSizeCount&lt;br /&gt;
    Dim xRes as Long&lt;br /&gt;
    Dim yRes as Long&lt;br /&gt;
    Dim VideoStandard as Long&lt;br /&gt;
&lt;br /&gt;
    Format.GetVideoSizeInfo(“VideoSource”, lFormatindex, i, xRes, yRes, VideoStandard)&lt;br /&gt;
    If xRes == 1024 and yRes == 768 then&lt;br /&gt;
        lWantedSizeIndex = i&lt;br /&gt;
    End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
‘Set the new format&lt;br /&gt;
Format.SetVideoFormat(“VideoSource”, lFormatIndex, lWantedSizeIndex)&lt;br /&gt;
&lt;br /&gt;
‘Start the graph&lt;br /&gt;
Graph.Start()&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the same way you can change the video format (RGB24, UYVY, YV12, etc) and the VideoStandard (PAL, NTSC, etc).&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=46fcc9d82dea8</link>
<pubDate>Fri, 28 Sep 2007 11:23:00 GMT</pubDate>
</item>
<item>
<title>The Use of Filter Events for Synchronization and Graph Control</title>
<description>How do i know when a Video Frame was processed by a certain MontiVision &lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/filter_overview.htm"&gt;MontiVision DirectShow Filter&lt;/a&gt;?&lt;br /&gt;
How do i know when &lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/image_grabber_filter.htm"&gt;MV Image Grabber&lt;/a&gt; finished writing a Captured Image to file.&lt;br /&gt;
When is the right time to ask &lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/motion_detection_filter.htm"&gt;MV Motion Detection&lt;/a&gt; whether it detected Motion in the current Video Frame?&lt;br /&gt;
&lt;br /&gt;
Answer: &lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/filter_events.htm"&gt;Filters Events&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/filter_overview.htm"&gt;MontiVision DirectShow Filters&lt;/a&gt; fire Events in order to enable developers to synchronize the graph control. Please have a look at the Documentation to find out which Events a Filter supports.&lt;br /&gt;
&lt;br /&gt;
Filter Events need to be enabled for a certain through the &lt;a href="http://www.montivision.com/support/documentation/noframes/source/smart%20control/smart_control_main.htm"&gt;Smart Controls&lt;/a&gt; &lt;a href="http://www.montivision.com/support/documentation/noframes/source/smart%20control/imvscfilterevents.htm"&gt;IMVSCFilterEvents&lt;/a&gt; COM interface. The following piece of C# Code enables Filter Events for MV Blob Counter after the &lt;a href="http://www.montivision.com/support/documentation/noframes/source/startusing/create_filter_graph.htm"&gt;configuration (MVP)&lt;/a&gt; was loaded by the Smart Control:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;MVSmartControl.IMVSCFilterEvents FilterEvents;&lt;br /&gt;
int Cookie = 0;&lt;br /&gt;
&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;FilterEvents =		(MVSmartControl.IMVSCFilterEvents)axMVSmartControl.GetOcx();&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Cookie = FilterEvents.Enable( &amp;quot;MV Blob Counter&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
catch(Exception e)&lt;br /&gt;
{&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;// Handle Exception ...&lt;br /&gt;
}&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The returned Cookie is used to identify the &lt;a href="http://www.montivision.com/support/documentation/noframes/source/filter/blob_counter_filter.htm"&gt;MV Blob Counter&lt;/a&gt; in the Filter Events Handler.&lt;br /&gt;
&lt;br /&gt;
In order to add the event handler for the Smart Control in C#, open the form containing the appropriate Smart ActiveX Control and select 'Events' in the ActiveX Properties (Menu -&amp;gt; View -&amp;gt; Properties Window). Double click &lt;a href="http://www.montivision.com/support/documentation/noframes/source/smart%20control/_imvsmartcontrolevents.htm#filterevent"&gt;'FilterEvent'&lt;/a&gt; to add an Event Handler:&lt;br /&gt;
&lt;img src="../../../blogimages/HandleFilterEvents.gif" alt="[image]" style="margin: 5px 0px 5px 0px" /&gt;&lt;br /&gt;
&lt;br /&gt;
In the Event Handler, make sure to check the cookie to be sure the Event was called for the MV Blob Counter. In the following example the MV_ALGORITHM_END_EVENT is used to get the results of the blob detection performed by MV Blob Counter:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;private void axMVSmartControl_FilterEvent(object sender, AxMVSmartControl._IMVSmartControlEvents_FilterEventEvent e)&lt;br /&gt;
{&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;if( e.cookie == Cookie ) // MV Blob Counter&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;switch(e.eventCode)&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;{&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;case MV_ALGORITHM_END_EVENT:&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;// Algorithm finished, get results from MV Blob Counter&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;GetBlobCounterResults();&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;break;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;}&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;}&lt;br /&gt;
}&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Please have a look at the &lt;a href="http://www.montivision.com/support/documentation/noframes/source/smart%20control/smart_control_samples.htm"&gt;MontiVision Smart Control Sample Applications&lt;/a&gt; for details in your preferred programming language.&lt;br /&gt;
</description>
<link>http://montivision.com/en/support/blog/index.php?id=4430f24c32b97</link>
<pubDate>Mon, 03 Apr 2006 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
