interfaces mvtec

Interface Documentation

Image Acquisition Interface for DirectShow

Interface: DirectShow
Revision: 20.11.7
Date: 2024-04-30
DirectShow: Legacy Interface

General

This page provides the documentation about the HALCON DirectShow image acquisition interface for the Microsoft DirectShow application programming interface. Registered customers can download the latest revision of this interface from the MVTec WWW server.
Note: The HALCON DirectShow image acquisition interface is deprecated and will be replaced by the HALCON MediaFoundation image acquisition interface.

System Requirements

  • Intel compatible PC with Windows 7 (32-bit or 64-bit) or newer and DirectX 8.1 or later installed. You can check your installed DirectX version by running the dxdiag diagnosis program.
  • A DirectShow compatible capture device and a successfully installed DirectShow driver for that device. As Windows provides a generic USB VideoClass (UVC) DirectShow driver most UVC devices will work without extra driver, but this depends on the required UVC version and the capabilities of the provided driver.
  • HALCON image acquisition interface hAcqDirectShow.dll or hAcqDirectShowxl.dll, respectively.
    If you have properly installed the interface, this DLL should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON. You don't need to register this DLL manually. Instead, the DLL checks the current registration and performs the necessary steps itself if necessary. If it does not have sufficient permissions to do this it will run regsvr32.exe with elevated privileges which will usually require user interaction.

Interface Versioning

MVTec interfaces for digital I/O and image acquisition are always compatible to a range of HALCON versions. Therefore, the versioning scheme both describes the compatibility of the interface and also the revision of the interface itself. An interface version always consists of three numbers, separated by dots, i.e. 20.11.5. The first two numbers describe the minimum HALCON version the interface is compatible with. For the example version 20.11.5 this means that the interface is compatible with all HALCON versions since HALCON 20.11. The last number describes the revision of the interface, in this example this is revision 5.

Installation

Only when installing or updating the interface manually follow these steps:
  • Windows: Extract the archive containing the interface files to the HALCON base directory %HALCONROOT% (Note: Administrator privileges may be required for this step). Additionally, you have to move the interface examples to the directory %HALCONEXAMPLES% manually.

Features

  • Multiple capture devices.
  • Synchronous and asynchronous grabbing.
  • External trigger.
  • Real-time grabbing (e.g., 30 frames per second for NTSC).
  • Software control of a variety of camera parameters.

Limitations

  • Only RGB8, RGB555, RGB565, RGB24, RGB32, Y800, UYVY, Y411, Y41P and Y16 video subtypes supported (see below for the usage for FOURCC codes), other formats may work in case all necessary codecs are available, see also Microsoft DirectShow documentation: Video Subtypes.
  • Software image scaling and cropping not supported.

Parameters for info_framegrabber

Parameter Value List Type Kind Description
'bits_per_channel' [] Unused.
'camera_type' [] string pre-defined Unused.
'color_space' ['gray', 'rgb'] string pre-defined Values for color space.
'defaults' [1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1.0, 'false', 'default', '0', -1, 1] mixed pre-defined Default values for open_framegrabber.
'device' ['[[<index>]] <device_name>'] string dynamic List of available device IDs. The device ID is formed by the index of the device and the device name. This is necessary to use multiple devices with the same device name.
'external_trigger' ['false', 'true'] string pre-defined Values for the external trigger.
'field' [] Unused.
'general' [] string pre-defined Information about the HALCON DirectShow interface.
'generic' [] Unsupported query.
'horizontal_resolution' 1 integer pre-defined Value list for horizontal resolution.
'image_height' [] Unsupported query.
'image_width' [] Unsupported query.
'info_boards' ['device:<device index> port:<port number> camera_type:<camera type>'] string dynamic A list of available devices with corresponding ports and camera types, i.e. formats with resolution.
'parameters' ['<parameters>'] string pre-defined Pre-defined parameters of the HALCON interface.
'parameters_readonly' ['<parameters>'] string pre-defined Pre-defined read-only parameters of the HALCON interface.
'parameters_writeonly' ['<parameters>'] string pre-defined Pre-defined write-only parameters of the HALCON interface.
'port' -1 integer pre-defined Returns the values for port.
'revision' '<revision>' string pre-defined Revision number of the DirectShow interface.
'start_column' [] Unsupported query.
'start_row' [] Unsupported query.
'vertical_resolution' 1 integer pre-defined Value list for vertical resolution.

