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

📄 memc_test.c

📁 三星s3c2460开发板完整功能测试代码
💻 C
字号:
/******************************************************************************

 Filename:	memc_test.c

 Descriptions		 
 - MPEG4 MC block routines

 History
 -19.Dec.2003
  draft
 
 Copyright (c) 2003 SAMSUNG Electronics.
 # However, Anybody can use this code without our permission.  

 ******************************************************************************/



#include "2460addr.h"
#include "fim20_def.h"
#include "mc_test.h"
#include "me_test.h"
#include "memc_test.h"


#if (FIMVTEST_IMAGE_SIZE==QCIF)
#define FIMV_IMAGE_WIDTH		(176)
#define FIMV_IMAGE_HEIGHT		(144)
#define FIMV_DISPLAY_IMAGE_WIDTH	(176+32)
#define FIMV_DISPLAY_IMAGE_HEIGHT	(144+32)
#define TEST_PREV_IMAGE 		((unsigned int)image_a1p)
#define TEST_CURR_IMAGE 		((unsigned int)image_a2)  

#elif (FIMVTEST_IMAGE_SIZE==CIF)
#define FIMV_IMAGE_WIDTH		(352)
#define FIMV_IMAGE_HEIGHT		(288)
#define FIMV_DISPLAY_IMAGE_WIDTH	(240)
#define FIMV_DISPLAY_IMAGE_HEIGHT	(196)
#define TEST_PREV_IMAGE 		((unsigned int)image_b1p)
#define TEST_CURR_IMAGE 		((unsigned int)image_b2)  

#elif (FIMVTEST_IMAGE_SIZE==VGA)
#define FIMV_IMAGE_WIDTH		(640)
#define FIMV_IMAGE_HEIGHT		(480)
#define FIMV_DISPLAY_IMAGE_WIDTH	(240)
#define FIMV_DISPLAY_IMAGE_HEIGHT	(180)
#define TEST_PREV_IMAGE 		((unsigned int)image_c1p)  
#define TEST_CURR_IMAGE 		((unsigned int)image_c2)  
#endif

#define FIMV_MBLK_NUM			((FIMV_IMAGE_WIDTH/16)*(FIMV_IMAGE_HEIGHT/16))


#if (FIMVTEST_IMAGE_SIZE==QCIF)
extern const unsigned char image_a1p[];
extern const unsigned char image_a2[];
#endif	  

#if (FIMVTEST_IMAGE_SIZE==CIF)
extern const unsigned char image_b1p[];
extern const unsigned char image_b2[];
#endif

#if (FIMVTEST_IMAGE_SIZE==VGA)
extern unsigned char image_c1p[];
extern const unsigned char image_c2[];
#endif	  





static ME_VECTOR meVector[(FIMV_IMAGE_WIDTH/16)*(FIMV_IMAGE_HEIGHT/16)];

void TestMeMc(void)
{
    	IMAGE420 currImage;  //no-padded image YCbCr420
    	IMAGE420 prevImage;  //padded image YCbCr420 
    	IMAGE420 mcedImage;  //padded image YCbCr420
    	
    
    	unsigned int imageWidth=FIMV_IMAGE_WIDTH;  
    	unsigned int imageHeight=FIMV_IMAGE_HEIGHT; 
    
    	unsigned int freeBufStartAddr=_NONCACHE_STARTADDRESS; 

   	 int i;
	
  
    
    //currImage has already been in the read-only area.
    	AllocImage420(&currImage,TEST_CURR_IMAGE,imageWidth,imageHeight,IMAGE420_NO_PADDED);
    
    	printf("currImage addr(read only): %x\n",TEST_CURR_IMAGE);
    	//printf("The picture is the currImage. Press any key!\n");
    	//getchar();
    
    
    	//previous mcedImage has already been in the read-only area.
    	AllocImage420(&prevImage,TEST_PREV_IMAGE,imageWidth,imageHeight,IMAGE420_PADDED);

    
    	printf("prevImage addr(read only): %x\n",TEST_PREV_IMAGE);     
    	//printf("The picture is the prevImage. Press any key!\n");
    	//getchar();
   

    	//mcedImage is used for MC output.
	printf("mced Image addr(read only): %x\n",freeBufStartAddr);     
	freeBufStartAddr=
	AllocImage420(&mcedImage,freeBufStartAddr,imageWidth,imageHeight,
    		      IMAGE420_PADDED);
	
	
    	MeInitIsr();
    	McInitIsr();
#if ME_MC_GOB_OPERATION   
    	for(i=0;i<(imageHeight/16);i++)
    	{
		//Timer_Start(0);
		MeEngineGob(&currImage,&prevImage,meVector,(imageWidth/16),
		    	((i==0)? ME_FRAME_START_MODE : 0));
		while(meDone==0);
		//printf("ME(gob=%d) completed,",i);

		
		//Timer_Start(0);
		McEngineGob(&prevImage,&mcedImage,meVector,(imageWidth/16),
		    	((i==0)? MC_FRAME_START_MODE : 0));
        	while(mcDone==0);
        	//printf("MC(gob=%d) completed.\n",i);
    	}
#else
	//mtimer_start();
    	MeEngine(&currImage,&prevImage,meVector,0);

    	//printf("Wait until M.E. is completed.\n");
    	while(meDone==0);
    	printf("M.E. is completed!\n");
	//Uart_TxEmpty(0);
	//mtimer_start();
    	McEngine(&prevImage,&mcedImage,meVector,0);

    	//printf("Wait until M.C. is completed.\n");
    	while(mcDone==0);
    	printf("M.C. is completed!\n");
#endif

    
    	//printf("The picture is the mcedImage. Press any key!\n");
    	getchar();
}	 

    

⌨️ 快捷键说明

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