xy--;\r
} \r
} \r
+ }\r
+ \r
+ class doThFilterImpl_BUFFERFORMAT_WORD1D_R5G6B5_16LE implements IdoThFilterImpl\r
+ {\r
+ public void doThFilter(INyARBufferReader i_input, INyARBufferReader i_output,NyARIntSize i_size,int i_threshold)\r
+ {\r
+ int[] out_buf = (int[]) i_output.getBuffer();\r
+ short[] in_buf = (short[]) i_input.getBuffer();\r
+ \r
+ final int th=i_threshold*3;\r
+ int w;\r
+ int xy;\r
+ final int pix_count =i_size.h*i_size.w;\r
+ final int pix_mod_part=pix_count-(pix_count%8);\r
+\r
+ for(xy=pix_count-1;xy>=pix_mod_part;xy--){ \r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ }\r
+ //タイリング\r
+ for (;xy>=0;) {\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ w =(int)in_buf[xy];\r
+ w = ((w & 0xf800) >> 8) + ((w & 0x07e0) >> 3) + ((w & 0x001f) << 3);\r
+ out_buf[xy] = w <= th ? 0 : 1;\r
+ xy--;\r
+ }\r
+ } \r
} \r
+ \r
+ \r
+ \r
+ \r
+\r
+ \r
+ \r
+ \r
+ \r
private int _threshold;\r
private IdoThFilterImpl _do_threshold_impl;\r
\r
case INyARBufferReader.BUFFERFORMAT_INT1D_X8R8G8B8_32:\r
this._do_threshold_impl=new doThFilterImpl_BUFFERFORMAT_INT1D_X8R8G8B8_32();\r
break;\r
- \r
+ case INyARBufferReader.BUFFERFORMAT_WORD1D_R5G6B5_16LE:\r
+ this._do_threshold_impl=new doThFilterImpl_BUFFERFORMAT_WORD1D_R5G6B5_16LE();\r
+ break;\r
default:\r
throw new NyARException();\r
}\r