Parameters for open_framegrabber

Parameter Values Default Type Description
Name 'DirectShow' string Name of the HALCON interface.
HorizontalResolution --- Ignored.
VerticalResolution --- Ignored.
ImageWidth --- Ignored.
ImageHeight --- Ignored.
StartRow --- Ignored.
StartColumn --- Ignored.
Field --- Ignored.
BitsPerChannel --- Ignored.
ColorSpace 'gray', 'rgb' 'rgb' string Desired color space and thus the number of image channels of the resulting HALCON image.
Generic --- Ignored.
ExternalTrigger 'false', 'true' 'false' string Status of the external trigger.
CameraType '[[<index>]] [<video norm>] <type> (<widthxheight>)', 'default' 'default' string The desired video format, e.g., 'NTSC RGB24 (640x480)'.
  • [index] is used to allow a mapping of the available devices to the available formats, this is especially useful if more than one device is connected, this parameter can be omitted.
  • video norm can be one of the following: 'PAL', 'NTSC'. video norm is omitted, if the device does not support analog video.
  • type can be one of the following: RGB8, RGB555, RGB565, RGB24, RGB32, Y800, UYVY, Y411, Y41P or Y16. Other formats like mjpg, yuv or unknown ones, which are displayed using their GUID, might work if all necessary codecs are available.
  • width and height specify the used image dimensions.
Alternatively, you can pass 'default'. Then the first generally acceptable video format that the capture device proposes is chosen.

Note that when the video source (i.e., the capture device) and the video destination (i.e., the HALCON DirectShow interface) do not agree on a video format, DirectShow automatically tries to establish a connection via a transformation filter (e.g., a codec). This behavior is used by the HALCON DirectShow interface for all unsupported formats or if you specify 'default'.

Additionally, type can also be a four-character code (FOURCC). In that case, the output data of the capture device is decoded by a suitable codec, which, of course, has to be installed properly (see also Microsoft DirectShow documentation: Working with Codecs).
Attention: MVTec does by no means encourage the use of FOURCC video formats, and also does not guarantee that the HALCON DirectShow interface works correctly with all FOURCC video formats. To obtain the available FOURCC video formats you have to use, e.g., the Microsoft amcap.exe example application.
Device '0', '1', '2', ..., '9', '[[<index>]] <device name>', 'default' '0' string The index of the capture device (passed as a string!). Alternatively, you can pass the name of the capture device as it is returned by info_framegrabber(..., 'info_boards', ...). Note that it is sufficient to provide only the beginning of this string, the device which matches first is then used.
Port <port> -1 integer Number of the capture device's output pin as it is returned by get_framegrabber_param(..., 'available_pins', ...). If you pass -1, the system automatically selects a suitable pin.
LineIn --- Ignored.

Parameters for set_framegrabber_param

Note that most of the following parameters (and also the valid parameter values!) depend on the capabilities of the used capture device and/or connected camera.
Many parameters (like 'brightness' and 'white_balance') can be set by either a valid integer value or by specifying one of the following strings:
  • 'auto' means that the device/camera controls the value automatically by itself
  • 'off' disables the specified property
  • 'on' enables the specified property
