⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_venc.h

📁 TI达芬奇dm644x各硬件模块测试代码
💻 H
📖 第 1 页 / 共 4 页
字号:
   @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 + -