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

📄 adaptive_filter_orig.h

📁 JM 11.0 KTA 2.1 Source Code
💻 H
字号:

#ifdef DIRECTIONAL_FILTER
		
int TwoDEquationPattern_orig[15][SQR_FILTER]  =		// get equation number for symmetric filter coefficients
{
	{ 0,  1,  2,  3,  4,  5,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,        // a_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 0,  1,  2,  2,  1,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,        // b_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 5,  4,  3,  2,  1,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,        // c_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 0,  1,  2,  3,  4,  5,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,        // d_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 0,  1,  2,  3,  4,  5,
	1,  6,  7,  8,  9, 10,
	2,  7, 11, 12, 13, 14,        // e_pos
	3,  8, 12, 15, 16, 17,
	4,  9, 13, 16, 18, 19,
	5, 10, 14, 17, 19, 20	},
	{ 0,  1,  2,  2,  1,  0,
	3,  4,  5,  5,  4,  3,
	6,  7,  8,  8,  7,  6,        // f_pos
	9, 10, 11, 11, 10,  9,
	12, 13, 14, 14, 13, 12,
	15, 16, 17, 17, 16, 15  },
	{ 5,  4,  3,  2,  1,  0,
	10,  9,  8,  7,  6,  1,
	14, 13, 12, 11,  7,  2,        // g_pos
	17, 16, 15, 12,  8,  3,
	19, 18, 16, 13,  9,  4,
	20, 19, 17, 14, 10,  5	},
	{ 0,  1,  2,  2,  1,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,        // h_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 0,  3,  6,  9, 12, 15,
	1,  4,  7, 10, 13, 16,
	2,  5,  8, 11, 14, 17,        // i_pos
	2,  5,  8, 11, 14, 17,
	1,  4,  7, 10, 13, 16,
	0,  3,  6,  9, 12, 15  },
	{ 0,  1,  2,  2,  1,  0,
	1,  3,  4,  4,  3,  1,
	2,  4,  5,  5,  4,  2,   			// j_pos
	2,  4,  5,  5,  4,  2,
	1,  3,  4,  4,  3,  1,
	0,  1,  2,  2,  1,  0  },
	{15, 12,  9,  6,  3,  0,
	16, 13, 10,  7,  4,  1,
	17, 14, 11,  8,  5,  2,   			// k_pos
	17, 14, 11,  8,  5,  2,
	16, 13, 10,  7,  4,  1,
	15, 12,  9,  6,  3,  0  },
	{ 5,  4,  3,  2,  1,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,         // l_pos
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0,
	0,  0,  0,  0,  0,  0  },
	{ 5, 10, 14, 17, 19, 20,
	4,  9, 13, 16, 18, 19,
	3,  8, 12, 15, 16, 17,   			// m_pos
	2,  7, 11, 12, 13, 14,
	1,  6,  7,  8,  9, 10,
	0,  1,  2,  3,  4,  5	},
	{15, 16, 17, 17, 16, 15,
	12, 13, 14, 14, 13, 12,
	9, 10, 11, 11, 10,  9,   			// n_pos
	6,  7,  8,  8,  7,  6,
	3,  4,  5,  5,  4,  3,
	0,  1,  2,  2,  1,  0  },
	{20, 19, 17, 14, 10,  5,
	19, 18, 16, 13,  9,  4,
	17, 16, 15, 12,  8,  3,   			// o_pos
	14, 13, 12, 11,  7,  2,
	10,  9,  8,  7,  6,  1,
	5,  4,  3,  2,  1,  0	}
};