Parameter Values Default Type Description
'backlight_compensation' 'off', 'on' string Backlight compensation. If the capture device does not support backlight compensation, H_ERR_FGPARAM is returned.
'brightness' <brightness>, 'auto' mixed Brightness. 'auto' indicates that the brightness is adjusted automatically. If the capture device does not support brightness adjustment, H_ERR_FGPARAM is returned.
'color_enable' 'off', 'on' string Color enable. If the capture device does not support color enable, H_ERR_FGPARAM is returned.
'connector' <number> integer Physical connector. If the capture device does not support physical connectors, H_ERR_FGPARAM is returned. A list of the available physical connectors can be obtained by calling get_framegrabber_param(..., 'available_connectors', ...).
'contrast' <contrast>, 'auto' mixed Contrast. 'auto' indicates that the contrast is adjusted automatically. If the capture device does not support contrast adjustment, H_ERR_FGPARAM is returned.
'disconnect_graph' 'false', 'true' 'false' string Activate/deactivate automatic disconnection of the filter graph when setting camera parameters. By default (i.e. upon opening of the capture device) the filter graph stays connected while setting camera parameters to speed up the execution of set_framegrabber_param. Note, however, that numerous capture devices do not allow the setting of camera parameters while the filter graph is still connected. The behaviour of such devices is not predictable and might range from simply ignoring the new settings to crashes of your application! For these devices you must set 'disconnect_graph' to 'true' before setting parameters.
'do_force_trigger' --- Forces an event trigger from the application, when using the external trigger. This might be useful for testing purposes.
'do_open_dialog' <dialog> string Opens a dialog (property page) provided by the capture device. If the capture device does not support the specified (or any) dialog, H_ERR_FGPARAM is returned. A list of the available dialogs can be obtained by calling get_framegrabber_param(..., 'available_dialogs', ...).
'do_stop_grabbing' --- Stops the continuous grabbing of images. Note that stopping of grabbing inevitably results in the termination of the capture thread (and restarting grabbing in creating a new one respectively), which is a rather time consuming operation and might slow down your application considerably!
'exposure' <exposure>, 'auto' mixed Exposure time. 'auto' indicates that the exposure time is adjusted automatically. If the capture device does not support the setting of the exposure time, H_ERR_FGPARAM is returned.
'external_trigger' 'false', 'true' string Status of the external trigger.
'flip_horizontal' 'false', 'true' string Horizontal image flipping. If the capture device does not support horizontal flipping, H_ERR_FGPARAM is returned.
'flip_vertical' 'false', 'true' string Vertical image flipping. If the capture device does not support vertical flipping, H_ERR_FGPARAM is returned.
'focus' <focus>, 'auto' mixed Focus. 'auto' indicates that the focus is adjusted automatically. If the capture device does not support focus adjustment, H_ERR_FGPARAM is returned.
'frame_rate' 0.0 ... 60.0 15.0 float Desired frame rate in frames per second (as a float value!). A list of available frame rates can be obtained by calling get_framegrabber_param(..., 'available_frame_rates', ...).
'gamma' <gamma>, 'auto' mixed Gamma. 'auto' indicates that the gamma is adjusted automatically. If the capture device does not support gamma adjustment, H_ERR_FGPARAM is returned.
'grab_timeout' <milliseconds> 5000 integer Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
'hue' <hue>, 'auto' mixed Hue. 'auto' indicates that the hue is adjusted automatically. If the capture device does not support hue adjustment, H_ERR_FGPARAM is returned.
'iris' <iris>, 'auto' mixed Iris. 'auto' indicates that the iris is adjusted automatically. If the capture device does not support iris adjustment, H_ERR_FGPARAM is returned.
'pan' <pan>, 'auto' mixed Pan. 'auto' indicates that the pan setting is adjusted automatically. If the capture device does not support pan setting, H_ERR_FGPARAM is returned.
'roll' <roll>, 'auto' mixed Roll. 'auto' indicates that the roll setting is adjusted automatically. If the capture device does not support roll setting, H_ERR_FGPARAM is returned.
'saturation' <saturation>, 'auto' mixed Saturation. 'auto' indicates that the saturation is adjusted automatically. If the capture device does not support saturation adjustment, H_ERR_FGPARAM is returned.
'sharpness' <sharpness>, 'auto' mixed Sharpness. 'auto' indicates that the sharpness is adjusted automatically. If the capture device does not support sharpness adjustment, H_ERR_FGPARAM is returned.
'tilt' <tilt>, 'auto' mixed Tilt. 'auto' indicates that the tilt setting is adjusted automatically. If the capture device does not support tilt setting, H_ERR_FGPARAM is returned.
'video_gain' <gain>, 'auto' mixed Gain. 'auto' indicates that the gain is adjusted automatically. If the capture device does not support gain adjustment, H_ERR_FGPARAM is returned.
'white_balance' <white_balance>, 'auto' mixed White balance. 'auto' indicates that the white balance is adjusted automatically. If the capture device does not support white balance adjustment, H_ERR_FGPARAM is returned.
'zoom' <zoom>, 'auto' mixed Zoom. 'auto' indicates that the zoom setting is adjusted automatically. If the capture device does not support zoom setting, H_ERR_FGPARAM is returned.

Parameters for get_framegrabber_param

There may exist additional read-only parameters with the following postfixes:
  • '_description': These parameters provide the tool-tip of the corresponding parameter as a string.
  • '_range': These parameters provide the minimum, maximum, step width, and default values for the corresponding integer or float parameter as a tuple with 4 elements, e.g., get_framegrabber_param(.., 'Shutter_range', ..) will return the output tuple [min, max, step, default].
  • '_values': These parameters provide the valid value list for the corresponding parameter as a tuple, e.g., get_framegrabber_param(.., 'volatile_values', ..) will return the output tuple ['enable', 'disable'].

