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

📄 test_sad16.c

📁 BLACKFIN下 16X16宏块运动估计实例
💻 C
字号:
/*******************************************************************************
文件名      : test_sad16.c
功能描述    : 该模块的功能是测试sad16() 的运行
******************************************************************************/
#include<stdio.h>
#include "sad16.h"
#include "out.h"
///////////////////////////////////////////////////////////////////////
#include <cplb.h>
int __cplb_ctrl = CPLB_ENABLE_ICPLBS|CPLB_ENABLE_DCPLBS |CPLB_ENABLE_ICACHE|CPLB_ENABLE_DCACHE|CPLB_ENABLE_DCACHE2;
///////////////////////////////////////////////////////////////////////    

int error_flag = 0;
void (*f1)();
int cycle_count[10];

void _sad16();

main()
{

    int i,j;
    int w,h,stride;
    int x,y;
//    w = 28;
    w = 352;
//    h = 28;
    h = 288;
//    stride = 36;
    stride = 416;
    x = 12;
    y = 6;
    f1 = _sad16;

//Test case 1
#if 0
    for(i=0;i<36;i++)
    {
        for(j=0;j<36;j++)
        {
        	
            ptr[i*36+j]= 100;
               if((j>15&&j<32)&&(i>9&&i<26))
               {
                ptr[i*36+j]= 3;
               }
        }
    }
    for(i=0;i<16;i++)
    {
        for(j=0;j<16;j++)
        {
               cur[i*16+j]= 125;
        }
    }
#endif
   for(i = 0;i<288;i++)
   {
   	for(j = 0;j<416;j++)
   	{
   		if((j>15&&j<32)&&(i>9&&i<26))
   		{
   			ptr[i*416+j] = 3;
   		}
   	}
   }
    for(i = 0;i<288;i++)
   {
   	for(j = 0;j<416;j++)
   	{
   		if((j>15&&j<32)&&(i>9&&i<26))
   		{
   			cur[i*416+j] = 125;
   		}
   	}
   }
//      cycle_count[0] = Compute_Cycle_Count(&cur,&ptr[148],x,y,w,h,stride,&sad);
                           //该函数的功能是调用sad16
      cycle_count[0] = Compute_Cycle_Count(&cur[4176],&ptr[4176],stride,&sad);
     if(abs(sad-31232) > MAX_PERMISSIBLE_ERROR)
     {
          error_flag = error_flag | 1;
     }

    #ifdef PRINTF_SUPPORT
        if(error_flag & 1)
            printf("Test Case 1 failed\n");
        else
            printf("Test Case 1 passed\n");
    #endif
    
    printf("cycle_count[0]=%d\n",cycle_count[0]);
}

⌨️ 快捷键说明

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