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

📄 csl_vencgethwstatus.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 C
字号:
/** @file csl_vencGetHwStatus.c
 *
 *    @brief    File for functional layer of CSL API @a CSL_vencGetHwStatus()
 *
 *  Description
 *    - The @a CSL_vencGetHwStatus() function definition & it's associated
 *      functions
 *
 *  Modification 1
 *    - Modified on: 10/5/2004
 *    - Reason: created the sources
 *
 *  @date 5th October, 2004
 *  @author Santosh Narayanan.
 */

#include <csl_venc.h>

#pragma CODE_SECTION (CSL_vencGetHwStatus, ".text:csl_section:venc")

/** @brief Gets the status of the different operations.
 */
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
	)
{

	CSL_Status status = CSL_SOK;

	switch(query) {

	case CSL_VENC_QUERY_VIDEO_MODE:
		*(Uint16 *)response = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_VDMD);
		break;

	case CSL_VENC_QUERY_MASTERSLAVE:
		*(Uint16 *)response = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_SLAVE);
		break;

	case CSL_VENC_QUERY_HDTV_MODE:
		*(Uint16 *)response = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_HDMD);
		break;

	case CSL_VENC_QUERY_TV_FORMAT:
		*(Uint16 *)response = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_TYTYP);
		break;	

       case CSL_VENC_QUERY_VIDEO_TIMING:
		*(Uint16 *)response = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_VMD);
		break;
		
       
	case CSL_VENC_QUERY_VIDEO_STATUS:
		((CSL_VencVideoStatus *)response)->caest = CSL_FEXT(hVenc->regs->VSTAT, VENC_VSTAT_CAEST); 
		((CSL_VencVideoStatus *)response)->caost = CSL_FEXT(hVenc->regs->VSTAT, VENC_VSTAT_CAOST);
		((CSL_VencVideoStatus *)response)->fidst = CSL_FEXT(hVenc->regs->VSTAT, VENC_VSTAT_FIDST);
		((CSL_VencVideoStatus *)response)->udbal = CSL_FEXT(hVenc->regs->VSTAT, VENC_VSTAT_UDBAL);
		((CSL_VencVideoStatus *)response)->udful = CSL_FEXT(hVenc->regs->VSTAT, VENC_VSTAT_UDFUL);
		break;

	default:
    	       status = CSL_ESYS_INVQUERY ;
		break;	   

	}
	return status;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -