public void doFilter(INyARRgbRaster i_input, NyARBinRaster i_output) { //INyARBufferReader in_buffer_reader = i_input.getBufferReader(); //INyARBufferReader out_buffer_reader = i_output.getBufferReader(); int in_buf_type = i_input.getBufferType(); NyARIntSize size = i_output.getSize(); Debug.Assert(i_output.isEqualBufferType(NyARBufferType.INT2D_BIN_8)); Debug.Assert(checkInputType(in_buf_type) == true); Debug.Assert(i_input.getSize().isEqualSize(size.w * 2, size.h * 2) == true); int[][] out_buf = (int[][])i_output.getBuffer(); switch (i_input.getBufferType()) { case NyARBufferType.BYTE1D_B8G8R8_24: case NyARBufferType.BYTE1D_R8G8B8_24: convert24BitRgb((byte[])i_input.getBuffer(), out_buf, size); break; case NyARBufferType.BYTE1D_B8G8R8X8_32: convert32BitRgbx((byte[])i_input.getBuffer(), out_buf, size); break; case NyARBufferType.WORD1D_R5G6B5_16LE: convert16BitRgb565word((short[])i_input.getBuffer(), out_buf, size); break; default: throw new NyARException(); } return; }