------------------------------------------------------------------------------- Matrox Imaging Library (MIL) 10 Update 6 Release Notes (MilOrionHD) March 2013 (c) Copyright Matrox Electronic Systems Ltd., 1992-2014. ------------------------------------------------------------------------------- This document outlines what is new with MIL for Matrox Orion HD and explains the current limitations and particularities when using MIL with Matrox Orion HD. 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. Matrox Orion HD with MIL. 1.1 What's new in MIL 10 Update 6. 1.1.1 Summary of new features. 1.1.2 Bug fixes. 1.2 What's new in MIL 10. 1.2.1 Summary of new features. 1.2.2 API enhancements. 1.3 What's new in MIL 9 Update 66. 1.3.1 Summary of new features. 1.3.2 API enhancements. 1.3.3 Bug fixes. 1.4 What's new in MIL 9 Update 48. 1.4.1 Summary of new features. 1.4.2 API enhancements. 1.4.3 Behavioral change. 1.4.4 Bug fixes. 1.5 What's new in MIL 9 Update 24. 2. Limitations and particularities. 3. Supported operating systems. 4. Location of examples (in the help file) ------------------------------------------------------------------------------- 1. Matrox Orion HD with MIL. 1.1 What's new in MIL 10 Update 6. 1.1.1 Summary of new features. - You can simultaneously capture from up to 4 independent input paths (DVI-I and SDI) with the Matrox Orion HD. To do so, you must not use it as a graphics controller (from the Matrox PowerDesk, remove all used outputs for the Orion HD). If an output is used, only 2 paths are available for acquisition. 1.1.2 Bug fixes. - Fixed issue regarding a lost frame when grabbing an interlaced signal while hardware deinterlacing was disabled and CPU usage was high. - Fixed grab issue when grabbing a non-standard signal where the digitizer size-X was not a multiple of 32-bits. - Optimized the board-specific example MdigCrossBar when converting a BGR32 packed grab buffer to a YUV16 packed buffer. 1.2 What's new in MIL 10. 1.2.1 Summary of new features. - Support for Microsoft® Windows® 8. 1.2.2 API enhancements. - Modifications to MdigControl/MdigInquire. - MdigControl M_DIGITIZER_SCALING_MODE replaced by M_GRAB_SCALE_INTERPOLATION_MODE. - MdigControl M_DIGITIZER_INTERPOLATION_MODE replaced by M_INPUT_FILTER. 1.3 What's new in MIL 9 Update 66. 1.3.1 Summary of new features. - With some new DCFs, it is possible to update the frame grab at the field rate instead of the frame rate. - Added support of up to 6 Matrox Orion HD. 1.3.2 API enhancements. - Additions to MdigHookFunction. - Added support for M_GRAB_FIELD_END_ODD and M_GRAB_FIELD_END_EVEN with new DCF. This allows you to update the frame grab at the field rate. 1.3.3 Bug fixes. - Fixed issue where a system has a Matrox M-Series display adaptor with a Matrox Orion HD. In some situations, the MsysAlloc() function did not work properly. - Fixed issue when using MdigGetHookInfo() with M_MODIFIED_BUFFER + M_BUFFER_ID of the M_GRAB_END hook function. It was returning an invalid MIL_ID buffer. 1.4 What's new in MIL 9 Update 48. 1.4.1 Summary of new features. - About Matrox Orion HD examples: - Updated the AutoDetect example. - Added a new example: MdigCrossbar. - Added support of hardware deinterlacing (see M_HARDWARE_DEINTERLACING). - Added support of hardware scaling (see M_DIGITIZER_SCALING_METHOD). - Added support of hardware filtering (see M_DIGITIZER_INTERPOLATION_MODE). - Added new firmware to support hardware deinterlacing, scaling, and filtering. New firmware also fixes SDI output color conversion coefficients, according to ITU-R BT.601 in SD mode, and ITU-R BT.709-5 in HD mode. 1.4.2 API enhancements. - Additions to MdigAlloc. - The InitFlag parameter now has the following: - Support for M_MINIMAL. The purpose of digitizers allocated with the M_MINIMAL InitFlag is for detection of input sources. Grabbing is not permitted with these digitizers. If MdigGrab() or MdigProcess() are called, an error will be generated. Up to 4 digitizers from M_DEV0 to M_DEV3 can be allocated simultaneously with this flag. MdigHookFunction(M_CAMERA_PRESENT) can be used to receive a callback when a camera is connected or disconnected. See the Autodetect example. - Additions to MdigControl/MdigInquire - Support for M_SELECTED_FRAME_RATE. - MdigInquire. Inquire returns a MIL_DOUBLE. Returns the detected frame rate. - Support for M_FORMAT_DETECTED. - MdigInquire. Inquire returns an array of type MIL_TEXT_CHAR. Returns the detected DCF name. - Support for M_FORMAT_DETECTED_LENGTH. - MdigInquire. Inquire returns a MIL_INT. Returns the number of characters in the M_FORMAT_DETECTED string. - Support for M_HARDWARE_DEINTERLACING. - MdigControl/Inquire. Inquire returns a MIL_INT. Supported control values are: M_DEFAULT Same as M_DISABLE. M_DISABLE Disable hardware deinterlacing. M_BOB_METHOD Enable hardware deinterlacing by using the BOB algorithm. M_MADI_METHOD Enable hardware deinterlacing by using the MADI (Motion Adaptive De-Interlacing) algorithm. These control values can be added to M_BOB_METHOD and M_MADI_METHOD: + M_ANTIALIASING Enables anti-aliasing. + M_DITHERING Enables dithering. + M_ANTIALIASING + M_DITHERING Enables anti-aliasing and dithering. Note: When using hardware deinterlacing, the grab format must be in a YUV color format. So if grabbing a DVI-D signal the grab format is automatically changed to YUV. - Support for M_DIGITIZER_SCALING_MODE. - MdigControl/Inquire. Inquire returns a MIL_INT. Supported control values are: M_DEFAULT Same as M_HARDWARE. M_HARDWARE Enable hardware scalar. When using vertical and/or horizontal scaling, the scaling is done by hardware. The scaling interpolation can be controlled with M_DIGITIZER_INTERPOLATION_MODE. M_SOFTWARE Use software scaling. When using vertical and/or horizontal scaling, the scaling is done by software. The scaling interpolation can be controlled with M_DIGITIZER_INTERPOLATION_MODE. - Support for M_DIGITIZER_INTERPOLATION_MODE. - MdigControl/Inquire. Inquire returns a MIL_INT. Supported control values are: M_DEFAULT Same as M_NEAREST_NEIGHBOR. M_NEAREST_NEIGHBOR When using vertical and/or horizontal scaling, the interpolation mode used is nearest neighbor. This value is valid when M_DIGITIZER_SCALING_METHOD is either set to M_HARDWARE or M_SOFTWARE. M_BILINEAR When using vertical and/or horizontal scaling, the interpolation mode used is bilinear. This value is valid when M_DIGITIZER_SCALING_METHOD is set to M_SOFTWARE. M_SMOOTHNESS Uses hardware filtering (Gaussian filter). This value is valid when M_DIGITIZER_SCALING_METHOD is set to M_HARDWARE. - Additions to MsysInquire - Support for M_PCIE_NUMBER_OF_LANES: - Inquire returns a MIL_INT. This inquire returns the number of PCIe lanes that are currently active with the Matrox Orion HD. - Support for M_USER_BIT_COUNT_OUT: - Inquire returns a MIL_INT. This inquire returns the number of LEDs that can be accessible. - Support for M_USER_BIT_COUNT_IN: - Inquire returns a MIL_INT. This inquire returns the number of switches that can be configured manually. - Support for M_USER_BIT_MODE: - Inquire returns a MIL_INT. This inquire returns the mode of the user bit. Return values are: M_INPUT or M_OUTPUT. - Support for M_USER_BIT_VALUE (bit 0 to 5): - Inquire returns a MIL_INT. This inquire returns the status of switches situated on the top of the board at SW900. - Support of M_USER_BIT_VALUE (bit 6 to 9): - Inquire returns a MIL_INT. This inquire returns the state of the LED situated on the bottom of the board at DS300, DS301, DS302, DS303. - Additions to MsysControl - Support for M_USER_BIT_VALUE: - Sets the state of the LED situated on the bottom of the board at DS300, DS301, DS302, DS303. 1.4.3 Behavioral change. - When allocating a digitizer with an autodetect DCF and no camera is detected, MdigInquire() of M_SIZE_X, M_SIZE_Y, and M_SIZE_BAND now returns the size set in MilConfig default values. - Fixed issue with MdigInquire(M_SELECTED_FRAME_RATE) with an SDI interlaced source. It was returning the field rate instead of the frame rate. - Fixed issue with MdigInquire(M_CAMERA_PRESENT) when a DVI-D camera is connected but is powered off. MdigInquire(M_CAMERA_PRESENT) now returns M_NO. 1.4.4 Bug fixes. - Fixed issue with OrionHDBench when multiple Matrox Orion HD boards are present. - Fixed issue with MdigHookFunction(M_GRAB_END). In some situations a hook could be missed. - Fixed issue with MdigHookFunction(M_CAMERA_PRESENT). In some situations the hook was not called. - Fixed issue with MdigHookFunction(M_CAMERA_PRESENT). In some situations spikes in CPU usage could occur. - Fixed issue with MdigInquire(M_SELECTED_FRAME_RATE) with a DVI-A source. In some situations the returned value was off by a few hertz. For example it could return 59Hz or 61Hz instead of 60Hz. - Fixed issue in OrionHD.sys that could result in a system crash when calling MdigAlloc() with a revision 1 board. - Fixed issue in OrionHD.sys that could result in a system crash when calling MdigAlloc()/MdigFree in a loop. - Fixed issue in OrionHD.sys that could result in a system crash when continuously connecting and disconnecting a camera. - Reduced non-paged memory usage in OrionHD.sys. - Fixed issue when doing a ctrl-alt-delete while a grab is in progress. - Fixed issue with MdigInquire(M_FORMAT_DETECTED). In some situations an NULL value could be returned. 1.5 What's new in MIL 9 Update 24. - Additions to MsysAlloc(), System Descriptor parameter: - M_SYSTEM_ORION_HD: Allocates a Matrox Orion HD system. - The following MdigControls and MdigInquires are supported: - M_GRAB_FIELD_NUM - M_GRAB_START_MODE - M_GRAB_INPUT_GAIN (analog only) - The following MdigInquires are supported: - M_CAMERA_PRESENT - M_SIZE_X - M_SIZE_Y - M_SIZE_BAND - M_INPUT_MODE (returns M_ANALOG, M_DIGITAL) - M_COLOR_MODE (returns M_DVI, M_SDI, M_RGB, M_MONOCHROME, M_COMPOSITE or M_EXTERNAL_CHROMINANCE) - M_SCAN_MODE (returns M_PROGRESSIVE or M_INTERLACE) - M_GRAB_PERIOD (returns value in ms) - MdigHookFunction with M_CAMERA_PRESENT is supported. - MdigReference is supported on SD analog inputs. - Automatic camera detection: The automatic camera detection is activated when MdigAlloc() uses AutoDetect.dcf. When a camera is connected, the following MdigInquires are updated according to the camera: M_CAMERA_PRESENT, M_SIZE_X, M_SIZE_Y, M_SIZE_BAND, M_INPUT_MODE, M_COLOR_MODE, M_SCAN_MODE, M_GRAB_PERIOD. - A new Orion HD-specific example named AutoDetect is now present in \Users\Public\Documents\Matrox Imaging\Mil\Examples\Board-Specific\OrionHD\ It demonstrates how to detect input sources. - Additions to MsysInquire(): - M_BOARD_TYPE: M_ORION_HD - M_SYSTEM_DESCRIPTOR: M_SYSTEM_ORION_HD - M_SYSTEM_TYPE: M_SYSTEM_ORION_HD_TYPE - M_FIRMWARE_REVISION: Returns the revision number of the grab firmware. - M_TEMPERATURE: Returns the current temperature, in degree Celsius of the graphic engine. 2. Limitations and particularities. - The Matrox Orion HD must be present in the PC before installing the software. - Only DirectX® version 9 is supported. - Since Matrox Orion HD is designed as a graphics card and uses MIL GPU services, it has the same limitations as any other DirectX capable display device. - Connecting to the computer using RemoteDesktop causes a Direct3D device to become lost and not supported by Matrox Orion HD when a graphics controller is enabled on the Windows Desktop. - Do not enable or disable a graphics controller from Windows Desktop while the Matrox Orion HD system (MsysAlloc) is active. This will leave the Matrox Orion HD is an unknown state. - When automatic camera detection is activated in analog mode, the DCF is loaded, by default, in the RGB color space. For example, if the input signal is YPBPR 1280x720p @ 60hz, the autodetect loads, by default, the "DVI_A_RGB_1280x720P_60Hz.dcf" DCF, instead of loading the "DVI_A_YPrPb_1280x720P_60Hz.dcf" DCF. - Extended Display Identification Data (EDID) at the input of DEV_0 and DEV_1, is expected in digital form. Therefore, if your analog source expects to get EDID, the source will not output any signal data. - When grabbing four inputs at a time, you might get the following error message: "Maximum data video input has been reached." In this case, you have to select the DCF representing the YUV source data format, on device 0 and 1. For example, you must use DVI_D_RGB_TO_YUV_1920x1080p.dcf instead of DVI_D_RGB_1920x1080p.dcf when calling MdigAlloc(), or you can force the source data format by setting MdigControl with M_SOURCE_DATA_FORMAT to M_YUV16 + M_PACKED. 3. Supported operating systems. This section listed all the supported operating systems. - 32-bit Windows® 7 - 64-bit Windows® 7 - 32-bit Windows® 8 - 64-bit Windows® 8 4. 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.