📄 csl_venc.h
字号:
@endverbatim
*
* @return returns the status of the operation
*
*/
CSL_Status CSL_vencInit(
void
);
/** The open call sets up the data structures for the particular instance of
* VENC device. The device can be re-opened anytime after it has been normally
* closed if so required. VENC Hardware setup will be performed at the end of
* the open call only if the HwSetup Pointer supplied was non- NULL. The handle
* returned by this call is input as an essential argument for rest of the APIs
* described for this module.
*
* <b> Usage Constraints: </b>
* The CSL system as well as VENC must be successfully initialized
* via @a CSL_sysInit() and @a CSL_vencInit() before calling this
* function. Memory for the @a CSL_vencObj must be allocated outside
* this call. This object must be retained while usage of this peripheral.
*
* @b Example:
* @verbatim
CSL_VencObj vencObj;
CSL_Status status;
...
hVenc = CSL_vencOpen(&vencObj,
CSL_VENC_0,
CSL_EXCLUSIVE,
&status);
@endverbatim
*
* @return returns a handle @a CSL_VencHandle to the requested instance of
* VENC if the call is successful, otherwise, a @a NULL is returned.
*
*/
CSL_VencHandle CSL_vencOpen (
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencObj *hVencObj,
/** Instance of VENC to which a handle is requested
*/
CSL_VencNum vencNum,
/** Specifies if VENC should be opened with exclusive or
* shared access to the associate pins
*/
CSL_OpenMode openMode,
/** This returns the status (success/errors) of the call
*/
CSL_Status *status
);
/** The Close call releases the resource and appropriate shared pins.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called successfully
* in that order before @a CSL_vencClose() can be called.
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
...
CSL_vencClose(hVenc);
@endverbatim
*
* @return returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vencClose(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc
);
/** This function initializes the device registers with the appropriate values
* provided through the HwSetup Data structure. This function needs to be called
* only if the HwSetup Structure was not previously passed through the Open call.
* After the Setup is completed, the serial device is ready for data transfer.
* For information passed through the HwSetup Data structure refer
* @a CSL_VencHwSetup.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencHwSetup hwSetup = CSL_VENC_HWSETUP_DEFAULTS;
CSL_VencHwSetup(hVenc, &hwSetup);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencHwSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencHwSetup *setup
);
/** Control operations for the VENC. For a particular control operation, the
* pointer to the corresponding data type needs to be passed as argument HwControl
* function Call. All the arguments (Structure elements included) passed to the
* HwControl function are inputs. For the list of commands supported and argument
* type that can be @a void* casted & passed with a particular command refer to
* @a CSL_VencHwControlCmd.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called successfully
* in that order before @a CSL_vencHwControl() can be called. For the
* argument type that can be @a void* casted & passed with a particular command
* refer to @a CSL_VencHwControlCmd
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_Status status;
...
status = CSL_vencHwControl(hVenc,
CSL_VENC_CMD_ENABLE,
&command);
@endverbatim
*
* @return returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vencHwControl(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** The command to this API indicates the action to be taken
*/
CSL_VencHwControlCmd cmd,
/** An optional argument @a void* casted
*/
void *arg
);
/** This function is used to read the current device configuration, status flags
* and the value present associated registers. Following table details the various
* status queries supported and the associated data structure to record the response.
* User should allocate memory for the said data type and pass its pointer as an
* unadorned void* argument to the status query call. For details about the various
* status queries supported and the associated data structure to record the response,
* refer to @a CSL_VencHwStatusQuery
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called successfully
* in that order before @a CSL_vencGetHwStatus() can be called. For the
* argument type that can be @a void* casted & passed with a particular command
* refer to @a CSL_VencHwStatusQuery
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_Status status;
Uint16 *response;
...
status = CSL_vencGetHwStatus(hVenc,
CSL_VENC_QUERY_VIDEO_STATUS,
&response);
@endverbatim
*
* @return Returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vencGetHwStatus(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** The query to this API which indicates the status
* to be returned
*/
CSL_VencHwStatusQuery query,
/** Placeholder to return the status. @a void* casted */
void *response
);
/**This function pertains to the configuration of device registers that control
* the video processing functions like filter parameter selection, delay
* adjustment, attenuation control, and sampling control. This function
* initializes the device registers with the appropriate values
* provided through the VideoProcConfig Data structure.
* For information passed through the VideoProcConfig Data structure refer
* @a CSL_VencVideoProcConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencVideoProcConfig vencVideoProcConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencVideoProcSetup(hVenc, &vencVideoProcConfig);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencVideoProcSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencVideoProcConfig *setup
);
/**This function pertains to the configuration of device registers that control
* the horizontal and vertical functions like sync pulse width, delay, start
* and interval. This function initializes the device registers with the
* appropriate values provided through the HorzVertConfig Data structure.
* For information passed through the HorzVertConfig Data structure refer
* @a CSL_VencHorzVertConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencHorzVertConfig vencHorzVertConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencHorzVertSetup(hVenc, &vencHorzVertConfig);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencHorzVertSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencHorzVertConfig *setup
);
/**This function pertains to the configuration of device registers that control
* the sync functions in SYNCCTL register. This function initializes the
* device registers with the appropriate values provided through the
* SyncCtlConfig Data structure.
* For information passed through the SyncCtlConfig Data structure refer
* @a CSL_VencSyncCtlConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencSyncCtlConfig vencSyncCtlConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencSyncCtlSetup(hVenc, &vencSyncCtlConfig);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencSyncCtlSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencSyncCtlConfig *setup
);
/**This function pertains to the configuration of device registers that
* configure some additional parameters that are useful in the analog mode
* of operation. This function initializes the device registers with the
* appropriate values provided through the vencAnalogExtConfig Data structure.
* For information passed through the vencAnalogExtConfig Data structure refer
* @a CSL_VencAnalogVideoExtConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencAnalogVideoExtConfig vencAnalogExtConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencAnalogVideoExtSetup(hVenc, &vencAnalogExtConfig);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencAnalogVideoExtSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencAnalogVideoExtConfig *setup
);
/**This function pertains to the configuration of device registers that control
* the YCbCr functions in YCCCTL register. This function initializes the
* device registers with the appropriate values provided through the
* YccCtlConfig Data structure.
* For information passed through the YccCtlConfig Data structure refer
* @a CSL_VencYccCtlConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencYccCtlConfig vencYccCtlConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencYccCtlSetup(hVenc, &vencYccCtlConfig);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vencYccCtlSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencYccCtlConfig *setup
);
/**This function pertains to the configuration of device registers that control
* the RGB functions in RGBCTL register. This function initializes the
* device registers with the appropriate values provided through the
* RgbCtlConfig Data structure.
* For information passed through the RgbCtlConfig Data structure refer
* @a CSL_VencRgbCtlConfig.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vencInit() and @a CSL_vencOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_VencHandle hVenc;
CSL_VencRgbCtlConfig vencRgbCtlConfig = CSL_VENC_HWSETUP_DEFAULTS;
CSL_vencRgbCtlSetup(hVenc, &vencRgbCtlConfig);
@endverbatim
*
* @return Returns the status of the setup operation
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -