public static void h264_qpel_mc12_c(int opcode, int size, byte[] dst_base, int dst_offset, byte[] src_base, int src_offset, int stride)
{
byte[] full = new byte[size * (size + 5)];
int full_mid = size * 2;
short[] tmp = new short[size * (size + 5)];
byte[] halfV = new byte[size * size];
byte[] halfHV = new byte[size * size];
copy_block(size, full, 0, src_base, src_offset - stride * 2, size, stride, size + 5);
h264_qpel_v_lowpass(0, size, halfV, 0, full, full_mid, size, size);
h264_qpel_hv_lowpass(0, size, halfHV, 0, tmp, 0, src_base, src_offset, size, size, stride);
// DebugTool.printDebugString("halfV:");
for (int i = 0; i < halfV.Length; i++)
{
// DebugTool.printDebugString(","+halfV[i]);
}
// DebugTool.printDebugString("\n");
// DebugTool.printDebugString("halfHV:");
for (int i = 0; i < halfHV.Length; i++)
{
// DebugTool.printDebugString(","+halfHV[i]);
}
// DebugTool.printDebugString("\n");
pixels_l2(opcode, size, dst_base, dst_offset, halfV, 0, halfHV, 0, stride, size, size, size);
}