All these postfixed parameter names are not returned when calling info_framegrabber(.., 'parameters', ..) and are used to enable the easy parameterization via a generic graphical user interface, particularly the HDevelop Image Acquisition Assistant.

Parameter Values Default Type Kind Description
'available_connectors' [<connector_type_1>, <connector_type_2>, ...] integer dynamic Types of the physical connectors of the device.
'available_dialogs' ['<dialog_1>', '<dialog_2>', ...] string dynamic Dialogs (property pages) provided by the device.
'available_frame_rates' [<frame_rate_1>, <frame_rate_2>, ...] float dynamic Currently available frame rates in frames per second (as float values!). This list will be empty, if the current device does not support the setting of frame rates.
'available_media_types' [<format (WxH)>, <format (WxH)>, ...] string dynamic List of the available formats and associated resolutions for the current device.
'available_pin_names' [<pin_name_1>, <pin_name_2>, ...] string dynamic Names of the connectable pins of the source filter. Note that only pins will be displayed which deliver video data.
'available_pins' [<pin_index_1>, <pin_index_2>, ...] integer dynamic Indices of the connectable pins of the source filter (as to be passed to Port in open_framegrabber). Note that only pins will be displayed which deliver video data.
'backlight_compensation' 'off', 'on' string pre-defined Backlight compensation. If the capture device does not support backlight compensation, an empty tuple is returned.
'bits_per_channel' <default> -1 integer pre-defined The value is not used, so a default value is returned.
'brightness' <brightness>, 'auto' mixed dynamic Brightness. If the capture device does not support brightness adjustment, an empty tuple is returned.
'camera_type' '[<video norm>] <type> (<widthxheight>)' 'default' string pre-defined Current camera type.
'color_enable' 'off', 'on' string pre-defined Color enable. If the capture device does not support color enable, an empty tuple is returned.
'color_space' 'gray', 'rgb' 'rgb' string pre-defined Desired color space and thus the number of image channels of the resulting HALCON image.
'connector' <number> integer dynamic Physical connector. If the capture device does not support physical connectors, an empty tuple is returned.
'contrast' <contrast>, 'auto' mixed dynamic Contrast. If the capture device does not support contrast adjustment, an empty tuple is returned.
'device' '<index>' '0' string dynamic Current capture device index.
'disconnect_graph' 'false', 'true' 'false' string pre-defined Status of the automatic disconnection of the filter graph when setting camera parameters.
'exposure' <exposure>, 'auto' mixed dynamic Exposure time. If the capture device does not support exposure time, an empty tuple is returned.
'external_trigger' 'false', 'true' 'false' string pre-defined Status of the external trigger.
'field' '<default>' 'default' string pre-defined The value is not used, so a default value is returned.
'flip_horizontal' 'false', 'true' string pre-defined Horizontal image flipping. If the capture device does not support horizontal flipping, an empty tuple is returned.
'flip_vertical' 'false', 'true' string pre-defined Vertical image flipping. If the capture device does not support vertical flipping, an empty tuple is returned.
'focus' <focus>, 'auto' mixed pre-defined Focus. If the capture device does not support focus, an empty tuple is returned.
'frame_rate' <fps> 15.0 float dynamic Frame rate in frames per second (as a float value!).
'gamma' <gamma>, 'auto' mixed dynamic Gamma. If the capture device does not support gamma adjustment, an empty tuple is returned
'generic' <default> -1 mixed pre-defined The value is not used, so a default value is returned.
'grab_timeout' <milliseconds> 5000 integer pre-defined Current grab timeout in milliseconds.
'horizontal_resolution' <resolution> 1 integer pre-defined Current value of horizontal resolution.
'hue' <hue>, 'auto' mixed dynamic Hue. If the capture device does not support hue adjustment, an empty tuple is returned
'image_height' <height> 0 integer pre-defined Height of the desired image part ('0' stands for the complete image).
'image_width' <width> 0 integer pre-defined Width of the desired image part ('0' stands for the complete image).
'iris' <iris>, 'auto' mixed dynamic Iris. If the capture device does not support iris adjustment, an empty tuple is returned
'line_in' <default> 1 integer pre-defined The value is not used, so a default value is returned.
'name' 'DirectShow' string pre-defined Name of the HALCON interface.
'pan' <pan>, 'auto' mixed dynamic Pan. If the capture device does not support pan adjustment, an empty tuple is returned
'port' <port> -1 integer pre-defined Current port number.
'revision' '<revision>' string pre-defined Revision number of the DirectShow interface.
'roll' <roll>, 'auto' mixed dynamic Roll. If the capture device does not support roll setting, an empty tuple is returned
'saturation' <saturation>, 'auto' mixed dynamic Saturation. If the capture device does not support saturation adjustment, an empty tuple is returned
'sharpness' <sharpness>, 'auto' mixed dynamic Sharpness. If the capture device does not support sharpness adjustment, an empty tuple is returned
'start_column' <column> 0 integer pre-defined Returns the current start column of the HALCON image.
'start_row' <row> 0 integer pre-defined Returns the current start row of the HALCON image.
'tilt' <tilt>, 'auto' mixed dynamic Tilt. If the capture device does not support tilt setting, an empty tuple is returned
'vertical_resolution' <resolution> 1 integer pre-defined Current value of vertical resolution.
'video_gain' <gain>, 'auto' mixed dynamic Gain. If the capture device does not support gain adjustment, an empty tuple is returned
'white_balance' <white_balance>, 'auto' mixed dynamic White balance. If the capture device does not support white balance adjustment, an empty tuple is returned
'zoom' <zoom>, 'auto' mixed dynamic Zoom. If the capture device does not support zoom setting, an empty tuple is returned