double STANDARD_2D_FILTER_orig[15][SQR_FILTER] = 
{
{ 0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   52.0/64.0  ,   20.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0
}, // a_pos
{ 0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	1.0/32.0  ,   -5.0/32.0  ,   20.0/32.0  ,   20.0/32.0  ,   -5.0/32.0  ,   1.0/32.0  ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0
}, // b_pos
{ 0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   20.0/64.0  ,   52.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    0.0       ,    0.0       ,   0.0
}, // c_pos
{ 0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   52.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   20.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0
}, // d_pos
{ 0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   40.0/64.0  ,   20.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,   20.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0
	}, // e_pos
{ 1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
 52.0/2048.0, -260.0/2048.0, 1040.0/2048.0, 1040.0/2048.0, -260.0/2048.0,  52.0/2048.0,
 20.0/2048.0, -100.0/2048.0,  400.0/2048.0,  400.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
  1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0
}, // f_pos
{ 0.0       ,    0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   20.0/64.0  ,   40.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,    0.0       ,   20.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,   0.0
}, // g_pos
{ 0.0       ,    0.0       ,    1.0/32.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/32.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   20.0/32.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   20.0/32.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/32.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    1.0/32.0  ,    0.0       ,    0.0       ,   0.0
}, // h_pos
{ 1.0/2048.0,   -5.0/2048.0,   52.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -260.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
 20.0/2048.0, -100.0/2048.0, 1040.0/2048.0,  400.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 20.0/2048.0, -100.0/2048.0, 1040.0/2048.0,  400.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -260.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
	1.0/2048.0,   -5.0/2048.0,   52.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0
}, // i_pos
{ 1.0/1024.0,   -5.0/1024.0,   20.0/1024.0,   20.0/1024.0,   -5.0/1024.0,   1.0/1024.0,
 -5.0/1024.0,   25.0/1024.0, -100.0/1024.0, -100.0/1024.0,   25.0/1024.0,  -5.0/1024.0,
 20.0/1024.0, -100.0/1024.0,  400.0/1024.0,  400.0/1024.0, -100.0/1024.0,  20.0/1024.0,
 20.0/1024.0, -100.0/1024.0,  400.0/1024.0,  400.0/1024.0, -100.0/1024.0,  20.0/1024.0,
 -5.0/1024.0,   25.0/1024.0, -100.0/1024.0, -100.0/1024.0,   25.0/1024.0,  -5.0/1024.0,
  1.0/1024.0,   -5.0/1024.0,   20.0/1024.0,   20.0/1024.0,   -5.0/1024.0,   1.0/1024.0
}, // j_pos
{ 1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   52.0/2048.0,   -5.0/2048.0,   1.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -260.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
 20.0/2048.0, -100.0/2048.0,  400.0/2048.0, 1040.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 20.0/2048.0, -100.0/2048.0,  400.0/2048.0, 1040.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -260.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
	1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   52.0/2048.0,   -5.0/2048.0,   1.0/2048.0
}, // i_pos
{ 0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   20.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   52.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0
}, // l_pos
{ 0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,   20.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   40.0/64.0  ,   20.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,   -5.0/64.0  ,    0.0       ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    1.0/64.0  ,    0.0       ,    0.0       ,   0.0
}, // m_pos
{ 1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
 20.0/2048.0, -100.0/2048.0,  400.0/2048.0,  400.0/2048.0, -100.0/2048.0,  20.0/2048.0,
 52.0/2048.0, -260.0/2048.0, 1040.0/2048.0, 1040.0/2048.0, -260.0/2048.0,  52.0/2048.0,
 -5.0/2048.0,   25.0/2048.0, -100.0/2048.0, -100.0/2048.0,   25.0/2048.0,  -5.0/2048.0,
  1.0/2048.0,   -5.0/2048.0,   20.0/2048.0,   20.0/2048.0,   -5.0/2048.0,   1.0/2048.0
}, // n_pos
{ 0.0       ,    0.0       ,    0.0     ,      1.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0     ,     -5.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0     ,     20.0/64.0  ,    0.0       ,   0.0       ,
	1.0/64.0  ,   -5.0/64.0  ,   20.0/64.0,     40.0/64.0  ,   -5.0/64.0  ,   1.0/64.0  ,
	0.0       ,    0.0       ,    0.0     ,     -5.0/64.0  ,    0.0       ,   0.0       ,
	0.0       ,    0.0       ,    0.0     ,      1.0/64.0  ,    0.0       ,   0.0
	} // o_pos
};

