| Customize Help
| Save Settings

MseqDefine



Function Map
Synopsis
Define, or redefine, a source or destination of an input or output of the sequence operation, respectively.
Syntax
void MseqDefine(
MIL_ID ContextSeqId, //in
MIL_INT SequenceIndex, //in
MIL_INT64 SequenceType, //in
const void *Param1Ptr, //in
MIL_DOUBLE Param2 //in
)
Description

This function defines, or redefines, the source of an input or a destination of an output of the sequence operation of the specified sequence context. The source of an input specifies from where to obtain the data to be operated on by the sequence processing operation, while the destinations of an output specify where to store data resulting from the sequence processing operation.

You can define multiple destinations for each output of the operation, but only one source for each input of the operation. The number of inputs and outputs are operation dependent. Both a sequence compression and a sequence decompression take only one input and have only one output.

If you specify an index that has already been defined, that index will be associated with the new information. If you do not want to use a destination at a specified index, redefine the destination as M_USER_HOOK. If you do not want to use a source at a specified index, redefine the source as M_USER_FEED.

Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see which MIL system’s documentation you should use in its place and any possible differences.
Parameters
This function is not supported on the selected boards.
This function reference has not been updated for the selected MIL system. To show the content of this page, choose a second MIL system; refer to the MIL system's release note to see which MIL system’s documentation to choose and any possible differences.
Parameters
ContextSeqId

Specifies the identifier of the sequence context. The sequence context must have been previously allocated using MseqAlloc().

SequenceIndex

Specifies whether to define, or redefine, the source of an input or one of the destinations of an output for the sequence operation of the specified sequence context.

Specifies the index of the input or the output whose source or destinations must be defined or redefined; respectively.

function map For specifying an input or output of the sequence operation at a given index
Click to summarizeValue Description
Click to summarize
M_SEQ_INPUT(
MIL_INT Index
)

Specifies an input of the sequence operation, whose source must be defined or redefined.

(summarize)
Parameters

Specifies the index of the input. The index must be 0.

Click to summarize
M_SEQ_OUTPUT(
MIL_INT Index
)

Specifies an output of the sequence operation, whose destination must be defined or redefined. An output can have multiple destinations.


You must specify a combination value from the following table:
(summarize)
Parameters

Specifies the index of the output. The index must be set to 0.

Combination value for M_SEQ_OUTPUT.

You must add the following value to the above-mentioned value to specify the index of the destination of the output, to define or redefine.

function map For specifying the index of the destination of the output to define or redefine
Click to summarizeCombination value Description
Click to summarize
M_SEQ_DEST(
MIL_INT Index
)

Specifies the destination of the output, to define or redefine.

(summarize)
Parameters

Specifies the index of the destination. The index must be between 0 and 31.

SequenceType

Specifies the type of source or destination to define.

See the Parameter associations section for possible values that can be specified.

Param1Ptr
Accepts the address of one of the following (see the Parameter associations section for specifics on which is expected):
  • array of type MIL_ID [optionally, in C++: a reference to a constant std::vector<MIL_ID> ]
  • MIL_CONST_TEXT_PTR [optionally, in C++: a reference to a MIL_STRING]

Specifies an attribute of the source or destination to define. Its definition is dependent on the sequence type chosen.

Set this parameter to M_NULL if not used.

See the Parameter associations section for possible values that can be specified.

Param2

Specifies an attribute of the source or destination to define. Its definition is dependent on the sequence type chosen.

Set this parameter to M_NULL if not used.

When using a standard vector (std::vector) overload function in C++, you can pass M_DEFAULT to this parameter and MIL will automatically determine the size based on the number of items in the vector passed to the Param1Ptr parameter.

See the Parameter associations section for possible values that can be specified.

The table below lists possible values for the SequenceType, Param1Ptr, and Param2 parameters.

To specify the settings of the source or destination, set the Param1Ptr and Param2 parameters to the following values. Note that any unused parameters should be set to M_NULL.

function map For specifying the source or destination settings INQ
Click to summarizeSequenceType Description
Param1Ptr
Param2
Click to summarize M_BUFFER_LIST

Defines the source of the input, or destination of the output, of the sequence operation as a buffer list.

A buffer list cannot be used as the source of the input for a decompression operation or as the destination of the output for a compression operation

(summarize)
Click to summarize Param1Ptr
Data type info: Data type: array of type MIL_ID [optionally, in C++: a reference to a constant std::vector<MIL_ID> ] MORE

Specifies the address of the array containing the identifiers of the buffers on which to perform the operation. To allocate each buffer, use MbufAllocColor().

When performing a sequence processing operation (using MseqProcess()) with a buffer list as the source of the input, a call to MseqFeed() is done internally. See MseqFeed() for information regarding buffer depth and type.

(summarize)
Click to summarize Param2

Specifies the number of buffers in the buffer list.

Click to summarize M_FILE

Defines the source of the input, or destination of the output, of the sequence operation as a file. INQ

(summarize)
Click to summarize Param1Ptr
Data type info: Data type: address of a MIL_CONST_TEXT_PTR [optionally, in C++: MIL_STRING ]

Specifies the file to use.

(summarize)
Click to summarize MIL_TEXT("FileName") 1

Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile").

If the sequence context is allocated on a remote system (under Distributed MIL), you must specify a file on the same remote computer. To do so, prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\myfile"); otherwise, an error will occur.

(summarize)
Click to summarize Param2

Specifies the format of the file.

(summarize)
Click to summarize M_FILE_FORMAT_AVI

Specifies that the file is in AVI format.

Click to summarize M_FILE_FORMAT_H264

Specifies that the file is in H.264 elementary video data format.

An H.264 elementary video file cannot be used as a destination for a decompression operation.

(summarize)
Click to summarize M_FILE_FORMAT_MP4

Specifies that the file is in MP4 format.

Click to summarize M_USER_FEED

Defines the source of the input of the sequence operation as a manual image feed, where the images are passed individually to the sequence operation. To perform the feed, call MseqFeed() after you start the sequence processing operation using MseqProcess(). By default, the source of each input of the operation is an image feed.

(summarize)
Click to summarize M_USER_HOOK

Defines the destination of the output as the internal output buffer of the operation; if this is the only destination, you should use a user-defined hook function to retrieve the data before it is overwritten by the next frame of resulting data (MseqHookFunction() with M_FRAME_END). In the hook function, use MseqGetHookInfo() with M_MODIFIED_BUFFER + M_BUFFER_ID to retrieve the identifier of the internal output buffer. By default, the destination of each output is set to M_USER_HOOK.

You can use hook functions to retrieve data about the internal output buffer, regardless of whether M_USER_HOOK is specified.

(summarize)

1 If you are passing the value in a variable, don't enclose it in MIL_TEXT().

Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
BUFFER LIST FILE FILE FORMAT AVI FILE FORMAT H264 FILE FORMAT MP4 USER FEED USER HOOK