-------------------------------------------------------------------------------
                   Matrox Imaging Library (MIL) 10 Update 10
                   Release Notes (MilDirectShowEncodeDecode)
                                  June 2014
            (c) Copyright Matrox Electronic Systems Ltd., 1992-2014.
-------------------------------------------------------------------------------

This document outlines what is new with the Matrox Encode/Decode filters for
Microsoft® DirectShow® and the MIL Mseq module, and explains its current
limitations and particularities.

It also presents last minute information that did not make it into the manual
or on-line help. Note that this text file serves to complement your manual. The
information found in this file overrides your formally documented material.

Contents

1. The Matrox Encode/Decode filters for DirectShow®.
   1.1 Differences between MIL 10 Update 10 and MIL 10.
   1.2 What's new in MIL 10 Update 10.
      1.2.1 New feature summary
2. Supported operating systems.
3. Location of examples (in the help file)

-------------------------------------------------------------------------------

1. The Matrox Encode/Decode filters for DirectShow®.

   1.1 Differences between MIL 10 Update 10 and MIL 10.

   - New Matrox Encode Filter.

   - New Matrox Decode Filter.

   - New Intel QSV engine implementation.

   - Added an example named MilEncodeDecode.


   1.2 What's new in MIL 10 Update 10.

      1.2.1 New feature summary

      - Addition of Matrox Encode filter.

        IMilSequenceEncode is the interface class and it inherits from
        IBaseFilter.
        Its GUID is IID_IMilSequenceEncode.
        The filter can be allocated using its GUID: CLSID_MilSequenceEncode.
        These are defined in MilDSFCapture.h and MilDSFCaptureGUID.h

        IMilSequenceEncode methods:

        * Control and inquire functions are equivalent to MseqControl and
          MseqInquire except that you do not have to specify ContextSeqId and
          SequenceIndex.

        * STDMETHODIMP InitParam(MIL_UINT32 OutputFormat, MIL_INT64 InitFlag)
            Synopsis: Sets the sequence context initialization parameters and
                      internally reallocates the context if necessary.

            Parameters:
               * MIL_UINT32 OutputFormat:
                            Specifies the format of the output data generated
                            by the encoding

                            M_DEFAULT: Specifies the default output format.
                                       i.e.: For encoding it would
                                             represent H.264

               * MIL_INT64 InitFlag:
                           Specifies the underlying hardware or software used
                           for the encoding.

                           See the InitFlag parameter of MseqAlloc in the
                           MIL Reference section from the MilHelp for details
                           about supported values.

        * STDMETHODIMP GetInitFlag(MIL_INT64* pInitFlag)
            Synopsis: Retrieves the InitFlag originally set by the InitParam
                      function.

            Parameters:
               * MIL_INT64* pInitFlag:
                            Specifies the address in which to write InitFlag.


      - Addition of the Matrox Decode filter.

        IMilSequenceDecode is the interface class and it inherits from
        IBaseFilter.
        Its GUID is IID_IMilSequenceDecode.
        The filter can be allocated using its GUID: CLSID_MilSequenceDecode.
        These are defined in MilDSFCapture.h and MilDSFCaptureGUID.h

        IMilSequenceDecode methods:

        * Control and inquire functions are equivalent to MseqControl and
          MseqInquire except that you do not have to specify ContextSeqId and
          SequenceIndex.

        * STDMETHODIMP InitParam(MIL_UINT32 OutputFormat, MIL_INT64 InitFlag)
            Synopsis: Sets the sequence context initialization parameters and
                      internally reallocates the context if necessary.

            Parameters:
               * MIL_UINT32 OutputFormat:
                            Specifies the format of the output data generated
                            by the decoding

                            M_DEFAULT: Specifies the default output format.

               * MIL_INT64 InitFlag:
                           Specifies the underlying hardware or software used
                           for the decoding.

                           See the InitFlag parameter of MseqAlloc in the
                           MIL Reference section from the MilHelp for details
                           about supported values.

        * STDMETHODIMP GetInitFlag(MIL_INT64* pInitFlag)
            Synopsis: Retrieves the InitFlag originally set by the InitParam
                      function.

            Parameters:
               * MIL_INT64* pInitFlag:
                            Specifies the address in which to write InitFlag.


      - New Intel QSV engine implementation.

        Used latest QSV implementation to enable the hardware acceleration
        without having to enable a display on the Intel GPU.
        This feature is only available under Windows 8 with the
        Intel 3rd generation and higher Intel® Core™ processors.

      - New example for Matrox Encode/Decode filter

        An example of the DirectShow filter named MilEncodeDecode is present in
        \Users\Public\Documents\Matrox Imaging\Mil\Examples\DirectShow\MilEncodeDecode\
        The example shows how to program with the Matrox Encode/Decode filter for
        DirectShow®.


2. Supported operating systems.

   This section lists all the supported operating systems.
   - 32-bit Windows® 7
   - 64-bit Windows® 7
   - 32-bit Windows® 8
   - 64-bit Windows® 8

3. Location of examples (in the help file)

   - In the help file, the location information written at the top of examples 
     might not be up-to-date. Use MIL Example Launcher to find an example 
     on disk.