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

📄 system1.c

📁 ZPAV (H265) DM64XX(TI) demo ZPAV (H265) 是 音视频 压缩解压 协议
💻 C
字号:

/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen  (pengzhenxp@yahoo.com.cn)  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/

void AiAo_Test() ;
void ViVo_Test() ;

void SystemTest()
{
	/* Mutex */ 
	LCK_init(); 

	/* Yuv420 to RGB */
	m_dvp_pack_yuv420 = dvp_pack_yuv420( MPV_CSP_YUY2 ) ; 
	//m_dvp_pack_yuv420 = dvp_pack_yuv420( MPV_CSP_YVYU ) ; 

//	m_dvp_pack_yuv420 = dvp_pack_yuv420( MPV_CSP_RGB555 ) ; /* ADV7123_IFMT_RGB555 */
//	m_dvp_pack_yuv420 = dvp_pack_yuv420( MPV_CSP_RGB565 ) ; /* ADV7123_IFMT_RGB565 */

	m_dvp_de_interlace = dvp_de_interlace ( MEDIAN_DEINT_FILTER ) ;  /* DeInterlace */


#ifdef __AI_AO__
	TaskCreate( AiAo_Test, "AT", OS_TASKPRINORM, 4*1024, 0, 0, 0 );
#endif /* __AI_AO__ */

#ifdef __VI_VO__
	TaskCreate( ViVo_Test, "VT", OS_TASKPRINORM, 4*1024, 0, 0, 0 );
#endif /* __VI_VO__ */

}

void AiAo_Test()
{
	printf( "\n Test Audio In & Out (pengzhenxp@yahoo.com.cn) \n " );
}

static inline dma_copy_test( FVID_Frame *src, FVID_Frame *dst ) ;

void ViVo_Test()
{
	
	FVID_Frame *capFrameBuf; 
	FVID_Frame *disFrameBuf;
	
	printf( "\n Test Video In & Out (pengzhenxp@yahoo.com.cn) \n " );

	FVID_alloc(m_hVi, &capFrameBuf);
	FVID_alloc(m_hVo, &disFrameBuf);

	while(1)
    {

		//CACHE_clean(CACHE_L2ALL, 0, 0);

#if 1 
		m_dvp_pack_yuv420( capFrameBuf->frame.iFrm.y1, image_width,
				           capFrameBuf->frame.iFrm.cb1, 
				           capFrameBuf->frame.iFrm.cr1, (image_width>>1),
				           disFrameBuf->frame.pFrm.y, 
						   image_width, image_height, (image_width<<1) ) ;

#else

#if 1
		m_dvp_de_interlace( disFrameBuf->frame.pFrm.y, image_width,
		                    capFrameBuf->frame.pFrm.y, image_width, image_width, image_height ) ;
#else 
		dma_copy_test( capFrameBuf, disFrameBuf ) ;
#endif /* 1 */

#endif /* 1 */

		/* Get a new frame from the capture driver */      
        FVID_exchange(m_hVi, &capFrameBuf);
		/* Get a new buffer from the display driver */
        FVID_exchange(m_hVo, &disFrameBuf);

    } /* while(1) */

}


static inline dma_copy_test( FVID_Frame *src, FVID_Frame *dst )
{

	int width  = image_width ;
	int height = image_height ;
	int stride = image_width ; 

	DAT_wait( DAT_copy2d( DAT_2D2D,
                          (void*) ( src->frame.pFrm.y ), 
                          (void*) ( dst->frame.pFrm.y ),
                          width, height, stride) ) ;

/*
	width >>=1 ; stride >>=1 ; 

	DAT_wait( DAT_copy2d( DAT_2D2D,
                          (void*) ( src->frame.pFrm.cb ), 
                          (void*) ( dst->frame.pFrm.cb ),
                          width, height, stride) ) ;

	DAT_wait( DAT_copy2d( DAT_2D2D,
                          (void*) ( src->frame.pFrm.cr ), 
                          (void*) ( dst->frame.pFrm.cr ),
                          width, height, stride) ) ;

*/

}

⌨️ 快捷键说明

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