Operator set_framegrabber_lut

Not supported by this interface.

Operator get_framegrabber_lut

Not supported by this interface.

Operator set_framegrabber_callback

Not supported by this interface.

Operator get_framegrabber_callback

Not supported by this interface.

Operator grab_image_start

Starts a new asynchronous grab. See also grab_image_start.

Operator grab_image

grab_image starts a new synchronous grab. See also grab_image. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_image_async

grab_image_async returns an image and starts the next asynchronous grab. See also grab_image_async. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_data

Not supported by this interface.

Operator grab_data_async

Not supported by this interface.

Operator close_framegrabber

This operator closes the device. See also close_framegrabber.

HDevelop Examples

For this interface there are the following examples available:
  • directshow_2cameras.hdev - Example for grabbing images from two capture devices.
  • directshow_camera_types.hdev - Shows grabbing images from all available camera types.
  • directshow_exposure.hdev - Shows the usage of exposure parameter.
  • directshow_frame_rates.hdev - Example for grabbing images with different frame rates.
  • directshow.hdev - Benchmark
  • directshow_parameters.hdev - Lists all parameters of a device.
  • directshow_simple.hdev - A simple example to show the usage of the interface.

Release Notes

  • Revision 20.11.7 (Apr 30, 2024):
    • The HALCON DirectShow image acquisition interface is now deprecated and will be replaced by the HALCON MediaFoundation image acquisition interface.
  • Revision 18.11.6 (Oct 20, 2021):
    • The distribution package of this interface now contains files providing meta information for the HDevelop example browser.
  • Revision 18.11.5 (Oct 27, 2020):
    • This interface couldn't be loaded from .NET Core applications on Linux and macOS. This problem has been fixed.
  • Revision 13.0.4 (Jun 9, 2020):
    • The video subtype Y16 is now supported.
    • Some resources were not freed properly in close_framegrabber. This problem has been fixed.
  • Revision 13.0.3 (Mar 6, 2019):
    • When calling 'devices' parameter, only the device number was displayed. This problem has been fixed.
  • Revision 13.0.2 (Aug 13, 2018):
    • The technical dependency from the HALCON Library has been removed.
    • If the device name contained UNICODE characters this was not handled correctly. This problem has been fixed.
  • Revision 13.0.1 (Oct 28, 2016):
    • HALCON 13 version of the interface.
  • Revision 6.2 (Jun 15, 2015):
    • When a faulty DirectShow driver was registered the interface did not work correctly even for other devices and crashed when trying to open any device. This problem has been fixed.
    • The documentation has been modified to show more accurate device requirements.
  • Revision 6.1 (May 28, 2015):
    • Trying to open an unknown device has led to a crash. This problem has been fixed.
    • Setting an empty value in set_framegrabber_param has led to a crash. This problem has been fixed.
  • Revision 6.0 (Oct 31, 2014):
    • HALCON 12 version of the interface.
    • Fixed bug in open_framegrabber to prevent opening the same device a second time.
  • Revision 5.2 (Sep 6, 2013):
    • Improved internal memory allocation to avoid stack overflow.
  • Revision 5.1 (Sep 28, 2012):
    • Enhanced device enumeration to enable the use of multiple cameras with the same name. For this the index of the device is displayed in front of the name to form an unique identifier.
    • Extended the allowed formats for devices, previously hidden formats and resolutions can be chosen for some cameras, also it is not guaranteed that they can be used.
    • Relaxed the matching of device names and camera types (i.e. formats) when opening a device.
    • Improved DLL registration process in case the interface is not already registered correctly. This might need user interaction to gain elevated privileges.
    • Added parameter 'available_media_types' to get_framegrabber_param.
    • Changed default of 'disconnect_graph' to FALSE to speed up setting of parameters and most devices support it nicely. Relaxed checking of expected filter name when reconnecting a device.
    • Removed unnecessary low-level warnings, improved wording of important ones.
    • Fixed bug which led to crashes due to heap corruption with some devices.
    • Various other small bugfixes.
  • Revision 5.0 (May 15, 2012):
    • HALCON 11 version of the interface (included in HALCON 11 DVD).
  • Revision 4.2 (Aug 20, 2010):
    • In certain cases the image buffer size was calculated too large by a factor of 8. This bug has been fixed.
    • HALCON 10 version of the interface (included in HALCON 10 DVD).
  • Revision 4.1 (Jan 22, 2010):
    • Skipped query of the actual connector settings.
    • Adapted order within the device initialization to ensure a valid crossbar instance.
  • Revision 4.0 (Nov 28, 2008):
    • HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
  • Revision 3.3 (Apr 22, 2008):
    • Added read-only parameters with postfix '_description', '_range', and '_values' to enable the easy parameterization via a generic graphical user interface.
  • Revision 3.2 (Aug 3, 2007):
    • Ignore Leutron Vision Video Capture and VfW driver to prevent conflicts with using the HALCON Leutron interface simultaneously.
  • Revision 3.1 (Jun 29, 2007):
    • Bug fix in the internal memory allocation.
  • Revision 3.0 (May 15, 2007):
    • HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
  • Revision 2.10 (Jun 29, 2006):
    • Bug fix in open_framegrabber.
    • New parameter 'disconnect_graph' for faster setting of parameters.
  • Revision 2.9 (Jan 17, 2006):
  • Revision 2.8 (Sep 9, 2005):
    • 64 bit Windows version available.
    • Manual registration of hAcqDirectShow.dll or parhAcqDirectShow.dll no longer necessary.
    • Bug fix in info_framegrabber(..., 'camera_type', ...).
  • Revision 2.7 (Jul 27, 2005):
    • HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
    • Speed-up for acquisition of RGB images (avoiding cache alignment failures when converting the interleaved image data into HALCON image objects).
  • Revision 2.6 (Jul 19, 2004):
    • Parallel version available.
  • Revision 2.5 (Jul 7, 2004):
    • Extension to allow top-down bitmaps for RGB8, RGB15, RGB16, RGB24, and RGB32 video subtypes.
    • Bug fix: Faulty reference count corrected.
  • Revision 2.4 (Dec 3, 2003):
  • Revision 2.3 (Sep 15, 2003):
    • HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
    • New video subtypes UYVY, Y411, and Y41P supported.
    • New parameters 'available_dialogs' and 'do_open_dialog' for using the property pages provided by a capture device.
    • Extension to allow setting of parameters for capture devices that change their settings only if the source filter is not connected.
  • Revision 2.2 (May 23, 2003):
    • Extension to allow enabling the external trigger for capture devices that change the IAMVideoControl interface settings only if the source filter is not yet connected.
  • Revision 2.1 (Dec 4, 2002):
    • New video subtype Y800 supported.
    • New parameters 'external_trigger', 'external_trigger_range' and 'do_force_trigger' for external triggering.
    • New parameters 'connector', and 'available_connectors' for video input selection.
    • New parameters 'pan', 'tilt', 'roll', 'zoom', 'exposure', 'iris', 'focus', 'pan_range', 'tilt_range', 'roll_range', 'zoom_range', 'exposure_range', 'iris_range', and 'focus_range' for further control of the camera.
    • New parameters 'flip_horizontal', 'flip_vertical', 'flip_horizontal_range' and 'flip_vertical_range' for image flipping.
  • Revision 2.0 (Sep 30, 2002):
    • First official release.