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

📄 motion_detect.c

📁 ADI的ADSP-BF561下实现多媒体开发的通用框架。
💻 C
字号:
#include <services/services.h>
#include <ezkitutilities.h>
#include <drivers/adi_dev.h>
#include <drivers/adi_ppi.h>
#include "../Buffer.h"
void motion_detect(unsigned char *ref_frame, unsigned char* curr_frame,unsigned int width, unsigned char* curr_out_frame)
{
	unsigned int i,j,k;
	int change=0;
	unsigned int W;
	W=1716;//width-5;
	char temp,temp1,temp2;
	
	for(k=18;k<104;k++)
	{
		change=0;
		for(j=0;j<L2NUMROWS;j++)
		{
			for (i=0;i<48;i+=8)
			{
				if(curr_frame[k*16+j*W+i+1]!=ref_frame[k*16+j*W+i+1])
				change++;
				//temp1=	curr_frame[k*16+j*W+i];
				//temp2=	ref_frame[k*16+j*W+i];
				//temp=temp1^temp2;	
				///	temp=curr_frame[k*16+j*W+i]^ref_frame[k*16+j*W+i];
			/*
				if((curr_frame[k*16+j*W+i+1]^ref_frame[k*16+j*W+i+1])>=0xFC 
				&& (curr_frame[k*16+j*W+i+3]^ref_frame[k*16+j*W+i+3])>=0xFC
				&&(curr_frame[k*16+j*W+i+5]^ref_frame[k*16+j*W+i+5])>=0xFC
				&&(curr_frame[k*16+j*W+i+7]^ref_frame[k*16+j*W+i+7])>=0xFC)
				//if(temp>=0x1F)
				{
					change++;
					curr_out_frame[k*16+j*W+i]=curr_frame[k*16+j*W+i];
					curr_out_frame[k*16+j*W+i+1]=curr_frame[k*16+j*W+i+1];//0x80;
					curr_out_frame[k*16+j*W+i+2]=curr_frame[k*16+j*W+i+2];
					curr_out_frame[k*16+j*W+i+3]=curr_frame[k*16+j*W+i+3];
					curr_out_frame[k*16+j*W+i+4]=curr_frame[k*16+j*W+i+4];
					curr_out_frame[k*16+j*W+i+5]=curr_frame[k*16+j*W+i+5];//0x80;
					curr_out_frame[k*16+j*W+i+6]=curr_frame[k*16+j*W+i+6];
					curr_out_frame[k*16+j*W+i+7]=curr_frame[k*16+j*W+i+7];
					//curr_out_frame[i]=0x10;
				}
				else
				{
					curr_out_frame[k*16+j*W+i]=0x80;
					curr_out_frame[k*16+j*W+i+1]=0x10;
					curr_out_frame[k*16+j*W+i+2]=0x80;
					curr_out_frame[k*16+j*W+i+3]=0x10;
					curr_out_frame[k*16+j*W+i+4]=0x80;
					curr_out_frame[k*16+j*W+i+5]=0x10;
					curr_out_frame[k*16+j*W+i+6]=0x80;
					curr_out_frame[k*16+j*W+i+7]=0x10;
					
				}*/
			//	curr_out_frame[i+1]=0x80;
			}
			
		}
		
		if(change>47)
		{
			for(j=0;j<L2NUMROWS;j++)
			{
				for (i=0;i<16;i++)
				{
					curr_out_frame[k*16+j*W+i]=curr_frame[k*16+j*W+i];
					//curr_out_frame[k*16+j*W+i+1]=curr_frame[k*16+j*W+i+1];//0x80;
				}
			}
			
		}//end of if
		else
		{
			for(j=0;j<L2NUMROWS;j++)
			{
				for (i=0;i<15;i+=2)
				{
					curr_out_frame[k*16+j*W+i+1]=0x10;
					curr_out_frame[k*16+j*W+i]=0x80;
				}
			}
		}//end of else
			
	
	}//end of k
}

⌨️ 快捷键说明

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