/*
 * main.c
 */
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include "Profile.h"


#define height 62
#define width 62
#define L 256

int smooth( int c_input[height][width],int c_output[height][width],int ker[3][3])
{
	int i,j,res;
	int buff[height+2][width+2];
	for(i=0;i<(height+2);i++)
	{
		for(j=0;j<(width+2);j++)
		{
			buff[i][j]=0;
		}
	}
	for(i=0;i<height;i++)
	{
		for(j=0;j<width;j++)
		{
			buff[i+1][j+1]=(c_input[i][j]);
		}
	}

	for(i=0;i<height;i++)
    {
    	for(j=0;j<width;j++)
    	{
    		res=0;
    		res+=buff[i][j]*ker[0][0];
    		res+=buff[i][j+1]*ker[0][1];
    		res+=buff[i][j+2]*ker[0][2];
    		res+=buff[i+1][j]*ker[1][0];
    		res+=buff[i+1][j+1]*ker[1][1];
    		res+=buff[i+1][j+2]*ker[1][2];
    		res+=buff[i+2][j]*ker[2][0];
    		res+=buff[i+2][j+1]*ker[2][1];
    		res+=buff[i+2][j+2]*ker[2][2];
            c_output[i][j]=res/9;
    	}
    }
    return 0;
}

void taskMain(void)
{
	init_Profile();
	Start_Profile(test);
	int c_input[height][width];

	sint16 n_input[height][width];
	int val=1;
	for(i=0;i<height;i++)
	{
		for(j=0;j<width;j++)
		{
			c_input[i][j]=val;
			n_input[i][j]=val;
			val=val+1;
		}
	}
	int ker[3][3]={
			{1,1,1},
			{1,1,1},
			{1,1,1}};
	int  c_output[height][width];
	smooth( c_input,c_output,ker);
	End_Profile(test);
}



int main(void)
{
	BIOS_start();
	return 0;
}
