Table: | For specifying the MIL system |
Table: | For the data depth of the buffer |
+ combination: | For specifying the data type of the buffer |
Table: | For specifying the buffer usage |
+ combination: | For specifying the intended purpose of the image buffer |
+ combination: | For allocating an overscan region |
+ combination: | For specifying the compression type |
+ combination: | For specifying a storage format and a location specifier |
+ combination: | For specifying that the buffer is FPGA accessible |
+ combination: | For specifying a storage format for color buffers |
+ combination: | For specifying a planar color buffer format |
+ combination: | For specifying a packed color buffer format |
+ combination: | For specifying a packed or planar color buffer format |
+ combination: | For specifying a location for a buffer |
+ combination: | For specifying a memory bank to be used |
+ combination: | For specifying a location in a specific type of memory |
+ combination: | For specifying the attribute of the specified physical memory type |
MIL_ID SystemId, | //in |
MIL_INT SizeBand, | //in |
MIL_INT SizeX, | //in |
MIL_INT SizeY, | //in |
MIL_INT Type, | //in |
MIL_INT64 Attribute, | //in |
MIL_ID *BufIdPtr | //out |
This function allocates a data buffer with multiple color bands on the specified system. This type of buffer allows for the representation of color images (for example, RGB).
This function allocates buffers that have a two-dimensional surface for each specified color band. You can use MbufAlloc1d() and MbufAlloc2d() to create single band one- or two-dimensional data buffers, respectively.
After allocating a buffer, we recommend that you check if the operation was successful, using MappGetError(), or by verifying that the buffer identifier returned is not M_NULL.
When a buffer is no longer required, release it, using MbufFree().
For more information about color buffer formats, refer to the RGB buffers section of Chapter 21: Data buffers and the YUV buffers section of Chapter 21: Data buffers.
Specifies the MIL system on which to allocate the buffer. This parameter should be set to one of the following values:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the default Host system of the current MIL application. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a valid system identifier, previously allocated using MsysAlloc(). |
Specifies the number of (x,y) surfaces (also called color bands) to allocate to the buffer. Specify one band for each of the color components that the buffer needs to store (for example, monochrome images require one band; RGB color images require three color bands). This parameter can be set to any non-zero integer value. However, in general, only 1- and 3-band buffers are allowed.
Specifies the buffer width. The units are determined by the selected buffer attribute. For example, if the buffer has an image buffer attribute, width is specified in pixels.
Specifies the buffer height. The units are determined by the selected buffer attribute. For example, if the buffer has an image buffer attribute, height is specified in pixels.
Specifies a combination of two values: data type and data depth per band. Specify the depth of the buffer per band as one of the following:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a 1-bit (packed binary) buffer. Note that you cannot allocate a 1-bit LUT buffer. (summarize)Specifies a 1-bit (packed binary) buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies an 8-bit buffer. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a 16-bit buffer. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a 32-bit buffer. |
You can add one of the following values to the above-mentioned values to set the data type.
Supported data types depend on the specified depth.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the type of data is floating-point. The valid data depth is 32 bits. (summarize)Specifies that the type of data is floating-point. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the type of data is signed. The valid data depths are 8, 16, or 32 bits. (summarize)Specifies that the type of data is signed. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the type of data is unsigned. The valid data depths are 1, 8, 16, or 32 bits. This is the default value. (summarize)Specifies that the type of data is unsigned. (more details...) |
Specifies the buffer usage. MIL uses this information to determine where to allocate the buffer in physical memory.
Set this parameter to one of the following values:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a buffer to store array type data. Note that some functions take an M_ARRAY buffer rather than a user-defined array. (summarize)Specifies a buffer to store array type data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a buffer to store image data. You must specify a combination value from the following table: Specifies a buffer to store image data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a buffer to store lookup table data. The valid data depths are 8, 16, or 32 bits and only the planar internal storage format is valid. (summarize)Specifies a buffer to store lookup table data. (more details...) |
You must add one or more of the following values to the above-mentioned value to set the intended purpose of the image buffer.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies an image buffer that can hold compressed data. Note that a buffer with this attribute must have the M_UNSIGNED data type. When allocating buffers for operations that require a source and destination buffer, and one of the buffers has an M_COMPRESS attribute, the data will be compressed or decompressed depending on the attributes of the destination buffer. If both the source and destination buffers have M_COMPRESS specifiers but different compression types, the data will be re-compressed according to the settings of the destination buffer. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies an image buffer that can hold compressed data. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Specifies an image buffer that can be displayed. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Specifies an image buffer in which to grab data. This type of buffer is usually allocated in MIL-reserved, physically contiguous, non-paged memory. For Host buffers (M_HOST_MEMORY), the maximum (total) number of grab (M_GRAB) buffers that can be allocated is restricted by the total amount of MIL-reserved, non-paged memory (specified at installation time or using the MILConfig utility). For on-board buffers (M_ON_BOARD), the maximum (total) number of grab (M_GRAB) buffers that can be allocated is restricted by the total amount of on-board memory. (summarize)Specifies an image buffer in which to grab data. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
Single-band (monochrome) buffers must have a depth of 8 bits or 16 bits to have an M_GRAB attribute. Only some three-band (color) buffers can have an M_GRAB attribute. See the constants for color buffer formats to determine which are supported with an M_GRAB attribute. |
‡ | c M10 |
j | k M10 |
l | m | o | p | r U27 |
v | y U75 |
aa | |||||||||||||||||||||||||||
Single-band (monochrome) buffers must have a depth of 8 bits to have an M_GRAB attribute. Only some three-band (color) buffers can have an M_GRAB attribute. See the constants for color buffer formats to determine which are supported with an M_GRAB attribute. |
‡ | g | h | ||||||||||||||||||||||||||||||||||||
Single-band (monochrome) buffers must have a depth of 8 bits or 16 bits to have an M_GRAB attribute. Only some three-band (color) buffers can have an M_GRAB attribute. See the constants for color buffer formats to determine which are supported with an M_GRAB attribute. Note that color buffers with an M_GRAB attribute are only available for color versions of Matrox Iris GTR (such as 1300C). |
‡ | t U28 |
|||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies an image buffer that can be processed. If you intend to use the buffer as the source or destination buffer of a processing or analysis operation, you must allocate the buffer with an M_PROC attribute. (summarize)Specifies an image buffer that can be processed. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa |
You can add the following value to the above-mentioned value to set the allocation of an overscan region.
This overrides the MsysControl() M_ALLOCATION_OVERSCAN system control setting and forces the allocation of an overscan region. When this attribute is set, the setting of the M_ALLOCATION_OVERSCAN_SIZE system control determines the size of the overscan region and the M_ALLOCATION_OVERSCAN setting is ignored.
Note that this attribute is only useful when added to a buffer on which you want to perform neighborhood processing operations.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the buffer is allocated with an overscan region. Specify the size of the region using MsysControl() with M_ALLOCATION_OVERSCAN_SIZE. (summarize)Specifies that the buffer is allocated with an overscan region. (more details...) |
You can add one of the following values to the above-mentioned value to set the compression type.
The image buffer's data depth dictates which compression type can be selected.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold H.264 data. This compression type is used when specifying a source of an input or a destination of an output for a sequence operation as an array of buffers (MseqDefine() with M_BUFFER_LIST). (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold H.264 data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG2000 lossless data. The supported data formats are: 1-band, 8- or 16-bit data, and 3-band, 8- or 16-bit data in M_RGB24 + M_PLANAR, M_RGB48 + M_PLANAR, or M_YUV24 + M_PLANAR format. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG2000 lossless data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG2000 lossy data. The supported data formats are: 1-band, 8- or 16-bit data, and 3-band, 8- or 16-bit data in M_RGB24, M_RGB48, M_YUV9, M_YUV12, M_YUV16 + M_PLANAR, or M_YUV24 format. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG2000 lossy data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossless data. The supported data formats are: 1-band, 8- or 16-bit data, and 3-band data in M_RGB24 or M_RGB48 format. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossless data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossless data in separate fields. The supported data formats are 1-band, 8- or 16-bit data. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossless data in separate fields. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossy data. The supported data formats are: 1-band 8-bit data, and 3-band 8-bit data in M_RGB24, M_YUV24, M_YUV12, M_YUV9, M_YUV16 + M_PLANAR, or M_YUV16 + M_PACKED format. This is the default value. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossy data. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossy data in separate fields. The supported data formats are: 1-band 8-bit data, and 3-band 8-bit data in M_YUV16 + M_PACKED format. (summarize)[For
essential MIL-Lite information, see remarks ]
Specifies that the buffer will be used to hold JPEG lossy data in separate fields. (more details...) |
You can add one of the following values to the above-mentioned value to set a storage format and a location specifier.
MIL automatically selects the most appropriate storage format according to the specified intended usage attribute. For general processing, MIL will convert the data when the function requires a different format. If the default storage format is not appropriate and you want to avoid conversion during a time critical operation, you can add a storage format and a location specifier.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Forces the buffer to be a DIB buffer. This ensures your buffer is stored with a DIB header. Use MbufInquire() with M_BITMAPINFO to return a pointer (LPBITMAPINFO) to the header of the MIL buffer. (summarize)[This is
only applicable to Windows]
Forces the buffer to be a DIB buffer. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Forces the buffer to be a DirectX surface. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
u U36 |
v | y U75 |
aa | |||||||||||||||||||||
![]() ![]() |
Forces the buffer to be compatible with GDI. When using a device context (using MbufControl() with M_DC_ALLOC) for drawing, the buffer should be internally stored in GDI format, and cannot be a child buffer. (summarize)Forces the buffer to be compatible with GDI. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Linux]
Forces the buffer to be an X11 Ximage. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
u U36 |
v | y U75 |
aa |
You can add the following value to the above-mentioned values to set a location for a buffer that is FPGA accessible.
Note that the following value cannot be used with M_COMPRESS or values in the For specifying a storage format and a location specifier table.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Forces the buffer to be allocated in a bank of memory that is accessible from the Processing FPGA. The exact bank of on-board memory is determined by the other attributes used with this value. If combined with the M_HOST_MEMORY attribute, the memory allocated will be in non-paged Host memory. If combined with the M_GRAB, or M_GRAB + M_PROC attribute, the Matrox Solios will allocate a buffer in memory bank 0. If combined with the M_PROC attribute, the Matrox Solios will allocate a buffer in memory bank 1. (summarize)Forces the buffer to be allocated in a bank of memory that is accessible from the Processing FPGA. (more details...) |
‡ | j | l | m | p | r U27 |
aa | |||||||||||||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
If combined with the M_PROC + M_FAST_MEMORY attribute, the Matrox Solios will allocate a buffer in memory bank 2. |
‡ | j | l | m | p |
You can add one of the following values to the above-mentioned value to set a storage format for color buffers.
Note that the buffer must be a color buffer. Also note that it might be slower to use buffers that have been forced with one of these attributes. Although there is no right or wrong storage format to use, certain operations are optimized for some formats.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the buffer's bands are stored in packed format (color buffer only); that is, the pixel components are stored together (RGB RGB RGB...). Typically, packed buffers are used for display (M_DISP). Note that it might be slower to process buffers with the M_PACKED attribute. Also, note that you cannot allocate a packed LUT buffer. (summarize)Specifies that the buffer's bands are stored in packed format (color buffer only); that is, the pixel components are stored together (RGB RGB RGB...). (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the buffer's bands are stored in planar format (color buffer only); that is, each pixel is stored as three component planes (RRR... GGG... BBB...). Typically, planar buffers are used for processing (M_PROC). (summarize)Specifies that the buffer's bands are stored in planar format (color buffer only); that is, each pixel is stored as three component planes (RRR... GGG... BBB...). (more details...) |
You can add one of the following values to the above-mentioned value to set a planar color buffer format. Alternatively, you can add a value from For specifying a packed or planar color buffer format.
Note that the values below cannot be used with grab buffers (M_GRAB), unless otherwise stated.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Specifies 3-bit color depth (RGB 1:1:1) planar pixels. |
‡ | a | g | h | i | j | k M10 |
l | m | p | r U27 |
t U28 |
u U36 |
y U75 |
aa | |||||||||||||||||||||||
![]() ![]() |
Specifies YUV9 planar pixels. |
‡ | a | g | h | i | j | k M10 |
l | m | p | r U27 |
t U28 |
u U36 |
y U75 |
aa | |||||||||||||||||||||||
![]() ![]() |
Specifies YUV12 planar pixels. |
‡ | a | g | h | i | j | k M10 |
l | m | p | r U27 |
t U28 |
u U36 |
y U75 |
aa | |||||||||||||||||||||||
![]() ![]() |
Specifies YUV24 planar pixels. |
‡ | a | g | h | i | j | k M10 |
l | m | p | r U27 |
t U28 |
u U36 |
y U75 |
aa |
You can add one of the following values to the above-mentioned value to set a packed color buffer format. Alternatively, you can add a value from For specifying a packed or planar color buffer format.
Note that the values below cannot be used with grab buffers (M_GRAB), unless otherwise stated.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Specifies 24-bit color depth packed pixels (BGRBGR). (summarize)Specifies 24-bit color depth packed pixels (BGRBGR). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with grab (M_GRAB) buffers. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||||
![]() ![]() |
Specifies 32-bit color depth packed pixels (BGRXBGRX). The most-significant byte is a "don't care" byte. (summarize)Specifies 32-bit color depth packed pixels (BGRXBGRX). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with grab (M_GRAB) buffers. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | |||||||||||||||||||||
![]() ![]() |
Specifies 16-bit color depth packed pixels (XRGB 1:5:5:5). Note that when accessing an M_RGB15 + M_PACKED buffer as a 3-band 8-bit buffer, the least significant bits are set to 0. (summarize)Specifies 16-bit color depth packed pixels (XRGB 1:5:5:5). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Specifies 16-bit color depth packed pixels (RGB 5:6:5). Note that when accessing an M_RGB16 + M_PACKED buffer as a 3-band 8-bit buffer, the least significant bits are set to 0. (summarize)Specifies 16-bit color depth packed pixels (RGB 5:6:5). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the UYVY order. For more information, see the YUV buffers section of Chapter 21: Data buffers. This value can be used with grab (M_GRAB) buffers. (summarize)Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the UYVY order. (more details...) |
‡ | c M10 |
o | v | ||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the YUYV order. For more information, see the YUV buffers section of Chapter 21: Data buffers. (summarize)Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the YUYV order. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with grab (M_GRAB) buffers. |
‡ | a | g | h | i | j | k M10 |
l | m | p | r U27 |
u U36 |
y U75 |
aa | |||||||||||||||||||||||||
This value can be used with grab (M_GRAB) buffers if those buffers are also packed (M_PACKED). |
‡ | t U28 |
You can add one of the following values to the above-mentioned values to set a packed or planar color buffer format. Alternatively, you can add a value from For specifying a packed color buffer format or from For specifying a planar color buffer format.
Note that the values below cannot be used with grab buffers (M_GRAB), unless otherwise stated.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Specifies 24-bit color depth (RGB 8:8:8) packed or planar pixels. (summarize)Specifies 24-bit color depth (RGB 8:8:8) packed or planar pixels. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with planar (M_PLANAR) grab (M_GRAB) buffers. |
‡ | j | k M10 |
l | m | p | r U27 |
t U28 |
y U75 |
aa | |||||||||||||||||||||||||||||
This value can be used with packed (M_PACKED) grab (M_GRAB) buffers. |
‡ | c M10 |
o | v | |||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies 48-bit color depth (RGB 16:16:16). packed or planar pixels. (summarize)Specifies 48-bit color depth (RGB 16:16:16). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with packed (M_PACKED) grab (M_GRAB) buffers. |
‡ | c M10 |
j | k M10 |
l | m | o | p | r U27 |
v | y U75 |
aa | |||||||||||||||||||||||||||
This value can be used with planar (M_PLANAR) grab (M_GRAB) buffers if the buffer is allocated on the Host (M_HOST_MEMORY) and not on-board. |
‡ | j | k M10 |
l | m | p | r U27 |
y U75 |
aa | ||||||||||||||||||||||||||||||
![]() ![]() |
Specifies 96-bit color depth (RGB 32:32:32) packed or planar pixels. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Specifies YUV16 (4:2:2) pixels. (summarize)Specifies YUV16 (4:2:2) pixels. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
This value can be used with packed (M_PACKED) grab (M_GRAB) buffers. |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa |
You can add one of the following values to the above-mentioned values to set a location for a buffer.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Forces the buffer in Host memory. This is the default value. (summarize)Forces the buffer in Host memory. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Forces the buffer to be allocated in non-paged memory that can be set in the address space of the process (Host memory). By default, however it is not mapped to Host memory (that is, by default the buffer will have a physical address, but not a Host address). Use MbufControl() with M_MAP to enable or disable the mapping to Host memory. This setting is useful when dealing with many large buffers that cannot all be mapped in Host memory at the same time. By allocating a buffer as M_MAPPABLE, it can be mapped and unmapped as needed. Note that, if used with the M_PAGED attribute, an error will be generated. (summarize)Forces the buffer to be allocated in non-paged memory that can be set in the address space of the process (Host memory). (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
![]() ![]() |
Ensures that the buffer is not in on-board memory. (summarize)Ensures that the buffer is not in on-board memory. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
To ensure that an M_OFF_BOARD buffer can be used by the bus master transfer section of the board, the buffer must be allocated in non-paged memory (M_OFF_BOARD + M_NON_PAGED or M_HOST_MEMORY + M_NON_PAGED). |
‡ | g | h | j | k M10 |
l | m | p | r U27 |
t U28 |
y U75 |
aa | |||||||||||||||||||||||||||
![]() ![]() |
Forces the buffer in on-board memory. (summarize)Forces the buffer in on-board memory. (more details...) |
‡ | g | h | i | j | k M10 |
l | m | p | r U27 |
t U28 |
u U36 |
y U75 |
aa | ||||||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
By default, all on-board buffers are allocated in memory that is not mapped on the PCI bus. This unshared memory cannot be accessed by the Host or any system other than the one on which it was allocated. See combination values below (M_SHARED) to change this default behavior. |
‡ | j | k M10 |
l | m | p | r U27 |
y U75 |
aa | ||||||||||||||||||||||||||||||
This is only available for grab buffers (M_GRAB). |
‡ | t U28 |
|||||||||||||||||||||||||||||||||||||
This is only available for image buffers (M_IMAGE). |
‡ | g | h | i | k M10 |
u U36 |
y U75 |
||||||||||||||||||||||||||||||||
This is only available for image (M_IMAGE) and LUT buffers (M_LUT). |
‡ | j | l | m | p | r U27 |
aa | ||||||||||||||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Forces the buffer in (off-screen) display memory of your graphics controller. If Direct3D hardware acceleration mode is being used for display, the buffer cannot be allocated in display memory when any of the following attributes are used: M_GRAB or M_NON_PAGED. This is also the case when using DirectDraw 7 hardware acceleration mode if also using a non-Matrox graphics controller. If Direct3D hardware acceleration mode is being used for display and you allocate the buffer in display memory, you must use the lock-unlock mechanism to access the buffer (MbufControl() with M_LOCK / M_UNLOCK). (summarize)[This is
only applicable to Windows]
Forces the buffer in (off-screen) display memory of your graphics controller. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa |
You can add the following value to the above-mentioned values to specify a memory bank to be used.
![]() |
||||||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||
![]() ![]() |
Forces the buffer to be allocated in the specified memory bank. (summarize)Forces the buffer to be allocated in the specified memory bank. (more details...) |
‡ | ‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | |||||
Operating system specific | ||||||||||||||||||||||||||||||||||||||||||
[This is
only applicable to Windows]
Valid values for n are between 0 and 6, inclusive. However, not all memory banks are necessarily present on a given system. Typically, if there is more than 1 memory bank, it is NUMA-enabled. Note that, to ensure that you are accessing a NUMA-enabled memory bank, you must specify the M_HOST_MEMORY combination value. To determine the actual number of memory banks available on the MIL system, use MappInquireMp() with M_MEMORY_BANK_NUM and MappInquireMp() with M_MEMORY_BANK_AFFINITY_MASK. For more information, refer to the NUMA Support subsection of the Transparent multi-core use section of Chapter 51: Multi-processing, multi-core, and multi-threading. Note that this value cannot be used with M_COMPRESS or M_NON_PAGED. Also note that the combination of M_HOST_MEMORY with this value, in paged memory, is only useful when doing multi-core processing on a Host system. |
||||||||||||||||||||||||||||||||||||||||||
[This is
only applicable to Linux]
Note that this value is not available with the M_HOST_MEMORY combination value. |
||||||||||||||||||||||||||||||||||||||||||
MIL system specific | ||||||||||||||||||||||||||||||||||||||||||
Valid values for n are between 0 and 1, inclusive. Refer to your MIL Hardware-specific Notes for more information about on-board memory. Note that, to assure you are accessing an on-board memory bank, you must specify the M_ON_BOARD combination value.
|
‡ | j | p | r U27 |
aa | |||||||||||||||||||||||||||||||||||||
|
‡ | j | p | |||||||||||||||||||||||||||||||||||||||
In this case, n must be set to 0. This is the default memory bank for an on-board buffer created with the M_GRAB attribute. Refer to your MIL Hardware-specific Notes for more information about on-board memory. Note that, to assure you are accessing an on-board memory bank, you must specify the M_ON_BOARD combination value. |
‡ | k M10 |
y U75 |
|||||||||||||||||||||||||||||||||||||||
Valid values for n are between 0 and 2, inclusive. Refer to your MIL Hardware-specific Notes for more information about on-board memory. Note that, to assure you are accessing an on-board memory bank, you must specify the M_ON_BOARD combination value.
|
‡ | l | m |
You can add one of the following values to the above-mentioned values to set a location in a specific type of memory.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description |
MIL system-specific tooltip (‡) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||
![]() ![]() |
Specifies that the buffer is in the fastest memory available. Use MbufInquire() with M_EXTENDED_FORMAT to establish if the buffer was allocated in fast processing memory. This attribute can only be combined with M_GRAB + M_FPGA_ACCESSIBLE. (summarize)Specifies that the buffer is in the fastest memory available. (more details...) |
‡ | j | l | m | p | |||||||||||||||||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
For Matrox Solios eA/XA and eCL/XCL, the fastest memory available is the SRAM. If SRAM is not present on your Matrox Solios, SDRAM will be used instead. This value is typically the same as using M_MEMORY_BANK_2. |
‡ | l | m | ||||||||||||||||||||||||||||||||||||
For Matrox Radient, the fastest memory available is the SRAM. If SRAM is not present on your Matrox Radient, SDRAM will be used instead. This value is typically the same as using M_MEMORY_BANK_1. |
‡ | j | p | ||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies that the buffer is in shared processing memory. This memory is mapped on the PCI bus. Note that this combination value can only be added to M_ON_BOARD. (summarize)Specifies that the buffer is in shared processing memory. (more details...) |
‡ | j | k M10 |
l | m | p | r U27 |
y U75 |
aa |
You can add one of the following values to the above-mentioned values to set the attribute of the specified physical memory type.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Forces the buffer in MIL-reserved, non-pageable memory. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Forces the buffer in pageable memory. |
Header | Include mil.h. |
Library | Use mil.lib. |
DLL | Requires mil.dll. |