/*****************************************************************************
 * function : star vi dev (cfg vi_dev_attr; set_dev_cfg; enable dev)
 *****************************************************************************/
HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode) {
	HI_S32 s32Ret;
	VI_DEV_ATTR_S stViDevAttr;
	memset(&stViDevAttr, 0, sizeof(stViDevAttr));

	switch (enViMode) {
	case SAMPLE_VI_MODE_1_D1:
		memcpy(&stViDevAttr, &DEV_ATTR_BT656D1_1MUX, sizeof(stViDevAttr));
		break;

	case APTINA_AR0130_DC_720P_30FPS:
	case SONY_ICX692_DC_720P_30FPS:
	case SONY_IMX104_DC_720P_30FPS:
	case APTINA_9M034_DC_720P_30FPS:
		memcpy(&stViDevAttr, &DEV_ATTR_AR0130_DC_720P, sizeof(stViDevAttr));
		break;

	case OMNI_OV9712_DC_720P_30FPS:
		memcpy(&stViDevAttr, &DEV_ATTR_OV9712_DC_720P, sizeof(stViDevAttr));
		break;

	case SONY_IMX122_DC_1080P_30FPS:
		memcpy(&stViDevAttr, &DEV_ATTR_IMX122_DC_1080P, sizeof(stViDevAttr));
		break;

	default:
		memcpy(&stViDevAttr, &DEV_ATTR_AR0130_DC_720P, sizeof(stViDevAttr));
	}

	s32Ret = HI_MPI_VI_SetDevAttr(ViDev, &stViDevAttr);
	if (s32Ret != HI_SUCCESS) {
		SAMPLE_PRT("HI_MPI_VI_SetDevAttr failed with %#x!\n", s32Ret);
		return HI_FAILURE;
	}

	s32Ret = HI_MPI_VI_EnableDev(ViDev);
	if (s32Ret != HI_SUCCESS) {
		SAMPLE_PRT("HI_MPI_VI_EnableDev failed with %#x!\n", s32Ret);
		return HI_FAILURE;
	}

	return HI_SUCCESS;
}
Esempio n. 2
0
/*****************************************************************************
* function : star vi dev
*****************************************************************************/
static HI_S32 s32ViStartDev(VI_ATTR_S * pstViAttr)
{
    HI_S32 s32Ret;
    VI_DEV ViDev;
	VI_DEV_ATTR_S * pstViDevAttr;
	
	if (NULL == pstViAttr)
    {
        printf("Func %s() Line[%d], parament is null\n", __FUNCTION__, __LINE__);
        return HI_FAILURE;   
    }

	ViDev = pstViAttr->ViDev;
	pstViDevAttr = pstViAttr->pstViDevAttr;
	
    s32Ret = HI_MPI_VI_SetDevAttr(ViDev, pstViDevAttr);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_SetDevAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
    
    VI_WDR_ATTR_S stWdrAttr;
    stWdrAttr.enWDRMode = pstViAttr ->enWDRMode;
    stWdrAttr.bCompress = HI_FALSE;
    s32Ret = HI_MPI_VI_SetWDRAttr(ViDev, &stWdrAttr);
    if (s32Ret)
    {
        printf("HI_MPI_VI_SetWDRAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
    
    s32Ret = HI_MPI_VI_EnableDev(ViDev);
    if (s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VI_EnableDev failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }
    return HI_SUCCESS;
}
Esempio n. 3
0
/*****************************************************************************
* function : star vi dev (cfg vi_dev_attr; set_dev_cfg; enable dev)
*****************************************************************************/
HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode)
{
    HI_S32 s32Ret;
    VI_DEV_ATTR_S    stViDevAttr;
    memset(&stViDevAttr,0,sizeof(stViDevAttr));

    switch (enViMode)
    {
        case SAMPLE_VI_MODE_1_D1:
		case SAMPLE_VI_MODE_1_D1Cif:
            memcpy(&stViDevAttr,&DEV_ATTR_BT656D1_4MUX,sizeof(stViDevAttr));
            SAMPLE_COMM_VI_SetMask(ViDev,&stViDevAttr);
            break;
        case SAMPLE_VI_MODE_16_D1:
		case SAMPLE_VI_MODE_8_D1:
        case SAMPLE_VI_MODE_4_D1:
        case SAMPLE_VI_MODE_16_Cif:
		case SAMPLE_VI_MODE_16_2Cif:
        case SAMPLE_VI_MODE_8_2Cif:
        case SAMPLE_VI_MODE_8_D1Cif:
		case SAMPLE_VI_MODE_16_D1Cif:
            memcpy(&stViDevAttr,&DEV_ATTR_BT656D1_4MUX,sizeof(stViDevAttr));
            SAMPLE_COMM_VI_SetMask(ViDev,&stViDevAttr);
            break;
        case SAMPLE_VI_MODE_16_960H:
            memcpy(&stViDevAttr,&DEV_ATTR_BT656D1_4MUX,sizeof(stViDevAttr));
            SAMPLE_COMM_VI_SetMask(ViDev,&stViDevAttr);
            break;
        case SAMPLE_VI_MODE_4_720P:
		case SAMPLE_VI_MODE_1_720P:
            memcpy(&stViDevAttr,&DEV_ATTR_7441_BT1120_720P,sizeof(stViDevAttr));
            SAMPLE_COMM_VI_SetMask(ViDev,&stViDevAttr);
            break;
        case SAMPLE_VI_MODE_4_1080P:
        case SAMPLE_VI_MODE_1_1080P:
            memcpy(&stViDevAttr,&DEV_ATTR_7441_BT1120_1080P,sizeof(stViDevAttr));
            SAMPLE_COMM_VI_SetMask(ViDev,&stViDevAttr);
            break;
        default:
            SAMPLE_PRT("vi input type[%d] is invalid!\n", enViMode);
            return HI_FAILURE;
    }

#ifdef DEMO
    stViDevAttr.bDataRev = HI_TRUE;
#else
    stViDevAttr.bDataRev = HI_FALSE;
#endif
    
    s32Ret = HI_MPI_VI_SetDevAttr(ViDev, &stViDevAttr);
    if (s32Ret != HI_SUCCESS)
    {
        SAMPLE_PRT("HI_MPI_VI_SetDevAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

    s32Ret = HI_MPI_VI_EnableDev(ViDev);
    if (s32Ret != HI_SUCCESS)
    {
        SAMPLE_PRT("HI_MPI_VI_EnableDev failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

    return HI_SUCCESS;
}