int TwoDSymmetricPattern_orig[15][SQR_FILTER]  =		// get one filter from another one, if symmetry properties are used (used e.g. in ExtendFilterCoefficients)
{
	{ 0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		12, 13, 14, 15, 16, 17,        // a_pos  - not used actually
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0  },
	{ 0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		12, 13, 14, 14, 13, 12,        // b_pos
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0  },
	{ 0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		17, 16, 15, 14, 13, 12,        // c_pos
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0,
		0,  0,  0,  0,  0,  0  },
	{ 0,  0, 12,  0,  0,  0,
		0,  0, 13,  0,  0,  0,
		0,  0, 14,  0,  0,  0,        // d_pos
		0,  0, 15,  0,  0,  0,
		0,  0, 16,  0,  0,  0,
		0,  0, 17,  0,  0,  0  },
	{ 0,  1,  2,  3,  4,  5,
		1,  7,  8,  9, 10, 11,
		2,  8, 14, 15, 16, 17,        // e_pos
		3,  9, 15, 21, 22, 23,
		4, 10, 16, 22, 28, 29,
		5, 11, 17, 23, 29, 35  },
	{ 0,  1,  2,  2,  1,  0,
		6,  7,  8,  8,  7,  6,
		12, 13, 14, 14, 13, 12,        // f_pos
		18, 19, 20, 20, 19, 18,
		24, 25, 26, 26, 25, 24,
		30, 31, 32, 32, 31, 30  },
	{ 5,  4,  3,  2,  1,  0,
		11, 10,  9,  8,  7,  1,
		17, 16, 15, 14,  8,  2,        // g_pos
		23, 22, 21, 15,  9,  3,
		29, 28, 22, 16, 10,  4,
		35, 29, 23, 17, 11,  5  },
	{ 0,  0, 12,  0,  0,  0,
		0,  0, 13,  0,  0,  0,
		0,  0, 14,  0,  0,  0,        // h_pos
		0,  0, 14,  0,  0,  0,
		0,  0, 13,  0,  0,  0,
		0,  0, 12,  0,  0,  0  },
	{ 0,  6, 12, 18, 24, 30,
		1,  7, 13, 19, 25, 31,
		2,  8, 14, 20, 26, 32,        // i_pos
		2,  8, 14, 20, 26, 32,
		1,  7, 13, 19, 25, 31,
		0,  6, 12, 18, 24, 30  },
	{ 0,  1,  2,  2,  1,  0,
		1,  7,  8,  8,  7,  1,
		2,  8, 14, 14,  8,  2,   			// j_pos
		2,  8, 14, 14,  8,  2,
		1,  7,  8,  8,  7,  1,
		0,  1,  2,  2,  1,  0  },
	{30, 24, 18, 12,  6,  0,
	 31, 25, 19, 13,  7,  1,
	 32, 26, 20, 14,  8,  2,   			// k_pos
	 32, 26, 20, 14,  8,  2,
	 31, 25, 19, 13,  7,  1,
	 30, 24, 18, 12,  6,  0  },
	{ 0,  0, 17,  0,  0,  0,
		0,  0, 16,  0,  0,  0,
		0,  0, 15,  0,  0,  0,         // l_pos
		0,  0, 14,  0,  0,  0,
		0,  0, 13,  0,  0,  0,
		0,  0, 12,  0,  0,  0  },
	{ 5, 11, 17, 23, 29, 35,
		4, 10, 16, 22, 28, 29,
		3,  9, 15, 21, 22, 23,        // m_pos
		2,  8, 14, 15, 16, 17,
		1,  7,  8,  9, 10, 11,
		0,  1,  2,  3,  4,  5  },
	{30, 31, 32, 32, 31, 30,
   24, 25, 26, 26, 25, 24,
	 18, 19, 20, 20, 19, 18,   			// n_pos
	 12, 13, 14, 14, 13, 12,
	 	6,  7,  8,  8,  7,  6,
		0,  1,  2,  2,  1,  0  },
	{35, 29, 23, 17, 11,  5,
	 29, 28, 22, 16, 10,  4,
	 23, 22, 21, 15,  9,  3,   			// o_pos
	 17, 16, 15, 14,  8,  2,
	 11, 10,  9,  8,  7,  1,
		5,  4,  3,  2,  1,  0	}
};

int SymmetryPosition_orig[15] = {1,1,0,0,1,1,0,0,0,1,0,0,0,0,0};	// if 0, the position is copied from another one
int Is1DPosition_orig[15] = {1,1,1,1,0,0,0,1,0,0,0,1,0,0,0}; // if 0, the position is a 2D one
int IsDiagonal1D_orig[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // if 1, the filter alighned NW-SE, 2 - NE-SW

//int POS_EQUATION_NUMBER_orig[15] =  {6,3,6,6,18, 6, 3,18, 6,18, 6,6,18,6};
int POS_EQUATION_NUMBER_orig[15] =  {    6,3,6,
									6,21,18,21,
									3, 18,6,18,
									6,21,18,21 };

int FILTER_NEW_SUB_POS_orig[15] = {       a_pos, b_pos, a_pos,
	a_pos, e_pos, f_pos, e_pos,
	b_pos, f_pos, j_pos, f_pos,
	a_pos, e_pos, f_pos, e_pos };


#endif

⌨️ 快捷键说明

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