Leptonica 1.68
C Image Processing Library
|
00001 /*====================================================================* 00002 - Copyright (C) 2001 Leptonica. All rights reserved. 00003 - This software is distributed in the hope that it will be 00004 - useful, but with NO WARRANTY OF ANY KIND. 00005 - No author or distributor accepts responsibility to anyone for the 00006 - consequences of using this software, or for whether it serves any 00007 - particular purpose or works at all, unless he or she says so in 00008 - writing. Everyone is granted permission to copy, modify and 00009 - redistribute this source code, for commercial or non-commercial 00010 - purposes, with the following restrictions: (1) the origin of this 00011 - source code must not be misrepresented; (2) modified versions must 00012 - be plainly marked as such; and (3) this notice may not be removed 00013 - or altered from any source or modified source distribution. 00014 *====================================================================*/ 00015 00016 /*! 00017 * Low-level fast binary morphology with auto-generated sels 00018 * 00019 * Dispatcher: 00020 * l_int32 fmorphopgen_low_3() 00021 * 00022 * Static Low-level: 00023 * void fdilate_3_*() 00024 * void ferode_3_*() 00025 */ 00026 00027 #include "allheaders.h" 00028 00029 static void fdilate_3_0(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00030 static void ferode_3_0(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00031 static void fdilate_3_1(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00032 static void ferode_3_1(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00033 static void fdilate_3_2(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00034 static void ferode_3_2(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00035 static void fdilate_3_3(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00036 static void ferode_3_3(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00037 static void fdilate_3_4(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00038 static void ferode_3_4(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00039 static void fdilate_3_5(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00040 static void ferode_3_5(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00041 static void fdilate_3_6(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00042 static void ferode_3_6(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00043 static void fdilate_3_7(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00044 static void ferode_3_7(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00045 static void fdilate_3_8(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00046 static void ferode_3_8(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00047 static void fdilate_3_9(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00048 static void ferode_3_9(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00049 static void fdilate_3_10(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00050 static void ferode_3_10(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00051 static void fdilate_3_11(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00052 static void ferode_3_11(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00053 static void fdilate_3_12(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00054 static void ferode_3_12(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00055 static void fdilate_3_13(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00056 static void ferode_3_13(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00057 static void fdilate_3_14(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00058 static void ferode_3_14(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00059 static void fdilate_3_15(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00060 static void ferode_3_15(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00061 static void fdilate_3_16(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00062 static void ferode_3_16(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00063 static void fdilate_3_17(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00064 static void ferode_3_17(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00065 static void fdilate_3_18(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00066 static void ferode_3_18(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00067 static void fdilate_3_19(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00068 static void ferode_3_19(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00069 static void fdilate_3_20(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00070 static void ferode_3_20(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00071 static void fdilate_3_21(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00072 static void ferode_3_21(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00073 static void fdilate_3_22(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00074 static void ferode_3_22(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00075 static void fdilate_3_23(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00076 static void ferode_3_23(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00077 static void fdilate_3_24(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00078 static void ferode_3_24(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00079 static void fdilate_3_25(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00080 static void ferode_3_25(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00081 static void fdilate_3_26(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00082 static void ferode_3_26(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00083 static void fdilate_3_27(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00084 static void ferode_3_27(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00085 static void fdilate_3_28(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00086 static void ferode_3_28(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00087 static void fdilate_3_29(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00088 static void ferode_3_29(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00089 static void fdilate_3_30(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00090 static void ferode_3_30(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00091 static void fdilate_3_31(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00092 static void ferode_3_31(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00093 static void fdilate_3_32(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00094 static void ferode_3_32(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00095 static void fdilate_3_33(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00096 static void ferode_3_33(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00097 static void fdilate_3_34(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00098 static void ferode_3_34(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00099 static void fdilate_3_35(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00100 static void ferode_3_35(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00101 static void fdilate_3_36(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00102 static void ferode_3_36(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00103 static void fdilate_3_37(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00104 static void ferode_3_37(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00105 static void fdilate_3_38(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00106 static void ferode_3_38(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00107 static void fdilate_3_39(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00108 static void ferode_3_39(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00109 static void fdilate_3_40(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00110 static void ferode_3_40(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00111 static void fdilate_3_41(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00112 static void ferode_3_41(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00113 static void fdilate_3_42(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00114 static void ferode_3_42(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00115 static void fdilate_3_43(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00116 static void ferode_3_43(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00117 static void fdilate_3_44(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00118 static void ferode_3_44(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00119 static void fdilate_3_45(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00120 static void ferode_3_45(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00121 static void fdilate_3_46(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00122 static void ferode_3_46(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00123 static void fdilate_3_47(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00124 static void ferode_3_47(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00125 static void fdilate_3_48(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00126 static void ferode_3_48(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00127 static void fdilate_3_49(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00128 static void ferode_3_49(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00129 static void fdilate_3_50(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00130 static void ferode_3_50(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00131 static void fdilate_3_51(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00132 static void ferode_3_51(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00133 static void fdilate_3_52(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00134 static void ferode_3_52(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00135 static void fdilate_3_53(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00136 static void ferode_3_53(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00137 static void fdilate_3_54(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00138 static void ferode_3_54(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00139 static void fdilate_3_55(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00140 static void ferode_3_55(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00141 static void fdilate_3_56(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00142 static void ferode_3_56(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00143 static void fdilate_3_57(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00144 static void ferode_3_57(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00145 static void fdilate_3_58(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00146 static void ferode_3_58(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00147 static void fdilate_3_59(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00148 static void ferode_3_59(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00149 static void fdilate_3_60(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00150 static void ferode_3_60(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00151 static void fdilate_3_61(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00152 static void ferode_3_61(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00153 static void fdilate_3_62(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00154 static void ferode_3_62(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00155 static void fdilate_3_63(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00156 static void ferode_3_63(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00157 static void fdilate_3_64(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00158 static void ferode_3_64(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00159 static void fdilate_3_65(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00160 static void ferode_3_65(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00161 static void fdilate_3_66(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00162 static void ferode_3_66(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00163 static void fdilate_3_67(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00164 static void ferode_3_67(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00165 static void fdilate_3_68(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00166 static void ferode_3_68(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00167 static void fdilate_3_69(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00168 static void ferode_3_69(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00169 static void fdilate_3_70(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00170 static void ferode_3_70(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00171 static void fdilate_3_71(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00172 static void ferode_3_71(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00173 static void fdilate_3_72(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00174 static void ferode_3_72(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00175 static void fdilate_3_73(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00176 static void ferode_3_73(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00177 static void fdilate_3_74(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00178 static void ferode_3_74(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00179 static void fdilate_3_75(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00180 static void ferode_3_75(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00181 static void fdilate_3_76(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00182 static void ferode_3_76(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00183 static void fdilate_3_77(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00184 static void ferode_3_77(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00185 static void fdilate_3_78(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00186 static void ferode_3_78(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00187 static void fdilate_3_79(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00188 static void ferode_3_79(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00189 static void fdilate_3_80(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00190 static void ferode_3_80(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00191 static void fdilate_3_81(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00192 static void ferode_3_81(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00193 static void fdilate_3_82(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00194 static void ferode_3_82(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00195 static void fdilate_3_83(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00196 static void ferode_3_83(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00197 static void fdilate_3_84(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00198 static void ferode_3_84(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00199 static void fdilate_3_85(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00200 static void ferode_3_85(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00201 static void fdilate_3_86(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00202 static void ferode_3_86(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00203 static void fdilate_3_87(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00204 static void ferode_3_87(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00205 static void fdilate_3_88(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00206 static void ferode_3_88(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00207 static void fdilate_3_89(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00208 static void ferode_3_89(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00209 static void fdilate_3_90(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00210 static void ferode_3_90(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00211 static void fdilate_3_91(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00212 static void ferode_3_91(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00213 static void fdilate_3_92(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00214 static void ferode_3_92(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00215 static void fdilate_3_93(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00216 static void ferode_3_93(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00217 static void fdilate_3_94(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00218 static void ferode_3_94(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00219 static void fdilate_3_95(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00220 static void ferode_3_95(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00221 static void fdilate_3_96(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00222 static void ferode_3_96(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00223 static void fdilate_3_97(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00224 static void ferode_3_97(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00225 static void fdilate_3_98(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00226 static void ferode_3_98(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00227 static void fdilate_3_99(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00228 static void ferode_3_99(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00229 static void fdilate_3_100(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00230 static void ferode_3_100(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00231 static void fdilate_3_101(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00232 static void ferode_3_101(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00233 static void fdilate_3_102(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00234 static void ferode_3_102(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00235 static void fdilate_3_103(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00236 static void ferode_3_103(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00237 static void fdilate_3_104(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00238 static void ferode_3_104(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00239 static void fdilate_3_105(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00240 static void ferode_3_105(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00241 static void fdilate_3_106(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00242 static void ferode_3_106(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00243 static void fdilate_3_107(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00244 static void ferode_3_107(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00245 static void fdilate_3_108(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00246 static void ferode_3_108(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00247 static void fdilate_3_109(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00248 static void ferode_3_109(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00249 static void fdilate_3_110(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00250 static void ferode_3_110(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00251 static void fdilate_3_111(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00252 static void ferode_3_111(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00253 static void fdilate_3_112(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00254 static void ferode_3_112(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00255 static void fdilate_3_113(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00256 static void ferode_3_113(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00257 static void fdilate_3_114(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00258 static void ferode_3_114(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00259 static void fdilate_3_115(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00260 static void ferode_3_115(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00261 static void fdilate_3_116(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00262 static void ferode_3_116(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00263 static void fdilate_3_117(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00264 static void ferode_3_117(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00265 static void fdilate_3_118(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00266 static void ferode_3_118(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00267 static void fdilate_3_119(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00268 static void ferode_3_119(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00269 static void fdilate_3_120(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00270 static void ferode_3_120(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00271 static void fdilate_3_121(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00272 static void ferode_3_121(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00273 static void fdilate_3_122(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00274 static void ferode_3_122(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00275 static void fdilate_3_123(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00276 static void ferode_3_123(l_uint32 *, l_int32, l_int32, l_int32, l_uint32 *, l_int32); 00277 00278 00279 /*---------------------------------------------------------------------* 00280 * Fast morph dispatcher * 00281 *---------------------------------------------------------------------*/ 00282 /*! 00283 * fmorphopgen_low_3() 00284 * 00285 * a dispatcher to appropriate low-level code 00286 */ 00287 l_int32 00288 fmorphopgen_low_3(l_uint32 *datad, 00289 l_int32 w, 00290 l_int32 h, 00291 l_int32 wpld, 00292 l_uint32 *datas, 00293 l_int32 wpls, 00294 l_int32 index) 00295 { 00296 00297 switch (index) 00298 { 00299 case 0: 00300 fdilate_3_0(datad, w, h, wpld, datas, wpls); 00301 break; 00302 case 1: 00303 ferode_3_0(datad, w, h, wpld, datas, wpls); 00304 break; 00305 case 2: 00306 fdilate_3_1(datad, w, h, wpld, datas, wpls); 00307 break; 00308 case 3: 00309 ferode_3_1(datad, w, h, wpld, datas, wpls); 00310 break; 00311 case 4: 00312 fdilate_3_2(datad, w, h, wpld, datas, wpls); 00313 break; 00314 case 5: 00315 ferode_3_2(datad, w, h, wpld, datas, wpls); 00316 break; 00317 case 6: 00318 fdilate_3_3(datad, w, h, wpld, datas, wpls); 00319 break; 00320 case 7: 00321 ferode_3_3(datad, w, h, wpld, datas, wpls); 00322 break; 00323 case 8: 00324 fdilate_3_4(datad, w, h, wpld, datas, wpls); 00325 break; 00326 case 9: 00327 ferode_3_4(datad, w, h, wpld, datas, wpls); 00328 break; 00329 case 10: 00330 fdilate_3_5(datad, w, h, wpld, datas, wpls); 00331 break; 00332 case 11: 00333 ferode_3_5(datad, w, h, wpld, datas, wpls); 00334 break; 00335 case 12: 00336 fdilate_3_6(datad, w, h, wpld, datas, wpls); 00337 break; 00338 case 13: 00339 ferode_3_6(datad, w, h, wpld, datas, wpls); 00340 break; 00341 case 14: 00342 fdilate_3_7(datad, w, h, wpld, datas, wpls); 00343 break; 00344 case 15: 00345 ferode_3_7(datad, w, h, wpld, datas, wpls); 00346 break; 00347 case 16: 00348 fdilate_3_8(datad, w, h, wpld, datas, wpls); 00349 break; 00350 case 17: 00351 ferode_3_8(datad, w, h, wpld, datas, wpls); 00352 break; 00353 case 18: 00354 fdilate_3_9(datad, w, h, wpld, datas, wpls); 00355 break; 00356 case 19: 00357 ferode_3_9(datad, w, h, wpld, datas, wpls); 00358 break; 00359 case 20: 00360 fdilate_3_10(datad, w, h, wpld, datas, wpls); 00361 break; 00362 case 21: 00363 ferode_3_10(datad, w, h, wpld, datas, wpls); 00364 break; 00365 case 22: 00366 fdilate_3_11(datad, w, h, wpld, datas, wpls); 00367 break; 00368 case 23: 00369 ferode_3_11(datad, w, h, wpld, datas, wpls); 00370 break; 00371 case 24: 00372 fdilate_3_12(datad, w, h, wpld, datas, wpls); 00373 break; 00374 case 25: 00375 ferode_3_12(datad, w, h, wpld, datas, wpls); 00376 break; 00377 case 26: 00378 fdilate_3_13(datad, w, h, wpld, datas, wpls); 00379 break; 00380 case 27: 00381 ferode_3_13(datad, w, h, wpld, datas, wpls); 00382 break; 00383 case 28: 00384 fdilate_3_14(datad, w, h, wpld, datas, wpls); 00385 break; 00386 case 29: 00387 ferode_3_14(datad, w, h, wpld, datas, wpls); 00388 break; 00389 case 30: 00390 fdilate_3_15(datad, w, h, wpld, datas, wpls); 00391 break; 00392 case 31: 00393 ferode_3_15(datad, w, h, wpld, datas, wpls); 00394 break; 00395 case 32: 00396 fdilate_3_16(datad, w, h, wpld, datas, wpls); 00397 break; 00398 case 33: 00399 ferode_3_16(datad, w, h, wpld, datas, wpls); 00400 break; 00401 case 34: 00402 fdilate_3_17(datad, w, h, wpld, datas, wpls); 00403 break; 00404 case 35: 00405 ferode_3_17(datad, w, h, wpld, datas, wpls); 00406 break; 00407 case 36: 00408 fdilate_3_18(datad, w, h, wpld, datas, wpls); 00409 break; 00410 case 37: 00411 ferode_3_18(datad, w, h, wpld, datas, wpls); 00412 break; 00413 case 38: 00414 fdilate_3_19(datad, w, h, wpld, datas, wpls); 00415 break; 00416 case 39: 00417 ferode_3_19(datad, w, h, wpld, datas, wpls); 00418 break; 00419 case 40: 00420 fdilate_3_20(datad, w, h, wpld, datas, wpls); 00421 break; 00422 case 41: 00423 ferode_3_20(datad, w, h, wpld, datas, wpls); 00424 break; 00425 case 42: 00426 fdilate_3_21(datad, w, h, wpld, datas, wpls); 00427 break; 00428 case 43: 00429 ferode_3_21(datad, w, h, wpld, datas, wpls); 00430 break; 00431 case 44: 00432 fdilate_3_22(datad, w, h, wpld, datas, wpls); 00433 break; 00434 case 45: 00435 ferode_3_22(datad, w, h, wpld, datas, wpls); 00436 break; 00437 case 46: 00438 fdilate_3_23(datad, w, h, wpld, datas, wpls); 00439 break; 00440 case 47: 00441 ferode_3_23(datad, w, h, wpld, datas, wpls); 00442 break; 00443 case 48: 00444 fdilate_3_24(datad, w, h, wpld, datas, wpls); 00445 break; 00446 case 49: 00447 ferode_3_24(datad, w, h, wpld, datas, wpls); 00448 break; 00449 case 50: 00450 fdilate_3_25(datad, w, h, wpld, datas, wpls); 00451 break; 00452 case 51: 00453 ferode_3_25(datad, w, h, wpld, datas, wpls); 00454 break; 00455 case 52: 00456 fdilate_3_26(datad, w, h, wpld, datas, wpls); 00457 break; 00458 case 53: 00459 ferode_3_26(datad, w, h, wpld, datas, wpls); 00460 break; 00461 case 54: 00462 fdilate_3_27(datad, w, h, wpld, datas, wpls); 00463 break; 00464 case 55: 00465 ferode_3_27(datad, w, h, wpld, datas, wpls); 00466 break; 00467 case 56: 00468 fdilate_3_28(datad, w, h, wpld, datas, wpls); 00469 break; 00470 case 57: 00471 ferode_3_28(datad, w, h, wpld, datas, wpls); 00472 break; 00473 case 58: 00474 fdilate_3_29(datad, w, h, wpld, datas, wpls); 00475 break; 00476 case 59: 00477 ferode_3_29(datad, w, h, wpld, datas, wpls); 00478 break; 00479 case 60: 00480 fdilate_3_30(datad, w, h, wpld, datas, wpls); 00481 break; 00482 case 61: 00483 ferode_3_30(datad, w, h, wpld, datas, wpls); 00484 break; 00485 case 62: 00486 fdilate_3_31(datad, w, h, wpld, datas, wpls); 00487 break; 00488 case 63: 00489 ferode_3_31(datad, w, h, wpld, datas, wpls); 00490 break; 00491 case 64: 00492 fdilate_3_32(datad, w, h, wpld, datas, wpls); 00493 break; 00494 case 65: 00495 ferode_3_32(datad, w, h, wpld, datas, wpls); 00496 break; 00497 case 66: 00498 fdilate_3_33(datad, w, h, wpld, datas, wpls); 00499 break; 00500 case 67: 00501 ferode_3_33(datad, w, h, wpld, datas, wpls); 00502 break; 00503 case 68: 00504 fdilate_3_34(datad, w, h, wpld, datas, wpls); 00505 break; 00506 case 69: 00507 ferode_3_34(datad, w, h, wpld, datas, wpls); 00508 break; 00509 case 70: 00510 fdilate_3_35(datad, w, h, wpld, datas, wpls); 00511 break; 00512 case 71: 00513 ferode_3_35(datad, w, h, wpld, datas, wpls); 00514 break; 00515 case 72: 00516 fdilate_3_36(datad, w, h, wpld, datas, wpls); 00517 break; 00518 case 73: 00519 ferode_3_36(datad, w, h, wpld, datas, wpls); 00520 break; 00521 case 74: 00522 fdilate_3_37(datad, w, h, wpld, datas, wpls); 00523 break; 00524 case 75: 00525 ferode_3_37(datad, w, h, wpld, datas, wpls); 00526 break; 00527 case 76: 00528 fdilate_3_38(datad, w, h, wpld, datas, wpls); 00529 break; 00530 case 77: 00531 ferode_3_38(datad, w, h, wpld, datas, wpls); 00532 break; 00533 case 78: 00534 fdilate_3_39(datad, w, h, wpld, datas, wpls); 00535 break; 00536 case 79: 00537 ferode_3_39(datad, w, h, wpld, datas, wpls); 00538 break; 00539 case 80: 00540 fdilate_3_40(datad, w, h, wpld, datas, wpls); 00541 break; 00542 case 81: 00543 ferode_3_40(datad, w, h, wpld, datas, wpls); 00544 break; 00545 case 82: 00546 fdilate_3_41(datad, w, h, wpld, datas, wpls); 00547 break; 00548 case 83: 00549 ferode_3_41(datad, w, h, wpld, datas, wpls); 00550 break; 00551 case 84: 00552 fdilate_3_42(datad, w, h, wpld, datas, wpls); 00553 break; 00554 case 85: 00555 ferode_3_42(datad, w, h, wpld, datas, wpls); 00556 break; 00557 case 86: 00558 fdilate_3_43(datad, w, h, wpld, datas, wpls); 00559 break; 00560 case 87: 00561 ferode_3_43(datad, w, h, wpld, datas, wpls); 00562 break; 00563 case 88: 00564 fdilate_3_44(datad, w, h, wpld, datas, wpls); 00565 break; 00566 case 89: 00567 ferode_3_44(datad, w, h, wpld, datas, wpls); 00568 break; 00569 case 90: 00570 fdilate_3_45(datad, w, h, wpld, datas, wpls); 00571 break; 00572 case 91: 00573 ferode_3_45(datad, w, h, wpld, datas, wpls); 00574 break; 00575 case 92: 00576 fdilate_3_46(datad, w, h, wpld, datas, wpls); 00577 break; 00578 case 93: 00579 ferode_3_46(datad, w, h, wpld, datas, wpls); 00580 break; 00581 case 94: 00582 fdilate_3_47(datad, w, h, wpld, datas, wpls); 00583 break; 00584 case 95: 00585 ferode_3_47(datad, w, h, wpld, datas, wpls); 00586 break; 00587 case 96: 00588 fdilate_3_48(datad, w, h, wpld, datas, wpls); 00589 break; 00590 case 97: 00591 ferode_3_48(datad, w, h, wpld, datas, wpls); 00592 break; 00593 case 98: 00594 fdilate_3_49(datad, w, h, wpld, datas, wpls); 00595 break; 00596 case 99: 00597 ferode_3_49(datad, w, h, wpld, datas, wpls); 00598 break; 00599 case 100: 00600 fdilate_3_50(datad, w, h, wpld, datas, wpls); 00601 break; 00602 case 101: 00603 ferode_3_50(datad, w, h, wpld, datas, wpls); 00604 break; 00605 case 102: 00606 fdilate_3_51(datad, w, h, wpld, datas, wpls); 00607 break; 00608 case 103: 00609 ferode_3_51(datad, w, h, wpld, datas, wpls); 00610 break; 00611 case 104: 00612 fdilate_3_52(datad, w, h, wpld, datas, wpls); 00613 break; 00614 case 105: 00615 ferode_3_52(datad, w, h, wpld, datas, wpls); 00616 break; 00617 case 106: 00618 fdilate_3_53(datad, w, h, wpld, datas, wpls); 00619 break; 00620 case 107: 00621 ferode_3_53(datad, w, h, wpld, datas, wpls); 00622 break; 00623 case 108: 00624 fdilate_3_54(datad, w, h, wpld, datas, wpls); 00625 break; 00626 case 109: 00627 ferode_3_54(datad, w, h, wpld, datas, wpls); 00628 break; 00629 case 110: 00630 fdilate_3_55(datad, w, h, wpld, datas, wpls); 00631 break; 00632 case 111: 00633 ferode_3_55(datad, w, h, wpld, datas, wpls); 00634 break; 00635 case 112: 00636 fdilate_3_56(datad, w, h, wpld, datas, wpls); 00637 break; 00638 case 113: 00639 ferode_3_56(datad, w, h, wpld, datas, wpls); 00640 break; 00641 case 114: 00642 fdilate_3_57(datad, w, h, wpld, datas, wpls); 00643 break; 00644 case 115: 00645 ferode_3_57(datad, w, h, wpld, datas, wpls); 00646 break; 00647 case 116: 00648 fdilate_3_58(datad, w, h, wpld, datas, wpls); 00649 break; 00650 case 117: 00651 ferode_3_58(datad, w, h, wpld, datas, wpls); 00652 break; 00653 case 118: 00654 fdilate_3_59(datad, w, h, wpld, datas, wpls); 00655 break; 00656 case 119: 00657 ferode_3_59(datad, w, h, wpld, datas, wpls); 00658 break; 00659 case 120: 00660 fdilate_3_60(datad, w, h, wpld, datas, wpls); 00661 break; 00662 case 121: 00663 ferode_3_60(datad, w, h, wpld, datas, wpls); 00664 break; 00665 case 122: 00666 fdilate_3_61(datad, w, h, wpld, datas, wpls); 00667 break; 00668 case 123: 00669 ferode_3_61(datad, w, h, wpld, datas, wpls); 00670 break; 00671 case 124: 00672 fdilate_3_62(datad, w, h, wpld, datas, wpls); 00673 break; 00674 case 125: 00675 ferode_3_62(datad, w, h, wpld, datas, wpls); 00676 break; 00677 case 126: 00678 fdilate_3_63(datad, w, h, wpld, datas, wpls); 00679 break; 00680 case 127: 00681 ferode_3_63(datad, w, h, wpld, datas, wpls); 00682 break; 00683 case 128: 00684 fdilate_3_64(datad, w, h, wpld, datas, wpls); 00685 break; 00686 case 129: 00687 ferode_3_64(datad, w, h, wpld, datas, wpls); 00688 break; 00689 case 130: 00690 fdilate_3_65(datad, w, h, wpld, datas, wpls); 00691 break; 00692 case 131: 00693 ferode_3_65(datad, w, h, wpld, datas, wpls); 00694 break; 00695 case 132: 00696 fdilate_3_66(datad, w, h, wpld, datas, wpls); 00697 break; 00698 case 133: 00699 ferode_3_66(datad, w, h, wpld, datas, wpls); 00700 break; 00701 case 134: 00702 fdilate_3_67(datad, w, h, wpld, datas, wpls); 00703 break; 00704 case 135: 00705 ferode_3_67(datad, w, h, wpld, datas, wpls); 00706 break; 00707 case 136: 00708 fdilate_3_68(datad, w, h, wpld, datas, wpls); 00709 break; 00710 case 137: 00711 ferode_3_68(datad, w, h, wpld, datas, wpls); 00712 break; 00713 case 138: 00714 fdilate_3_69(datad, w, h, wpld, datas, wpls); 00715 break; 00716 case 139: 00717 ferode_3_69(datad, w, h, wpld, datas, wpls); 00718 break; 00719 case 140: 00720 fdilate_3_70(datad, w, h, wpld, datas, wpls); 00721 break; 00722 case 141: 00723 ferode_3_70(datad, w, h, wpld, datas, wpls); 00724 break; 00725 case 142: 00726 fdilate_3_71(datad, w, h, wpld, datas, wpls); 00727 break; 00728 case 143: 00729 ferode_3_71(datad, w, h, wpld, datas, wpls); 00730 break; 00731 case 144: 00732 fdilate_3_72(datad, w, h, wpld, datas, wpls); 00733 break; 00734 case 145: 00735 ferode_3_72(datad, w, h, wpld, datas, wpls); 00736 break; 00737 case 146: 00738 fdilate_3_73(datad, w, h, wpld, datas, wpls); 00739 break; 00740 case 147: 00741 ferode_3_73(datad, w, h, wpld, datas, wpls); 00742 break; 00743 case 148: 00744 fdilate_3_74(datad, w, h, wpld, datas, wpls); 00745 break; 00746 case 149: 00747 ferode_3_74(datad, w, h, wpld, datas, wpls); 00748 break; 00749 case 150: 00750 fdilate_3_75(datad, w, h, wpld, datas, wpls); 00751 break; 00752 case 151: 00753 ferode_3_75(datad, w, h, wpld, datas, wpls); 00754 break; 00755 case 152: 00756 fdilate_3_76(datad, w, h, wpld, datas, wpls); 00757 break; 00758 case 153: 00759 ferode_3_76(datad, w, h, wpld, datas, wpls); 00760 break; 00761 case 154: 00762 fdilate_3_77(datad, w, h, wpld, datas, wpls); 00763 break; 00764 case 155: 00765 ferode_3_77(datad, w, h, wpld, datas, wpls); 00766 break; 00767 case 156: 00768 fdilate_3_78(datad, w, h, wpld, datas, wpls); 00769 break; 00770 case 157: 00771 ferode_3_78(datad, w, h, wpld, datas, wpls); 00772 break; 00773 case 158: 00774 fdilate_3_79(datad, w, h, wpld, datas, wpls); 00775 break; 00776 case 159: 00777 ferode_3_79(datad, w, h, wpld, datas, wpls); 00778 break; 00779 case 160: 00780 fdilate_3_80(datad, w, h, wpld, datas, wpls); 00781 break; 00782 case 161: 00783 ferode_3_80(datad, w, h, wpld, datas, wpls); 00784 break; 00785 case 162: 00786 fdilate_3_81(datad, w, h, wpld, datas, wpls); 00787 break; 00788 case 163: 00789 ferode_3_81(datad, w, h, wpld, datas, wpls); 00790 break; 00791 case 164: 00792 fdilate_3_82(datad, w, h, wpld, datas, wpls); 00793 break; 00794 case 165: 00795 ferode_3_82(datad, w, h, wpld, datas, wpls); 00796 break; 00797 case 166: 00798 fdilate_3_83(datad, w, h, wpld, datas, wpls); 00799 break; 00800 case 167: 00801 ferode_3_83(datad, w, h, wpld, datas, wpls); 00802 break; 00803 case 168: 00804 fdilate_3_84(datad, w, h, wpld, datas, wpls); 00805 break; 00806 case 169: 00807 ferode_3_84(datad, w, h, wpld, datas, wpls); 00808 break; 00809 case 170: 00810 fdilate_3_85(datad, w, h, wpld, datas, wpls); 00811 break; 00812 case 171: 00813 ferode_3_85(datad, w, h, wpld, datas, wpls); 00814 break; 00815 case 172: 00816 fdilate_3_86(datad, w, h, wpld, datas, wpls); 00817 break; 00818 case 173: 00819 ferode_3_86(datad, w, h, wpld, datas, wpls); 00820 break; 00821 case 174: 00822 fdilate_3_87(datad, w, h, wpld, datas, wpls); 00823 break; 00824 case 175: 00825 ferode_3_87(datad, w, h, wpld, datas, wpls); 00826 break; 00827 case 176: 00828 fdilate_3_88(datad, w, h, wpld, datas, wpls); 00829 break; 00830 case 177: 00831 ferode_3_88(datad, w, h, wpld, datas, wpls); 00832 break; 00833 case 178: 00834 fdilate_3_89(datad, w, h, wpld, datas, wpls); 00835 break; 00836 case 179: 00837 ferode_3_89(datad, w, h, wpld, datas, wpls); 00838 break; 00839 case 180: 00840 fdilate_3_90(datad, w, h, wpld, datas, wpls); 00841 break; 00842 case 181: 00843 ferode_3_90(datad, w, h, wpld, datas, wpls); 00844 break; 00845 case 182: 00846 fdilate_3_91(datad, w, h, wpld, datas, wpls); 00847 break; 00848 case 183: 00849 ferode_3_91(datad, w, h, wpld, datas, wpls); 00850 break; 00851 case 184: 00852 fdilate_3_92(datad, w, h, wpld, datas, wpls); 00853 break; 00854 case 185: 00855 ferode_3_92(datad, w, h, wpld, datas, wpls); 00856 break; 00857 case 186: 00858 fdilate_3_93(datad, w, h, wpld, datas, wpls); 00859 break; 00860 case 187: 00861 ferode_3_93(datad, w, h, wpld, datas, wpls); 00862 break; 00863 case 188: 00864 fdilate_3_94(datad, w, h, wpld, datas, wpls); 00865 break; 00866 case 189: 00867 ferode_3_94(datad, w, h, wpld, datas, wpls); 00868 break; 00869 case 190: 00870 fdilate_3_95(datad, w, h, wpld, datas, wpls); 00871 break; 00872 case 191: 00873 ferode_3_95(datad, w, h, wpld, datas, wpls); 00874 break; 00875 case 192: 00876 fdilate_3_96(datad, w, h, wpld, datas, wpls); 00877 break; 00878 case 193: 00879 ferode_3_96(datad, w, h, wpld, datas, wpls); 00880 break; 00881 case 194: 00882 fdilate_3_97(datad, w, h, wpld, datas, wpls); 00883 break; 00884 case 195: 00885 ferode_3_97(datad, w, h, wpld, datas, wpls); 00886 break; 00887 case 196: 00888 fdilate_3_98(datad, w, h, wpld, datas, wpls); 00889 break; 00890 case 197: 00891 ferode_3_98(datad, w, h, wpld, datas, wpls); 00892 break; 00893 case 198: 00894 fdilate_3_99(datad, w, h, wpld, datas, wpls); 00895 break; 00896 case 199: 00897 ferode_3_99(datad, w, h, wpld, datas, wpls); 00898 break; 00899 case 200: 00900 fdilate_3_100(datad, w, h, wpld, datas, wpls); 00901 break; 00902 case 201: 00903 ferode_3_100(datad, w, h, wpld, datas, wpls); 00904 break; 00905 case 202: 00906 fdilate_3_101(datad, w, h, wpld, datas, wpls); 00907 break; 00908 case 203: 00909 ferode_3_101(datad, w, h, wpld, datas, wpls); 00910 break; 00911 case 204: 00912 fdilate_3_102(datad, w, h, wpld, datas, wpls); 00913 break; 00914 case 205: 00915 ferode_3_102(datad, w, h, wpld, datas, wpls); 00916 break; 00917 case 206: 00918 fdilate_3_103(datad, w, h, wpld, datas, wpls); 00919 break; 00920 case 207: 00921 ferode_3_103(datad, w, h, wpld, datas, wpls); 00922 break; 00923 case 208: 00924 fdilate_3_104(datad, w, h, wpld, datas, wpls); 00925 break; 00926 case 209: 00927 ferode_3_104(datad, w, h, wpld, datas, wpls); 00928 break; 00929 case 210: 00930 fdilate_3_105(datad, w, h, wpld, datas, wpls); 00931 break; 00932 case 211: 00933 ferode_3_105(datad, w, h, wpld, datas, wpls); 00934 break; 00935 case 212: 00936 fdilate_3_106(datad, w, h, wpld, datas, wpls); 00937 break; 00938 case 213: 00939 ferode_3_106(datad, w, h, wpld, datas, wpls); 00940 break; 00941 case 214: 00942 fdilate_3_107(datad, w, h, wpld, datas, wpls); 00943 break; 00944 case 215: 00945 ferode_3_107(datad, w, h, wpld, datas, wpls); 00946 break; 00947 case 216: 00948 fdilate_3_108(datad, w, h, wpld, datas, wpls); 00949 break; 00950 case 217: 00951 ferode_3_108(datad, w, h, wpld, datas, wpls); 00952 break; 00953 case 218: 00954 fdilate_3_109(datad, w, h, wpld, datas, wpls); 00955 break; 00956 case 219: 00957 ferode_3_109(datad, w, h, wpld, datas, wpls); 00958 break; 00959 case 220: 00960 fdilate_3_110(datad, w, h, wpld, datas, wpls); 00961 break; 00962 case 221: 00963 ferode_3_110(datad, w, h, wpld, datas, wpls); 00964 break; 00965 case 222: 00966 fdilate_3_111(datad, w, h, wpld, datas, wpls); 00967 break; 00968 case 223: 00969 ferode_3_111(datad, w, h, wpld, datas, wpls); 00970 break; 00971 case 224: 00972 fdilate_3_112(datad, w, h, wpld, datas, wpls); 00973 break; 00974 case 225: 00975 ferode_3_112(datad, w, h, wpld, datas, wpls); 00976 break; 00977 case 226: 00978 fdilate_3_113(datad, w, h, wpld, datas, wpls); 00979 break; 00980 case 227: 00981 ferode_3_113(datad, w, h, wpld, datas, wpls); 00982 break; 00983 case 228: 00984 fdilate_3_114(datad, w, h, wpld, datas, wpls); 00985 break; 00986 case 229: 00987 ferode_3_114(datad, w, h, wpld, datas, wpls); 00988 break; 00989 case 230: 00990 fdilate_3_115(datad, w, h, wpld, datas, wpls); 00991 break; 00992 case 231: 00993 ferode_3_115(datad, w, h, wpld, datas, wpls); 00994 break; 00995 case 232: 00996 fdilate_3_116(datad, w, h, wpld, datas, wpls); 00997 break; 00998 case 233: 00999 ferode_3_116(datad, w, h, wpld, datas, wpls); 01000 break; 01001 case 234: 01002 fdilate_3_117(datad, w, h, wpld, datas, wpls); 01003 break; 01004 case 235: 01005 ferode_3_117(datad, w, h, wpld, datas, wpls); 01006 break; 01007 case 236: 01008 fdilate_3_118(datad, w, h, wpld, datas, wpls); 01009 break; 01010 case 237: 01011 ferode_3_118(datad, w, h, wpld, datas, wpls); 01012 break; 01013 case 238: 01014 fdilate_3_119(datad, w, h, wpld, datas, wpls); 01015 break; 01016 case 239: 01017 ferode_3_119(datad, w, h, wpld, datas, wpls); 01018 break; 01019 case 240: 01020 fdilate_3_120(datad, w, h, wpld, datas, wpls); 01021 break; 01022 case 241: 01023 ferode_3_120(datad, w, h, wpld, datas, wpls); 01024 break; 01025 case 242: 01026 fdilate_3_121(datad, w, h, wpld, datas, wpls); 01027 break; 01028 case 243: 01029 ferode_3_121(datad, w, h, wpld, datas, wpls); 01030 break; 01031 case 244: 01032 fdilate_3_122(datad, w, h, wpld, datas, wpls); 01033 break; 01034 case 245: 01035 ferode_3_122(datad, w, h, wpld, datas, wpls); 01036 break; 01037 case 246: 01038 fdilate_3_123(datad, w, h, wpld, datas, wpls); 01039 break; 01040 case 247: 01041 ferode_3_123(datad, w, h, wpld, datas, wpls); 01042 break; 01043 } 01044 01045 return 0; 01046 } 01047 01048 01049 /*--------------------------------------------------------------------------* 01050 * Low-level auto-generated static routines * 01051 *--------------------------------------------------------------------------*/ 01052 /* 01053 * N.B. In all the low-level routines, the part of the image 01054 * that is accessed has been clipped by 32 pixels on 01055 * all four sides. This is done in the higher level 01056 * code by redefining w and h smaller and by moving the 01057 * start-of-image pointers up to the beginning of this 01058 * interior rectangle. 01059 */ 01060 static void 01061 fdilate_3_0(l_uint32 *datad, 01062 l_int32 w, 01063 l_int32 h, 01064 l_int32 wpld, 01065 l_uint32 *datas, 01066 l_int32 wpls) 01067 { 01068 l_int32 i; 01069 register l_int32 j, pwpls; 01070 register l_uint32 *sptr, *dptr; 01071 01072 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01073 01074 for (i = 0; i < h; i++) { 01075 sptr = datas + i * wpls; 01076 dptr = datad + i * wpld; 01077 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01078 *dptr = ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01079 (*sptr); 01080 } 01081 } 01082 } 01083 01084 static void 01085 ferode_3_0(l_uint32 *datad, 01086 l_int32 w, 01087 l_int32 h, 01088 l_int32 wpld, 01089 l_uint32 *datas, 01090 l_int32 wpls) 01091 { 01092 l_int32 i; 01093 register l_int32 j, pwpls; 01094 register l_uint32 *sptr, *dptr; 01095 01096 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01097 01098 for (i = 0; i < h; i++) { 01099 sptr = datas + i * wpls; 01100 dptr = datad + i * wpld; 01101 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01102 *dptr = ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01103 (*sptr); 01104 } 01105 } 01106 } 01107 01108 static void 01109 fdilate_3_1(l_uint32 *datad, 01110 l_int32 w, 01111 l_int32 h, 01112 l_int32 wpld, 01113 l_uint32 *datas, 01114 l_int32 wpls) 01115 { 01116 l_int32 i; 01117 register l_int32 j, pwpls; 01118 register l_uint32 *sptr, *dptr; 01119 01120 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01121 01122 for (i = 0; i < h; i++) { 01123 sptr = datas + i * wpls; 01124 dptr = datad + i * wpld; 01125 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01126 *dptr = ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01127 (*sptr) | 01128 ((*(sptr) >> 1) | (*(sptr - 1) << 31)); 01129 } 01130 } 01131 } 01132 01133 static void 01134 ferode_3_1(l_uint32 *datad, 01135 l_int32 w, 01136 l_int32 h, 01137 l_int32 wpld, 01138 l_uint32 *datas, 01139 l_int32 wpls) 01140 { 01141 l_int32 i; 01142 register l_int32 j, pwpls; 01143 register l_uint32 *sptr, *dptr; 01144 01145 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01146 01147 for (i = 0; i < h; i++) { 01148 sptr = datas + i * wpls; 01149 dptr = datad + i * wpld; 01150 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01151 *dptr = ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01152 (*sptr) & 01153 ((*(sptr) << 1) | (*(sptr + 1) >> 31)); 01154 } 01155 } 01156 } 01157 01158 static void 01159 fdilate_3_2(l_uint32 *datad, 01160 l_int32 w, 01161 l_int32 h, 01162 l_int32 wpld, 01163 l_uint32 *datas, 01164 l_int32 wpls) 01165 { 01166 l_int32 i; 01167 register l_int32 j, pwpls; 01168 register l_uint32 *sptr, *dptr; 01169 01170 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01171 01172 for (i = 0; i < h; i++) { 01173 sptr = datas + i * wpls; 01174 dptr = datad + i * wpld; 01175 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01176 *dptr = ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01177 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01178 (*sptr) | 01179 ((*(sptr) >> 1) | (*(sptr - 1) << 31)); 01180 } 01181 } 01182 } 01183 01184 static void 01185 ferode_3_2(l_uint32 *datad, 01186 l_int32 w, 01187 l_int32 h, 01188 l_int32 wpld, 01189 l_uint32 *datas, 01190 l_int32 wpls) 01191 { 01192 l_int32 i; 01193 register l_int32 j, pwpls; 01194 register l_uint32 *sptr, *dptr; 01195 01196 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01197 01198 for (i = 0; i < h; i++) { 01199 sptr = datas + i * wpls; 01200 dptr = datad + i * wpld; 01201 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01202 *dptr = ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01203 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01204 (*sptr) & 01205 ((*(sptr) << 1) | (*(sptr + 1) >> 31)); 01206 } 01207 } 01208 } 01209 01210 static void 01211 fdilate_3_3(l_uint32 *datad, 01212 l_int32 w, 01213 l_int32 h, 01214 l_int32 wpld, 01215 l_uint32 *datas, 01216 l_int32 wpls) 01217 { 01218 l_int32 i; 01219 register l_int32 j, pwpls; 01220 register l_uint32 *sptr, *dptr; 01221 01222 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01223 01224 for (i = 0; i < h; i++) { 01225 sptr = datas + i * wpls; 01226 dptr = datad + i * wpld; 01227 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01228 *dptr = ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01229 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01230 (*sptr) | 01231 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01232 ((*(sptr) >> 2) | (*(sptr - 1) << 30)); 01233 } 01234 } 01235 } 01236 01237 static void 01238 ferode_3_3(l_uint32 *datad, 01239 l_int32 w, 01240 l_int32 h, 01241 l_int32 wpld, 01242 l_uint32 *datas, 01243 l_int32 wpls) 01244 { 01245 l_int32 i; 01246 register l_int32 j, pwpls; 01247 register l_uint32 *sptr, *dptr; 01248 01249 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01250 01251 for (i = 0; i < h; i++) { 01252 sptr = datas + i * wpls; 01253 dptr = datad + i * wpld; 01254 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01255 *dptr = ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01256 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01257 (*sptr) & 01258 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01259 ((*(sptr) << 2) | (*(sptr + 1) >> 30)); 01260 } 01261 } 01262 } 01263 01264 static void 01265 fdilate_3_4(l_uint32 *datad, 01266 l_int32 w, 01267 l_int32 h, 01268 l_int32 wpld, 01269 l_uint32 *datas, 01270 l_int32 wpls) 01271 { 01272 l_int32 i; 01273 register l_int32 j, pwpls; 01274 register l_uint32 *sptr, *dptr; 01275 01276 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01277 01278 for (i = 0; i < h; i++) { 01279 sptr = datas + i * wpls; 01280 dptr = datad + i * wpld; 01281 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01282 *dptr = ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01283 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01284 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01285 (*sptr) | 01286 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01287 ((*(sptr) >> 2) | (*(sptr - 1) << 30)); 01288 } 01289 } 01290 } 01291 01292 static void 01293 ferode_3_4(l_uint32 *datad, 01294 l_int32 w, 01295 l_int32 h, 01296 l_int32 wpld, 01297 l_uint32 *datas, 01298 l_int32 wpls) 01299 { 01300 l_int32 i; 01301 register l_int32 j, pwpls; 01302 register l_uint32 *sptr, *dptr; 01303 01304 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01305 01306 for (i = 0; i < h; i++) { 01307 sptr = datas + i * wpls; 01308 dptr = datad + i * wpld; 01309 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01310 *dptr = ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01311 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01312 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01313 (*sptr) & 01314 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01315 ((*(sptr) << 2) | (*(sptr + 1) >> 30)); 01316 } 01317 } 01318 } 01319 01320 static void 01321 fdilate_3_5(l_uint32 *datad, 01322 l_int32 w, 01323 l_int32 h, 01324 l_int32 wpld, 01325 l_uint32 *datas, 01326 l_int32 wpls) 01327 { 01328 l_int32 i; 01329 register l_int32 j, pwpls; 01330 register l_uint32 *sptr, *dptr; 01331 01332 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01333 01334 for (i = 0; i < h; i++) { 01335 sptr = datas + i * wpls; 01336 dptr = datad + i * wpld; 01337 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01338 *dptr = ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01339 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01340 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01341 (*sptr) | 01342 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01343 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01344 ((*(sptr) >> 3) | (*(sptr - 1) << 29)); 01345 } 01346 } 01347 } 01348 01349 static void 01350 ferode_3_5(l_uint32 *datad, 01351 l_int32 w, 01352 l_int32 h, 01353 l_int32 wpld, 01354 l_uint32 *datas, 01355 l_int32 wpls) 01356 { 01357 l_int32 i; 01358 register l_int32 j, pwpls; 01359 register l_uint32 *sptr, *dptr; 01360 01361 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01362 01363 for (i = 0; i < h; i++) { 01364 sptr = datas + i * wpls; 01365 dptr = datad + i * wpld; 01366 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01367 *dptr = ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01368 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01369 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01370 (*sptr) & 01371 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01372 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01373 ((*(sptr) << 3) | (*(sptr + 1) >> 29)); 01374 } 01375 } 01376 } 01377 01378 static void 01379 fdilate_3_6(l_uint32 *datad, 01380 l_int32 w, 01381 l_int32 h, 01382 l_int32 wpld, 01383 l_uint32 *datas, 01384 l_int32 wpls) 01385 { 01386 l_int32 i; 01387 register l_int32 j, pwpls; 01388 register l_uint32 *sptr, *dptr; 01389 01390 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01391 01392 for (i = 0; i < h; i++) { 01393 sptr = datas + i * wpls; 01394 dptr = datad + i * wpld; 01395 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01396 *dptr = ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01397 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01398 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01399 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01400 (*sptr) | 01401 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01402 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01403 ((*(sptr) >> 3) | (*(sptr - 1) << 29)); 01404 } 01405 } 01406 } 01407 01408 static void 01409 ferode_3_6(l_uint32 *datad, 01410 l_int32 w, 01411 l_int32 h, 01412 l_int32 wpld, 01413 l_uint32 *datas, 01414 l_int32 wpls) 01415 { 01416 l_int32 i; 01417 register l_int32 j, pwpls; 01418 register l_uint32 *sptr, *dptr; 01419 01420 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01421 01422 for (i = 0; i < h; i++) { 01423 sptr = datas + i * wpls; 01424 dptr = datad + i * wpld; 01425 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01426 *dptr = ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01427 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01428 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01429 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01430 (*sptr) & 01431 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01432 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01433 ((*(sptr) << 3) | (*(sptr + 1) >> 29)); 01434 } 01435 } 01436 } 01437 01438 static void 01439 fdilate_3_7(l_uint32 *datad, 01440 l_int32 w, 01441 l_int32 h, 01442 l_int32 wpld, 01443 l_uint32 *datas, 01444 l_int32 wpls) 01445 { 01446 l_int32 i; 01447 register l_int32 j, pwpls; 01448 register l_uint32 *sptr, *dptr; 01449 01450 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01451 01452 for (i = 0; i < h; i++) { 01453 sptr = datas + i * wpls; 01454 dptr = datad + i * wpld; 01455 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01456 *dptr = ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01457 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01458 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01459 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01460 (*sptr) | 01461 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01462 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01463 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01464 ((*(sptr) >> 4) | (*(sptr - 1) << 28)); 01465 } 01466 } 01467 } 01468 01469 static void 01470 ferode_3_7(l_uint32 *datad, 01471 l_int32 w, 01472 l_int32 h, 01473 l_int32 wpld, 01474 l_uint32 *datas, 01475 l_int32 wpls) 01476 { 01477 l_int32 i; 01478 register l_int32 j, pwpls; 01479 register l_uint32 *sptr, *dptr; 01480 01481 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01482 01483 for (i = 0; i < h; i++) { 01484 sptr = datas + i * wpls; 01485 dptr = datad + i * wpld; 01486 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01487 *dptr = ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01488 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01489 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01490 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01491 (*sptr) & 01492 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01493 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01494 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01495 ((*(sptr) << 4) | (*(sptr + 1) >> 28)); 01496 } 01497 } 01498 } 01499 01500 static void 01501 fdilate_3_8(l_uint32 *datad, 01502 l_int32 w, 01503 l_int32 h, 01504 l_int32 wpld, 01505 l_uint32 *datas, 01506 l_int32 wpls) 01507 { 01508 l_int32 i; 01509 register l_int32 j, pwpls; 01510 register l_uint32 *sptr, *dptr; 01511 01512 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01513 01514 for (i = 0; i < h; i++) { 01515 sptr = datas + i * wpls; 01516 dptr = datad + i * wpld; 01517 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01518 *dptr = ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01519 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01520 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01521 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01522 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01523 (*sptr) | 01524 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01525 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01526 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01527 ((*(sptr) >> 4) | (*(sptr - 1) << 28)); 01528 } 01529 } 01530 } 01531 01532 static void 01533 ferode_3_8(l_uint32 *datad, 01534 l_int32 w, 01535 l_int32 h, 01536 l_int32 wpld, 01537 l_uint32 *datas, 01538 l_int32 wpls) 01539 { 01540 l_int32 i; 01541 register l_int32 j, pwpls; 01542 register l_uint32 *sptr, *dptr; 01543 01544 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01545 01546 for (i = 0; i < h; i++) { 01547 sptr = datas + i * wpls; 01548 dptr = datad + i * wpld; 01549 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01550 *dptr = ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01551 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01552 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01553 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01554 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01555 (*sptr) & 01556 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01557 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01558 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01559 ((*(sptr) << 4) | (*(sptr + 1) >> 28)); 01560 } 01561 } 01562 } 01563 01564 static void 01565 fdilate_3_9(l_uint32 *datad, 01566 l_int32 w, 01567 l_int32 h, 01568 l_int32 wpld, 01569 l_uint32 *datas, 01570 l_int32 wpls) 01571 { 01572 l_int32 i; 01573 register l_int32 j, pwpls; 01574 register l_uint32 *sptr, *dptr; 01575 01576 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01577 01578 for (i = 0; i < h; i++) { 01579 sptr = datas + i * wpls; 01580 dptr = datad + i * wpld; 01581 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01582 *dptr = ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01583 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01584 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01585 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01586 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01587 (*sptr) | 01588 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01589 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01590 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01591 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01592 ((*(sptr) >> 5) | (*(sptr - 1) << 27)); 01593 } 01594 } 01595 } 01596 01597 static void 01598 ferode_3_9(l_uint32 *datad, 01599 l_int32 w, 01600 l_int32 h, 01601 l_int32 wpld, 01602 l_uint32 *datas, 01603 l_int32 wpls) 01604 { 01605 l_int32 i; 01606 register l_int32 j, pwpls; 01607 register l_uint32 *sptr, *dptr; 01608 01609 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01610 01611 for (i = 0; i < h; i++) { 01612 sptr = datas + i * wpls; 01613 dptr = datad + i * wpld; 01614 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01615 *dptr = ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01616 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01617 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01618 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01619 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01620 (*sptr) & 01621 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01622 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01623 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01624 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01625 ((*(sptr) << 5) | (*(sptr + 1) >> 27)); 01626 } 01627 } 01628 } 01629 01630 static void 01631 fdilate_3_10(l_uint32 *datad, 01632 l_int32 w, 01633 l_int32 h, 01634 l_int32 wpld, 01635 l_uint32 *datas, 01636 l_int32 wpls) 01637 { 01638 l_int32 i; 01639 register l_int32 j, pwpls; 01640 register l_uint32 *sptr, *dptr; 01641 01642 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01643 01644 for (i = 0; i < h; i++) { 01645 sptr = datas + i * wpls; 01646 dptr = datad + i * wpld; 01647 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01648 *dptr = ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 01649 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01650 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01651 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01652 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01653 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01654 (*sptr) | 01655 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01656 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01657 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01658 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01659 ((*(sptr) >> 5) | (*(sptr - 1) << 27)); 01660 } 01661 } 01662 } 01663 01664 static void 01665 ferode_3_10(l_uint32 *datad, 01666 l_int32 w, 01667 l_int32 h, 01668 l_int32 wpld, 01669 l_uint32 *datas, 01670 l_int32 wpls) 01671 { 01672 l_int32 i; 01673 register l_int32 j, pwpls; 01674 register l_uint32 *sptr, *dptr; 01675 01676 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01677 01678 for (i = 0; i < h; i++) { 01679 sptr = datas + i * wpls; 01680 dptr = datad + i * wpld; 01681 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01682 *dptr = ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 01683 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01684 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01685 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01686 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01687 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01688 (*sptr) & 01689 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01690 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01691 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01692 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01693 ((*(sptr) << 5) | (*(sptr + 1) >> 27)); 01694 } 01695 } 01696 } 01697 01698 static void 01699 fdilate_3_11(l_uint32 *datad, 01700 l_int32 w, 01701 l_int32 h, 01702 l_int32 wpld, 01703 l_uint32 *datas, 01704 l_int32 wpls) 01705 { 01706 l_int32 i; 01707 register l_int32 j, pwpls; 01708 register l_uint32 *sptr, *dptr; 01709 01710 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01711 01712 for (i = 0; i < h; i++) { 01713 sptr = datas + i * wpls; 01714 dptr = datad + i * wpld; 01715 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01716 *dptr = ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 01717 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01718 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01719 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01720 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01721 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01722 (*sptr) | 01723 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01724 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01725 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01726 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01727 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 01728 ((*(sptr) >> 6) | (*(sptr - 1) << 26)); 01729 } 01730 } 01731 } 01732 01733 static void 01734 ferode_3_11(l_uint32 *datad, 01735 l_int32 w, 01736 l_int32 h, 01737 l_int32 wpld, 01738 l_uint32 *datas, 01739 l_int32 wpls) 01740 { 01741 l_int32 i; 01742 register l_int32 j, pwpls; 01743 register l_uint32 *sptr, *dptr; 01744 01745 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01746 01747 for (i = 0; i < h; i++) { 01748 sptr = datas + i * wpls; 01749 dptr = datad + i * wpld; 01750 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01751 *dptr = ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 01752 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01753 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01754 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01755 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01756 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01757 (*sptr) & 01758 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01759 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01760 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01761 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01762 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 01763 ((*(sptr) << 6) | (*(sptr + 1) >> 26)); 01764 } 01765 } 01766 } 01767 01768 static void 01769 fdilate_3_12(l_uint32 *datad, 01770 l_int32 w, 01771 l_int32 h, 01772 l_int32 wpld, 01773 l_uint32 *datas, 01774 l_int32 wpls) 01775 { 01776 l_int32 i; 01777 register l_int32 j, pwpls; 01778 register l_uint32 *sptr, *dptr; 01779 01780 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01781 01782 for (i = 0; i < h; i++) { 01783 sptr = datas + i * wpls; 01784 dptr = datad + i * wpld; 01785 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01786 *dptr = ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 01787 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 01788 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01789 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01790 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01791 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01792 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01793 (*sptr) | 01794 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01795 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01796 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01797 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01798 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 01799 ((*(sptr) >> 6) | (*(sptr - 1) << 26)); 01800 } 01801 } 01802 } 01803 01804 static void 01805 ferode_3_12(l_uint32 *datad, 01806 l_int32 w, 01807 l_int32 h, 01808 l_int32 wpld, 01809 l_uint32 *datas, 01810 l_int32 wpls) 01811 { 01812 l_int32 i; 01813 register l_int32 j, pwpls; 01814 register l_uint32 *sptr, *dptr; 01815 01816 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01817 01818 for (i = 0; i < h; i++) { 01819 sptr = datas + i * wpls; 01820 dptr = datad + i * wpld; 01821 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01822 *dptr = ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 01823 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 01824 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01825 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01826 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01827 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01828 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01829 (*sptr) & 01830 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01831 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01832 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01833 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01834 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 01835 ((*(sptr) << 6) | (*(sptr + 1) >> 26)); 01836 } 01837 } 01838 } 01839 01840 static void 01841 fdilate_3_13(l_uint32 *datad, 01842 l_int32 w, 01843 l_int32 h, 01844 l_int32 wpld, 01845 l_uint32 *datas, 01846 l_int32 wpls) 01847 { 01848 l_int32 i; 01849 register l_int32 j, pwpls; 01850 register l_uint32 *sptr, *dptr; 01851 01852 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01853 01854 for (i = 0; i < h; i++) { 01855 sptr = datas + i * wpls; 01856 dptr = datad + i * wpld; 01857 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01858 *dptr = ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 01859 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 01860 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01861 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01862 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01863 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01864 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01865 (*sptr) | 01866 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01867 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01868 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01869 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01870 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 01871 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 01872 ((*(sptr) >> 7) | (*(sptr - 1) << 25)); 01873 } 01874 } 01875 } 01876 01877 static void 01878 ferode_3_13(l_uint32 *datad, 01879 l_int32 w, 01880 l_int32 h, 01881 l_int32 wpld, 01882 l_uint32 *datas, 01883 l_int32 wpls) 01884 { 01885 l_int32 i; 01886 register l_int32 j, pwpls; 01887 register l_uint32 *sptr, *dptr; 01888 01889 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01890 01891 for (i = 0; i < h; i++) { 01892 sptr = datas + i * wpls; 01893 dptr = datad + i * wpld; 01894 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01895 *dptr = ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 01896 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 01897 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01898 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01899 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01900 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01901 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01902 (*sptr) & 01903 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01904 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01905 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01906 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01907 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 01908 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 01909 ((*(sptr) << 7) | (*(sptr + 1) >> 25)); 01910 } 01911 } 01912 } 01913 01914 static void 01915 fdilate_3_14(l_uint32 *datad, 01916 l_int32 w, 01917 l_int32 h, 01918 l_int32 wpld, 01919 l_uint32 *datas, 01920 l_int32 wpls) 01921 { 01922 l_int32 i; 01923 register l_int32 j, pwpls; 01924 register l_uint32 *sptr, *dptr; 01925 01926 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01927 01928 for (i = 0; i < h; i++) { 01929 sptr = datas + i * wpls; 01930 dptr = datad + i * wpld; 01931 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01932 *dptr = ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 01933 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 01934 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 01935 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 01936 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 01937 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 01938 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 01939 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 01940 (*sptr) | 01941 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 01942 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 01943 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 01944 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 01945 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 01946 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 01947 ((*(sptr) >> 7) | (*(sptr - 1) << 25)); 01948 } 01949 } 01950 } 01951 01952 static void 01953 ferode_3_14(l_uint32 *datad, 01954 l_int32 w, 01955 l_int32 h, 01956 l_int32 wpld, 01957 l_uint32 *datas, 01958 l_int32 wpls) 01959 { 01960 l_int32 i; 01961 register l_int32 j, pwpls; 01962 register l_uint32 *sptr, *dptr; 01963 01964 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 01965 01966 for (i = 0; i < h; i++) { 01967 sptr = datas + i * wpls; 01968 dptr = datad + i * wpld; 01969 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 01970 *dptr = ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 01971 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 01972 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 01973 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 01974 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 01975 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 01976 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 01977 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 01978 (*sptr) & 01979 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 01980 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 01981 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 01982 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 01983 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 01984 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 01985 ((*(sptr) << 7) | (*(sptr + 1) >> 25)); 01986 } 01987 } 01988 } 01989 01990 static void 01991 fdilate_3_15(l_uint32 *datad, 01992 l_int32 w, 01993 l_int32 h, 01994 l_int32 wpld, 01995 l_uint32 *datas, 01996 l_int32 wpls) 01997 { 01998 l_int32 i; 01999 register l_int32 j, pwpls; 02000 register l_uint32 *sptr, *dptr; 02001 02002 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02003 02004 for (i = 0; i < h; i++) { 02005 sptr = datas + i * wpls; 02006 dptr = datad + i * wpld; 02007 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02008 *dptr = ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02009 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02010 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02011 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02012 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02013 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02014 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02015 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02016 (*sptr) | 02017 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02018 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02019 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02020 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02021 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02022 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02023 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02024 ((*(sptr) >> 8) | (*(sptr - 1) << 24)); 02025 } 02026 } 02027 } 02028 02029 static void 02030 ferode_3_15(l_uint32 *datad, 02031 l_int32 w, 02032 l_int32 h, 02033 l_int32 wpld, 02034 l_uint32 *datas, 02035 l_int32 wpls) 02036 { 02037 l_int32 i; 02038 register l_int32 j, pwpls; 02039 register l_uint32 *sptr, *dptr; 02040 02041 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02042 02043 for (i = 0; i < h; i++) { 02044 sptr = datas + i * wpls; 02045 dptr = datad + i * wpld; 02046 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02047 *dptr = ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02048 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02049 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02050 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02051 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02052 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02053 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02054 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02055 (*sptr) & 02056 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02057 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02058 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02059 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02060 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02061 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02062 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02063 ((*(sptr) << 8) | (*(sptr + 1) >> 24)); 02064 } 02065 } 02066 } 02067 02068 static void 02069 fdilate_3_16(l_uint32 *datad, 02070 l_int32 w, 02071 l_int32 h, 02072 l_int32 wpld, 02073 l_uint32 *datas, 02074 l_int32 wpls) 02075 { 02076 l_int32 i; 02077 register l_int32 j, pwpls; 02078 register l_uint32 *sptr, *dptr; 02079 02080 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02081 02082 for (i = 0; i < h; i++) { 02083 sptr = datas + i * wpls; 02084 dptr = datad + i * wpld; 02085 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02086 *dptr = ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02087 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02088 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02089 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02090 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02091 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02092 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02093 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02094 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02095 (*sptr) | 02096 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02097 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02098 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02099 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02100 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02101 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02102 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02103 ((*(sptr) >> 8) | (*(sptr - 1) << 24)); 02104 } 02105 } 02106 } 02107 02108 static void 02109 ferode_3_16(l_uint32 *datad, 02110 l_int32 w, 02111 l_int32 h, 02112 l_int32 wpld, 02113 l_uint32 *datas, 02114 l_int32 wpls) 02115 { 02116 l_int32 i; 02117 register l_int32 j, pwpls; 02118 register l_uint32 *sptr, *dptr; 02119 02120 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02121 02122 for (i = 0; i < h; i++) { 02123 sptr = datas + i * wpls; 02124 dptr = datad + i * wpld; 02125 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02126 *dptr = ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02127 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02128 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02129 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02130 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02131 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02132 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02133 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02134 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02135 (*sptr) & 02136 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02137 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02138 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02139 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02140 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02141 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02142 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02143 ((*(sptr) << 8) | (*(sptr + 1) >> 24)); 02144 } 02145 } 02146 } 02147 02148 static void 02149 fdilate_3_17(l_uint32 *datad, 02150 l_int32 w, 02151 l_int32 h, 02152 l_int32 wpld, 02153 l_uint32 *datas, 02154 l_int32 wpls) 02155 { 02156 l_int32 i; 02157 register l_int32 j, pwpls; 02158 register l_uint32 *sptr, *dptr; 02159 02160 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02161 02162 for (i = 0; i < h; i++) { 02163 sptr = datas + i * wpls; 02164 dptr = datad + i * wpld; 02165 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02166 *dptr = ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02167 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02168 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02169 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02170 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02171 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02172 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02173 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02174 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02175 (*sptr) | 02176 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02177 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02178 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02179 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02180 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02181 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02182 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02183 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02184 ((*(sptr) >> 9) | (*(sptr - 1) << 23)); 02185 } 02186 } 02187 } 02188 02189 static void 02190 ferode_3_17(l_uint32 *datad, 02191 l_int32 w, 02192 l_int32 h, 02193 l_int32 wpld, 02194 l_uint32 *datas, 02195 l_int32 wpls) 02196 { 02197 l_int32 i; 02198 register l_int32 j, pwpls; 02199 register l_uint32 *sptr, *dptr; 02200 02201 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02202 02203 for (i = 0; i < h; i++) { 02204 sptr = datas + i * wpls; 02205 dptr = datad + i * wpld; 02206 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02207 *dptr = ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02208 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02209 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02210 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02211 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02212 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02213 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02214 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02215 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02216 (*sptr) & 02217 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02218 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02219 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02220 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02221 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02222 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02223 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02224 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02225 ((*(sptr) << 9) | (*(sptr + 1) >> 23)); 02226 } 02227 } 02228 } 02229 02230 static void 02231 fdilate_3_18(l_uint32 *datad, 02232 l_int32 w, 02233 l_int32 h, 02234 l_int32 wpld, 02235 l_uint32 *datas, 02236 l_int32 wpls) 02237 { 02238 l_int32 i; 02239 register l_int32 j, pwpls; 02240 register l_uint32 *sptr, *dptr; 02241 02242 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02243 02244 for (i = 0; i < h; i++) { 02245 sptr = datas + i * wpls; 02246 dptr = datad + i * wpld; 02247 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02248 *dptr = ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02249 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02250 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02251 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02252 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02253 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02254 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02255 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02256 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02257 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02258 (*sptr) | 02259 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02260 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02261 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02262 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02263 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02264 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02265 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02266 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02267 ((*(sptr) >> 9) | (*(sptr - 1) << 23)); 02268 } 02269 } 02270 } 02271 02272 static void 02273 ferode_3_18(l_uint32 *datad, 02274 l_int32 w, 02275 l_int32 h, 02276 l_int32 wpld, 02277 l_uint32 *datas, 02278 l_int32 wpls) 02279 { 02280 l_int32 i; 02281 register l_int32 j, pwpls; 02282 register l_uint32 *sptr, *dptr; 02283 02284 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02285 02286 for (i = 0; i < h; i++) { 02287 sptr = datas + i * wpls; 02288 dptr = datad + i * wpld; 02289 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02290 *dptr = ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02291 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02292 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02293 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02294 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02295 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02296 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02297 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02298 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02299 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02300 (*sptr) & 02301 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02302 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02303 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02304 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02305 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02306 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02307 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02308 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02309 ((*(sptr) << 9) | (*(sptr + 1) >> 23)); 02310 } 02311 } 02312 } 02313 02314 static void 02315 fdilate_3_19(l_uint32 *datad, 02316 l_int32 w, 02317 l_int32 h, 02318 l_int32 wpld, 02319 l_uint32 *datas, 02320 l_int32 wpls) 02321 { 02322 l_int32 i; 02323 register l_int32 j, pwpls; 02324 register l_uint32 *sptr, *dptr; 02325 02326 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02327 02328 for (i = 0; i < h; i++) { 02329 sptr = datas + i * wpls; 02330 dptr = datad + i * wpld; 02331 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02332 *dptr = ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02333 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02334 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02335 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02336 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02337 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02338 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02339 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02340 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02341 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02342 (*sptr) | 02343 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02344 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02345 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02346 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02347 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02348 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02349 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02350 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02351 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02352 ((*(sptr) >> 10) | (*(sptr - 1) << 22)); 02353 } 02354 } 02355 } 02356 02357 static void 02358 ferode_3_19(l_uint32 *datad, 02359 l_int32 w, 02360 l_int32 h, 02361 l_int32 wpld, 02362 l_uint32 *datas, 02363 l_int32 wpls) 02364 { 02365 l_int32 i; 02366 register l_int32 j, pwpls; 02367 register l_uint32 *sptr, *dptr; 02368 02369 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02370 02371 for (i = 0; i < h; i++) { 02372 sptr = datas + i * wpls; 02373 dptr = datad + i * wpld; 02374 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02375 *dptr = ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02376 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02377 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02378 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02379 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02380 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02381 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02382 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02383 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02384 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02385 (*sptr) & 02386 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02387 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02388 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02389 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02390 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02391 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02392 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02393 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02394 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02395 ((*(sptr) << 10) | (*(sptr + 1) >> 22)); 02396 } 02397 } 02398 } 02399 02400 static void 02401 fdilate_3_20(l_uint32 *datad, 02402 l_int32 w, 02403 l_int32 h, 02404 l_int32 wpld, 02405 l_uint32 *datas, 02406 l_int32 wpls) 02407 { 02408 l_int32 i; 02409 register l_int32 j, pwpls; 02410 register l_uint32 *sptr, *dptr; 02411 02412 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02413 02414 for (i = 0; i < h; i++) { 02415 sptr = datas + i * wpls; 02416 dptr = datad + i * wpld; 02417 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02418 *dptr = ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02419 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02420 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02421 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02422 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02423 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02424 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02425 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02426 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02427 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02428 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02429 (*sptr) | 02430 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02431 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02432 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02433 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02434 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02435 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02436 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02437 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02438 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02439 ((*(sptr) >> 10) | (*(sptr - 1) << 22)); 02440 } 02441 } 02442 } 02443 02444 static void 02445 ferode_3_20(l_uint32 *datad, 02446 l_int32 w, 02447 l_int32 h, 02448 l_int32 wpld, 02449 l_uint32 *datas, 02450 l_int32 wpls) 02451 { 02452 l_int32 i; 02453 register l_int32 j, pwpls; 02454 register l_uint32 *sptr, *dptr; 02455 02456 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02457 02458 for (i = 0; i < h; i++) { 02459 sptr = datas + i * wpls; 02460 dptr = datad + i * wpld; 02461 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02462 *dptr = ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02463 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02464 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02465 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02466 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02467 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02468 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02469 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02470 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02471 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02472 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02473 (*sptr) & 02474 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02475 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02476 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02477 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02478 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02479 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02480 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02481 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02482 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02483 ((*(sptr) << 10) | (*(sptr + 1) >> 22)); 02484 } 02485 } 02486 } 02487 02488 static void 02489 fdilate_3_21(l_uint32 *datad, 02490 l_int32 w, 02491 l_int32 h, 02492 l_int32 wpld, 02493 l_uint32 *datas, 02494 l_int32 wpls) 02495 { 02496 l_int32 i; 02497 register l_int32 j, pwpls; 02498 register l_uint32 *sptr, *dptr; 02499 02500 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02501 02502 for (i = 0; i < h; i++) { 02503 sptr = datas + i * wpls; 02504 dptr = datad + i * wpld; 02505 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02506 *dptr = ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02507 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02508 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02509 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02510 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02511 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02512 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02513 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02514 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02515 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02516 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02517 (*sptr) | 02518 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02519 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02520 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02521 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02522 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02523 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02524 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02525 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02526 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02527 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 02528 ((*(sptr) >> 11) | (*(sptr - 1) << 21)); 02529 } 02530 } 02531 } 02532 02533 static void 02534 ferode_3_21(l_uint32 *datad, 02535 l_int32 w, 02536 l_int32 h, 02537 l_int32 wpld, 02538 l_uint32 *datas, 02539 l_int32 wpls) 02540 { 02541 l_int32 i; 02542 register l_int32 j, pwpls; 02543 register l_uint32 *sptr, *dptr; 02544 02545 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02546 02547 for (i = 0; i < h; i++) { 02548 sptr = datas + i * wpls; 02549 dptr = datad + i * wpld; 02550 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02551 *dptr = ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02552 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02553 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02554 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02555 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02556 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02557 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02558 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02559 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02560 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02561 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02562 (*sptr) & 02563 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02564 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02565 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02566 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02567 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02568 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02569 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02570 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02571 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02572 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 02573 ((*(sptr) << 11) | (*(sptr + 1) >> 21)); 02574 } 02575 } 02576 } 02577 02578 static void 02579 fdilate_3_22(l_uint32 *datad, 02580 l_int32 w, 02581 l_int32 h, 02582 l_int32 wpld, 02583 l_uint32 *datas, 02584 l_int32 wpls) 02585 { 02586 l_int32 i; 02587 register l_int32 j, pwpls; 02588 register l_uint32 *sptr, *dptr; 02589 02590 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02591 02592 for (i = 0; i < h; i++) { 02593 sptr = datas + i * wpls; 02594 dptr = datad + i * wpld; 02595 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02596 *dptr = ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 02597 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02598 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02599 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02600 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02601 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02602 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02603 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02604 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02605 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02606 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02607 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02608 (*sptr) | 02609 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02610 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02611 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02612 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02613 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02614 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02615 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02616 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02617 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02618 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 02619 ((*(sptr) >> 11) | (*(sptr - 1) << 21)); 02620 } 02621 } 02622 } 02623 02624 static void 02625 ferode_3_22(l_uint32 *datad, 02626 l_int32 w, 02627 l_int32 h, 02628 l_int32 wpld, 02629 l_uint32 *datas, 02630 l_int32 wpls) 02631 { 02632 l_int32 i; 02633 register l_int32 j, pwpls; 02634 register l_uint32 *sptr, *dptr; 02635 02636 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02637 02638 for (i = 0; i < h; i++) { 02639 sptr = datas + i * wpls; 02640 dptr = datad + i * wpld; 02641 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02642 *dptr = ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 02643 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02644 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02645 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02646 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02647 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02648 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02649 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02650 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02651 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02652 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02653 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02654 (*sptr) & 02655 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02656 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02657 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02658 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02659 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02660 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02661 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02662 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02663 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02664 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 02665 ((*(sptr) << 11) | (*(sptr + 1) >> 21)); 02666 } 02667 } 02668 } 02669 02670 static void 02671 fdilate_3_23(l_uint32 *datad, 02672 l_int32 w, 02673 l_int32 h, 02674 l_int32 wpld, 02675 l_uint32 *datas, 02676 l_int32 wpls) 02677 { 02678 l_int32 i; 02679 register l_int32 j, pwpls; 02680 register l_uint32 *sptr, *dptr; 02681 02682 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02683 02684 for (i = 0; i < h; i++) { 02685 sptr = datas + i * wpls; 02686 dptr = datad + i * wpld; 02687 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02688 *dptr = ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 02689 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02690 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02691 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02692 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02693 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02694 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02695 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02696 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02697 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02698 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02699 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02700 (*sptr) | 02701 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02702 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02703 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02704 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02705 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02706 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02707 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02708 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02709 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02710 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 02711 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 02712 ((*(sptr) >> 12) | (*(sptr - 1) << 20)); 02713 } 02714 } 02715 } 02716 02717 static void 02718 ferode_3_23(l_uint32 *datad, 02719 l_int32 w, 02720 l_int32 h, 02721 l_int32 wpld, 02722 l_uint32 *datas, 02723 l_int32 wpls) 02724 { 02725 l_int32 i; 02726 register l_int32 j, pwpls; 02727 register l_uint32 *sptr, *dptr; 02728 02729 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02730 02731 for (i = 0; i < h; i++) { 02732 sptr = datas + i * wpls; 02733 dptr = datad + i * wpld; 02734 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02735 *dptr = ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 02736 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02737 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02738 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02739 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02740 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02741 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02742 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02743 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02744 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02745 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02746 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02747 (*sptr) & 02748 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02749 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02750 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02751 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02752 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02753 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02754 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02755 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02756 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02757 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 02758 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 02759 ((*(sptr) << 12) | (*(sptr + 1) >> 20)); 02760 } 02761 } 02762 } 02763 02764 static void 02765 fdilate_3_24(l_uint32 *datad, 02766 l_int32 w, 02767 l_int32 h, 02768 l_int32 wpld, 02769 l_uint32 *datas, 02770 l_int32 wpls) 02771 { 02772 l_int32 i; 02773 register l_int32 j, pwpls; 02774 register l_uint32 *sptr, *dptr; 02775 02776 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02777 02778 for (i = 0; i < h; i++) { 02779 sptr = datas + i * wpls; 02780 dptr = datad + i * wpld; 02781 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02782 *dptr = ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 02783 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 02784 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02785 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02786 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02787 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02788 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02789 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02790 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02791 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02792 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02793 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02794 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02795 (*sptr) | 02796 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02797 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02798 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02799 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02800 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02801 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02802 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02803 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02804 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02805 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 02806 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 02807 ((*(sptr) >> 12) | (*(sptr - 1) << 20)); 02808 } 02809 } 02810 } 02811 02812 static void 02813 ferode_3_24(l_uint32 *datad, 02814 l_int32 w, 02815 l_int32 h, 02816 l_int32 wpld, 02817 l_uint32 *datas, 02818 l_int32 wpls) 02819 { 02820 l_int32 i; 02821 register l_int32 j, pwpls; 02822 register l_uint32 *sptr, *dptr; 02823 02824 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02825 02826 for (i = 0; i < h; i++) { 02827 sptr = datas + i * wpls; 02828 dptr = datad + i * wpld; 02829 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02830 *dptr = ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 02831 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 02832 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02833 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02834 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02835 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02836 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02837 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02838 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02839 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02840 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02841 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02842 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02843 (*sptr) & 02844 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02845 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02846 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02847 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02848 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02849 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02850 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02851 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02852 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02853 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 02854 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 02855 ((*(sptr) << 12) | (*(sptr + 1) >> 20)); 02856 } 02857 } 02858 } 02859 02860 static void 02861 fdilate_3_25(l_uint32 *datad, 02862 l_int32 w, 02863 l_int32 h, 02864 l_int32 wpld, 02865 l_uint32 *datas, 02866 l_int32 wpls) 02867 { 02868 l_int32 i; 02869 register l_int32 j, pwpls; 02870 register l_uint32 *sptr, *dptr; 02871 02872 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02873 02874 for (i = 0; i < h; i++) { 02875 sptr = datas + i * wpls; 02876 dptr = datad + i * wpld; 02877 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02878 *dptr = ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 02879 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 02880 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02881 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02882 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02883 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02884 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02885 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02886 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02887 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02888 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02889 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02890 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02891 (*sptr) | 02892 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02893 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02894 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02895 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02896 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02897 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02898 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02899 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02900 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 02901 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 02902 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 02903 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 02904 ((*(sptr) >> 13) | (*(sptr - 1) << 19)); 02905 } 02906 } 02907 } 02908 02909 static void 02910 ferode_3_25(l_uint32 *datad, 02911 l_int32 w, 02912 l_int32 h, 02913 l_int32 wpld, 02914 l_uint32 *datas, 02915 l_int32 wpls) 02916 { 02917 l_int32 i; 02918 register l_int32 j, pwpls; 02919 register l_uint32 *sptr, *dptr; 02920 02921 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02922 02923 for (i = 0; i < h; i++) { 02924 sptr = datas + i * wpls; 02925 dptr = datad + i * wpld; 02926 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02927 *dptr = ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 02928 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 02929 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 02930 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 02931 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 02932 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 02933 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 02934 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 02935 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 02936 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 02937 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 02938 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 02939 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 02940 (*sptr) & 02941 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 02942 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 02943 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 02944 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 02945 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 02946 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 02947 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 02948 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 02949 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 02950 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 02951 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 02952 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 02953 ((*(sptr) << 13) | (*(sptr + 1) >> 19)); 02954 } 02955 } 02956 } 02957 02958 static void 02959 fdilate_3_26(l_uint32 *datad, 02960 l_int32 w, 02961 l_int32 h, 02962 l_int32 wpld, 02963 l_uint32 *datas, 02964 l_int32 wpls) 02965 { 02966 l_int32 i; 02967 register l_int32 j, pwpls; 02968 register l_uint32 *sptr, *dptr; 02969 02970 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 02971 02972 for (i = 0; i < h; i++) { 02973 sptr = datas + i * wpls; 02974 dptr = datad + i * wpld; 02975 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 02976 *dptr = ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 02977 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 02978 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 02979 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 02980 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 02981 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 02982 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 02983 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 02984 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 02985 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 02986 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 02987 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 02988 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 02989 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 02990 (*sptr) | 02991 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 02992 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 02993 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 02994 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 02995 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 02996 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 02997 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 02998 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 02999 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03000 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03001 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03002 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03003 ((*(sptr) >> 13) | (*(sptr - 1) << 19)); 03004 } 03005 } 03006 } 03007 03008 static void 03009 ferode_3_26(l_uint32 *datad, 03010 l_int32 w, 03011 l_int32 h, 03012 l_int32 wpld, 03013 l_uint32 *datas, 03014 l_int32 wpls) 03015 { 03016 l_int32 i; 03017 register l_int32 j, pwpls; 03018 register l_uint32 *sptr, *dptr; 03019 03020 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03021 03022 for (i = 0; i < h; i++) { 03023 sptr = datas + i * wpls; 03024 dptr = datad + i * wpld; 03025 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03026 *dptr = ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03027 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03028 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03029 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03030 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03031 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03032 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03033 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03034 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03035 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03036 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03037 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03038 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03039 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03040 (*sptr) & 03041 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03042 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03043 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03044 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03045 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03046 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03047 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03048 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03049 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03050 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03051 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03052 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03053 ((*(sptr) << 13) | (*(sptr + 1) >> 19)); 03054 } 03055 } 03056 } 03057 03058 static void 03059 fdilate_3_27(l_uint32 *datad, 03060 l_int32 w, 03061 l_int32 h, 03062 l_int32 wpld, 03063 l_uint32 *datas, 03064 l_int32 wpls) 03065 { 03066 l_int32 i; 03067 register l_int32 j, pwpls; 03068 register l_uint32 *sptr, *dptr; 03069 03070 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03071 03072 for (i = 0; i < h; i++) { 03073 sptr = datas + i * wpls; 03074 dptr = datad + i * wpld; 03075 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03076 *dptr = ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03077 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03078 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03079 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03080 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03081 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03082 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03083 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03084 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03085 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03086 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03087 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03088 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03089 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03090 (*sptr) | 03091 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03092 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03093 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03094 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03095 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03096 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03097 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03098 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03099 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03100 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03101 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03102 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03103 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03104 ((*(sptr) >> 14) | (*(sptr - 1) << 18)); 03105 } 03106 } 03107 } 03108 03109 static void 03110 ferode_3_27(l_uint32 *datad, 03111 l_int32 w, 03112 l_int32 h, 03113 l_int32 wpld, 03114 l_uint32 *datas, 03115 l_int32 wpls) 03116 { 03117 l_int32 i; 03118 register l_int32 j, pwpls; 03119 register l_uint32 *sptr, *dptr; 03120 03121 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03122 03123 for (i = 0; i < h; i++) { 03124 sptr = datas + i * wpls; 03125 dptr = datad + i * wpld; 03126 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03127 *dptr = ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03128 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03129 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03130 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03131 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03132 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03133 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03134 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03135 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03136 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03137 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03138 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03139 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03140 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03141 (*sptr) & 03142 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03143 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03144 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03145 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03146 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03147 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03148 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03149 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03150 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03151 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03152 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03153 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03154 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03155 ((*(sptr) << 14) | (*(sptr + 1) >> 18)); 03156 } 03157 } 03158 } 03159 03160 static void 03161 fdilate_3_28(l_uint32 *datad, 03162 l_int32 w, 03163 l_int32 h, 03164 l_int32 wpld, 03165 l_uint32 *datas, 03166 l_int32 wpls) 03167 { 03168 l_int32 i; 03169 register l_int32 j, pwpls; 03170 register l_uint32 *sptr, *dptr; 03171 03172 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03173 03174 for (i = 0; i < h; i++) { 03175 sptr = datas + i * wpls; 03176 dptr = datad + i * wpld; 03177 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03178 *dptr = ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03179 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03180 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03181 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03182 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03183 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03184 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03185 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03186 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03187 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03188 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03189 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03190 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03191 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03192 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03193 (*sptr) | 03194 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03195 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03196 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03197 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03198 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03199 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03200 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03201 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03202 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03203 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03204 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03205 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03206 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03207 ((*(sptr) >> 14) | (*(sptr - 1) << 18)); 03208 } 03209 } 03210 } 03211 03212 static void 03213 ferode_3_28(l_uint32 *datad, 03214 l_int32 w, 03215 l_int32 h, 03216 l_int32 wpld, 03217 l_uint32 *datas, 03218 l_int32 wpls) 03219 { 03220 l_int32 i; 03221 register l_int32 j, pwpls; 03222 register l_uint32 *sptr, *dptr; 03223 03224 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03225 03226 for (i = 0; i < h; i++) { 03227 sptr = datas + i * wpls; 03228 dptr = datad + i * wpld; 03229 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03230 *dptr = ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03231 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03232 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03233 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03234 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03235 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03236 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03237 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03238 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03239 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03240 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03241 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03242 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03243 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03244 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03245 (*sptr) & 03246 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03247 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03248 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03249 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03250 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03251 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03252 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03253 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03254 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03255 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03256 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03257 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03258 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03259 ((*(sptr) << 14) | (*(sptr + 1) >> 18)); 03260 } 03261 } 03262 } 03263 03264 static void 03265 fdilate_3_29(l_uint32 *datad, 03266 l_int32 w, 03267 l_int32 h, 03268 l_int32 wpld, 03269 l_uint32 *datas, 03270 l_int32 wpls) 03271 { 03272 l_int32 i; 03273 register l_int32 j, pwpls; 03274 register l_uint32 *sptr, *dptr; 03275 03276 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03277 03278 for (i = 0; i < h; i++) { 03279 sptr = datas + i * wpls; 03280 dptr = datad + i * wpld; 03281 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03282 *dptr = ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03283 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03284 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03285 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03286 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03287 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03288 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03289 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03290 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03291 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03292 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03293 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03294 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03295 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03296 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03297 (*sptr) | 03298 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03299 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03300 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03301 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03302 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03303 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03304 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03305 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03306 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03307 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03308 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03309 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03310 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03311 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03312 ((*(sptr) >> 15) | (*(sptr - 1) << 17)); 03313 } 03314 } 03315 } 03316 03317 static void 03318 ferode_3_29(l_uint32 *datad, 03319 l_int32 w, 03320 l_int32 h, 03321 l_int32 wpld, 03322 l_uint32 *datas, 03323 l_int32 wpls) 03324 { 03325 l_int32 i; 03326 register l_int32 j, pwpls; 03327 register l_uint32 *sptr, *dptr; 03328 03329 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03330 03331 for (i = 0; i < h; i++) { 03332 sptr = datas + i * wpls; 03333 dptr = datad + i * wpld; 03334 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03335 *dptr = ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03336 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03337 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03338 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03339 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03340 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03341 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03342 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03343 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03344 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03345 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03346 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03347 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03348 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03349 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03350 (*sptr) & 03351 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03352 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03353 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03354 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03355 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03356 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03357 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03358 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03359 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03360 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03361 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03362 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03363 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03364 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03365 ((*(sptr) << 15) | (*(sptr + 1) >> 17)); 03366 } 03367 } 03368 } 03369 03370 static void 03371 fdilate_3_30(l_uint32 *datad, 03372 l_int32 w, 03373 l_int32 h, 03374 l_int32 wpld, 03375 l_uint32 *datas, 03376 l_int32 wpls) 03377 { 03378 l_int32 i; 03379 register l_int32 j, pwpls; 03380 register l_uint32 *sptr, *dptr; 03381 03382 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03383 03384 for (i = 0; i < h; i++) { 03385 sptr = datas + i * wpls; 03386 dptr = datad + i * wpld; 03387 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03388 *dptr = ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03389 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03390 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03391 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03392 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03393 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03394 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03395 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03396 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03397 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03398 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03399 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03400 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03401 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03402 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03403 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03404 (*sptr) | 03405 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03406 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03407 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03408 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03409 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03410 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03411 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03412 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03413 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03414 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03415 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03416 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03417 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03418 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03419 ((*(sptr) >> 15) | (*(sptr - 1) << 17)); 03420 } 03421 } 03422 } 03423 03424 static void 03425 ferode_3_30(l_uint32 *datad, 03426 l_int32 w, 03427 l_int32 h, 03428 l_int32 wpld, 03429 l_uint32 *datas, 03430 l_int32 wpls) 03431 { 03432 l_int32 i; 03433 register l_int32 j, pwpls; 03434 register l_uint32 *sptr, *dptr; 03435 03436 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03437 03438 for (i = 0; i < h; i++) { 03439 sptr = datas + i * wpls; 03440 dptr = datad + i * wpld; 03441 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03442 *dptr = ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 03443 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03444 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03445 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03446 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03447 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03448 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03449 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03450 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03451 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03452 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03453 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03454 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03455 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03456 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03457 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03458 (*sptr) & 03459 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03460 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03461 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03462 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03463 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03464 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03465 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03466 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03467 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03468 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03469 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03470 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03471 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03472 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03473 ((*(sptr) << 15) | (*(sptr + 1) >> 17)); 03474 } 03475 } 03476 } 03477 03478 static void 03479 fdilate_3_31(l_uint32 *datad, 03480 l_int32 w, 03481 l_int32 h, 03482 l_int32 wpld, 03483 l_uint32 *datas, 03484 l_int32 wpls) 03485 { 03486 l_int32 i; 03487 register l_int32 j, pwpls; 03488 register l_uint32 *sptr, *dptr; 03489 03490 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03491 03492 for (i = 0; i < h; i++) { 03493 sptr = datas + i * wpls; 03494 dptr = datad + i * wpld; 03495 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03496 *dptr = ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03497 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03498 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03499 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03500 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03501 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03502 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03503 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03504 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03505 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03506 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03507 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03508 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03509 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03510 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03511 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03512 (*sptr) | 03513 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03514 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03515 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03516 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03517 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03518 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03519 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03520 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03521 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03522 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03523 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03524 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03525 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03526 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03527 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 03528 ((*(sptr) >> 16) | (*(sptr - 1) << 16)); 03529 } 03530 } 03531 } 03532 03533 static void 03534 ferode_3_31(l_uint32 *datad, 03535 l_int32 w, 03536 l_int32 h, 03537 l_int32 wpld, 03538 l_uint32 *datas, 03539 l_int32 wpls) 03540 { 03541 l_int32 i; 03542 register l_int32 j, pwpls; 03543 register l_uint32 *sptr, *dptr; 03544 03545 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03546 03547 for (i = 0; i < h; i++) { 03548 sptr = datas + i * wpls; 03549 dptr = datad + i * wpld; 03550 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03551 *dptr = ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 03552 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03553 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03554 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03555 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03556 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03557 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03558 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03559 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03560 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03561 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03562 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03563 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03564 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03565 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03566 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03567 (*sptr) & 03568 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03569 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03570 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03571 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03572 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03573 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03574 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03575 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03576 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03577 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03578 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03579 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03580 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03581 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03582 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 03583 ((*(sptr) << 16) | (*(sptr + 1) >> 16)); 03584 } 03585 } 03586 } 03587 03588 static void 03589 fdilate_3_32(l_uint32 *datad, 03590 l_int32 w, 03591 l_int32 h, 03592 l_int32 wpld, 03593 l_uint32 *datas, 03594 l_int32 wpls) 03595 { 03596 l_int32 i; 03597 register l_int32 j, pwpls; 03598 register l_uint32 *sptr, *dptr; 03599 03600 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03601 03602 for (i = 0; i < h; i++) { 03603 sptr = datas + i * wpls; 03604 dptr = datad + i * wpld; 03605 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03606 *dptr = ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 03607 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03608 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03609 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03610 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03611 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03612 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03613 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03614 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03615 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03616 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03617 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03618 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03619 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03620 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03621 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03622 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03623 (*sptr) | 03624 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03625 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03626 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03627 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03628 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03629 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03630 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03631 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03632 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03633 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03634 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03635 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03636 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03637 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03638 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 03639 ((*(sptr) >> 16) | (*(sptr - 1) << 16)); 03640 } 03641 } 03642 } 03643 03644 static void 03645 ferode_3_32(l_uint32 *datad, 03646 l_int32 w, 03647 l_int32 h, 03648 l_int32 wpld, 03649 l_uint32 *datas, 03650 l_int32 wpls) 03651 { 03652 l_int32 i; 03653 register l_int32 j, pwpls; 03654 register l_uint32 *sptr, *dptr; 03655 03656 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03657 03658 for (i = 0; i < h; i++) { 03659 sptr = datas + i * wpls; 03660 dptr = datad + i * wpld; 03661 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03662 *dptr = ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 03663 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 03664 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03665 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03666 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03667 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03668 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03669 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03670 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03671 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03672 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03673 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03674 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03675 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03676 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03677 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03678 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03679 (*sptr) & 03680 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03681 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03682 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03683 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03684 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03685 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03686 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03687 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03688 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03689 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03690 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03691 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03692 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03693 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03694 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 03695 ((*(sptr) << 16) | (*(sptr + 1) >> 16)); 03696 } 03697 } 03698 } 03699 03700 static void 03701 fdilate_3_33(l_uint32 *datad, 03702 l_int32 w, 03703 l_int32 h, 03704 l_int32 wpld, 03705 l_uint32 *datas, 03706 l_int32 wpls) 03707 { 03708 l_int32 i; 03709 register l_int32 j, pwpls; 03710 register l_uint32 *sptr, *dptr; 03711 03712 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03713 03714 for (i = 0; i < h; i++) { 03715 sptr = datas + i * wpls; 03716 dptr = datad + i * wpld; 03717 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03718 *dptr = ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 03719 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03720 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03721 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03722 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03723 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03724 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03725 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03726 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03727 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03728 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03729 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03730 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03731 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03732 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03733 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03734 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03735 (*sptr) | 03736 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03737 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03738 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03739 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03740 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03741 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03742 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03743 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03744 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03745 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03746 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03747 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03748 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03749 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03750 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 03751 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 03752 ((*(sptr) >> 17) | (*(sptr - 1) << 15)); 03753 } 03754 } 03755 } 03756 03757 static void 03758 ferode_3_33(l_uint32 *datad, 03759 l_int32 w, 03760 l_int32 h, 03761 l_int32 wpld, 03762 l_uint32 *datas, 03763 l_int32 wpls) 03764 { 03765 l_int32 i; 03766 register l_int32 j, pwpls; 03767 register l_uint32 *sptr, *dptr; 03768 03769 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03770 03771 for (i = 0; i < h; i++) { 03772 sptr = datas + i * wpls; 03773 dptr = datad + i * wpld; 03774 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03775 *dptr = ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 03776 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 03777 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03778 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03779 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03780 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03781 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03782 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03783 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03784 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03785 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03786 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03787 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03788 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03789 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03790 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03791 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03792 (*sptr) & 03793 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03794 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03795 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03796 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03797 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03798 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03799 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03800 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03801 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03802 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03803 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03804 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03805 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03806 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03807 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 03808 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 03809 ((*(sptr) << 17) | (*(sptr + 1) >> 15)); 03810 } 03811 } 03812 } 03813 03814 static void 03815 fdilate_3_34(l_uint32 *datad, 03816 l_int32 w, 03817 l_int32 h, 03818 l_int32 wpld, 03819 l_uint32 *datas, 03820 l_int32 wpls) 03821 { 03822 l_int32 i; 03823 register l_int32 j, pwpls; 03824 register l_uint32 *sptr, *dptr; 03825 03826 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03827 03828 for (i = 0; i < h; i++) { 03829 sptr = datas + i * wpls; 03830 dptr = datad + i * wpld; 03831 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03832 *dptr = ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 03833 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 03834 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03835 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03836 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03837 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03838 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03839 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03840 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03841 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03842 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03843 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03844 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03845 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03846 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03847 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03848 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03849 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03850 (*sptr) | 03851 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03852 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03853 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03854 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03855 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03856 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03857 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03858 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03859 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03860 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03861 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03862 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03863 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03864 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03865 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 03866 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 03867 ((*(sptr) >> 17) | (*(sptr - 1) << 15)); 03868 } 03869 } 03870 } 03871 03872 static void 03873 ferode_3_34(l_uint32 *datad, 03874 l_int32 w, 03875 l_int32 h, 03876 l_int32 wpld, 03877 l_uint32 *datas, 03878 l_int32 wpls) 03879 { 03880 l_int32 i; 03881 register l_int32 j, pwpls; 03882 register l_uint32 *sptr, *dptr; 03883 03884 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03885 03886 for (i = 0; i < h; i++) { 03887 sptr = datas + i * wpls; 03888 dptr = datad + i * wpld; 03889 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03890 *dptr = ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 03891 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 03892 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 03893 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 03894 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 03895 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 03896 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 03897 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 03898 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 03899 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 03900 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 03901 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 03902 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 03903 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 03904 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 03905 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 03906 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 03907 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 03908 (*sptr) & 03909 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 03910 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 03911 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 03912 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 03913 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 03914 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 03915 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 03916 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 03917 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 03918 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 03919 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 03920 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 03921 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 03922 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 03923 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 03924 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 03925 ((*(sptr) << 17) | (*(sptr + 1) >> 15)); 03926 } 03927 } 03928 } 03929 03930 static void 03931 fdilate_3_35(l_uint32 *datad, 03932 l_int32 w, 03933 l_int32 h, 03934 l_int32 wpld, 03935 l_uint32 *datas, 03936 l_int32 wpls) 03937 { 03938 l_int32 i; 03939 register l_int32 j, pwpls; 03940 register l_uint32 *sptr, *dptr; 03941 03942 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 03943 03944 for (i = 0; i < h; i++) { 03945 sptr = datas + i * wpls; 03946 dptr = datad + i * wpld; 03947 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 03948 *dptr = ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 03949 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 03950 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 03951 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 03952 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 03953 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 03954 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 03955 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 03956 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 03957 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 03958 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 03959 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 03960 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 03961 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 03962 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 03963 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 03964 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 03965 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 03966 (*sptr) | 03967 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 03968 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 03969 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 03970 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 03971 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 03972 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 03973 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 03974 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 03975 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 03976 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 03977 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 03978 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 03979 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 03980 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 03981 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 03982 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 03983 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 03984 ((*(sptr) >> 18) | (*(sptr - 1) << 14)); 03985 } 03986 } 03987 } 03988 03989 static void 03990 ferode_3_35(l_uint32 *datad, 03991 l_int32 w, 03992 l_int32 h, 03993 l_int32 wpld, 03994 l_uint32 *datas, 03995 l_int32 wpls) 03996 { 03997 l_int32 i; 03998 register l_int32 j, pwpls; 03999 register l_uint32 *sptr, *dptr; 04000 04001 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04002 04003 for (i = 0; i < h; i++) { 04004 sptr = datas + i * wpls; 04005 dptr = datad + i * wpld; 04006 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04007 *dptr = ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04008 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04009 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04010 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04011 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04012 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04013 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04014 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04015 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04016 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04017 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04018 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04019 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04020 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04021 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04022 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04023 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04024 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04025 (*sptr) & 04026 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04027 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04028 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04029 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04030 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04031 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04032 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04033 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04034 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04035 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04036 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04037 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04038 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04039 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04040 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04041 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04042 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04043 ((*(sptr) << 18) | (*(sptr + 1) >> 14)); 04044 } 04045 } 04046 } 04047 04048 static void 04049 fdilate_3_36(l_uint32 *datad, 04050 l_int32 w, 04051 l_int32 h, 04052 l_int32 wpld, 04053 l_uint32 *datas, 04054 l_int32 wpls) 04055 { 04056 l_int32 i; 04057 register l_int32 j, pwpls; 04058 register l_uint32 *sptr, *dptr; 04059 04060 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04061 04062 for (i = 0; i < h; i++) { 04063 sptr = datas + i * wpls; 04064 dptr = datad + i * wpld; 04065 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04066 *dptr = ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04067 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04068 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04069 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04070 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04071 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04072 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04073 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04074 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04075 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04076 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04077 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04078 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04079 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04080 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04081 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04082 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04083 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04084 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04085 (*sptr) | 04086 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04087 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04088 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04089 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04090 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04091 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04092 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04093 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04094 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04095 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04096 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04097 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04098 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04099 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04100 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04101 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04102 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04103 ((*(sptr) >> 18) | (*(sptr - 1) << 14)); 04104 } 04105 } 04106 } 04107 04108 static void 04109 ferode_3_36(l_uint32 *datad, 04110 l_int32 w, 04111 l_int32 h, 04112 l_int32 wpld, 04113 l_uint32 *datas, 04114 l_int32 wpls) 04115 { 04116 l_int32 i; 04117 register l_int32 j, pwpls; 04118 register l_uint32 *sptr, *dptr; 04119 04120 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04121 04122 for (i = 0; i < h; i++) { 04123 sptr = datas + i * wpls; 04124 dptr = datad + i * wpld; 04125 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04126 *dptr = ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04127 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04128 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04129 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04130 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04131 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04132 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04133 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04134 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04135 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04136 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04137 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04138 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04139 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04140 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04141 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04142 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04143 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04144 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04145 (*sptr) & 04146 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04147 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04148 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04149 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04150 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04151 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04152 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04153 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04154 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04155 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04156 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04157 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04158 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04159 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04160 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04161 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04162 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04163 ((*(sptr) << 18) | (*(sptr + 1) >> 14)); 04164 } 04165 } 04166 } 04167 04168 static void 04169 fdilate_3_37(l_uint32 *datad, 04170 l_int32 w, 04171 l_int32 h, 04172 l_int32 wpld, 04173 l_uint32 *datas, 04174 l_int32 wpls) 04175 { 04176 l_int32 i; 04177 register l_int32 j, pwpls; 04178 register l_uint32 *sptr, *dptr; 04179 04180 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04181 04182 for (i = 0; i < h; i++) { 04183 sptr = datas + i * wpls; 04184 dptr = datad + i * wpld; 04185 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04186 *dptr = ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04187 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04188 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04189 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04190 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04191 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04192 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04193 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04194 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04195 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04196 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04197 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04198 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04199 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04200 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04201 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04202 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04203 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04204 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04205 (*sptr) | 04206 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04207 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04208 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04209 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04210 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04211 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04212 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04213 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04214 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04215 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04216 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04217 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04218 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04219 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04220 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04221 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04222 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04223 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04224 ((*(sptr) >> 19) | (*(sptr - 1) << 13)); 04225 } 04226 } 04227 } 04228 04229 static void 04230 ferode_3_37(l_uint32 *datad, 04231 l_int32 w, 04232 l_int32 h, 04233 l_int32 wpld, 04234 l_uint32 *datas, 04235 l_int32 wpls) 04236 { 04237 l_int32 i; 04238 register l_int32 j, pwpls; 04239 register l_uint32 *sptr, *dptr; 04240 04241 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04242 04243 for (i = 0; i < h; i++) { 04244 sptr = datas + i * wpls; 04245 dptr = datad + i * wpld; 04246 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04247 *dptr = ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04248 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04249 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04250 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04251 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04252 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04253 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04254 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04255 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04256 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04257 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04258 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04259 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04260 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04261 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04262 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04263 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04264 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04265 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04266 (*sptr) & 04267 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04268 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04269 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04270 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04271 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04272 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04273 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04274 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04275 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04276 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04277 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04278 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04279 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04280 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04281 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04282 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04283 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04284 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04285 ((*(sptr) << 19) | (*(sptr + 1) >> 13)); 04286 } 04287 } 04288 } 04289 04290 static void 04291 fdilate_3_38(l_uint32 *datad, 04292 l_int32 w, 04293 l_int32 h, 04294 l_int32 wpld, 04295 l_uint32 *datas, 04296 l_int32 wpls) 04297 { 04298 l_int32 i; 04299 register l_int32 j, pwpls; 04300 register l_uint32 *sptr, *dptr; 04301 04302 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04303 04304 for (i = 0; i < h; i++) { 04305 sptr = datas + i * wpls; 04306 dptr = datad + i * wpld; 04307 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04308 *dptr = ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04309 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04310 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04311 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04312 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04313 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04314 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04315 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04316 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04317 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04318 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04319 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04320 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04321 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04322 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04323 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04324 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04325 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04326 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04327 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04328 (*sptr) | 04329 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04330 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04331 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04332 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04333 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04334 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04335 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04336 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04337 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04338 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04339 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04340 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04341 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04342 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04343 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04344 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04345 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04346 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04347 ((*(sptr) >> 19) | (*(sptr - 1) << 13)); 04348 } 04349 } 04350 } 04351 04352 static void 04353 ferode_3_38(l_uint32 *datad, 04354 l_int32 w, 04355 l_int32 h, 04356 l_int32 wpld, 04357 l_uint32 *datas, 04358 l_int32 wpls) 04359 { 04360 l_int32 i; 04361 register l_int32 j, pwpls; 04362 register l_uint32 *sptr, *dptr; 04363 04364 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04365 04366 for (i = 0; i < h; i++) { 04367 sptr = datas + i * wpls; 04368 dptr = datad + i * wpld; 04369 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04370 *dptr = ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 04371 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04372 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04373 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04374 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04375 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04376 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04377 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04378 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04379 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04380 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04381 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04382 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04383 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04384 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04385 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04386 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04387 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04388 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04389 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04390 (*sptr) & 04391 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04392 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04393 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04394 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04395 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04396 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04397 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04398 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04399 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04400 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04401 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04402 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04403 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04404 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04405 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04406 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04407 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04408 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04409 ((*(sptr) << 19) | (*(sptr + 1) >> 13)); 04410 } 04411 } 04412 } 04413 04414 static void 04415 fdilate_3_39(l_uint32 *datad, 04416 l_int32 w, 04417 l_int32 h, 04418 l_int32 wpld, 04419 l_uint32 *datas, 04420 l_int32 wpls) 04421 { 04422 l_int32 i; 04423 register l_int32 j, pwpls; 04424 register l_uint32 *sptr, *dptr; 04425 04426 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04427 04428 for (i = 0; i < h; i++) { 04429 sptr = datas + i * wpls; 04430 dptr = datad + i * wpld; 04431 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04432 *dptr = ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04433 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04434 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04435 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04436 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04437 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04438 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04439 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04440 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04441 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04442 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04443 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04444 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04445 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04446 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04447 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04448 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04449 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04450 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04451 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04452 (*sptr) | 04453 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04454 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04455 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04456 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04457 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04458 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04459 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04460 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04461 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04462 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04463 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04464 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04465 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04466 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04467 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04468 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04469 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04470 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04471 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 04472 ((*(sptr) >> 20) | (*(sptr - 1) << 12)); 04473 } 04474 } 04475 } 04476 04477 static void 04478 ferode_3_39(l_uint32 *datad, 04479 l_int32 w, 04480 l_int32 h, 04481 l_int32 wpld, 04482 l_uint32 *datas, 04483 l_int32 wpls) 04484 { 04485 l_int32 i; 04486 register l_int32 j, pwpls; 04487 register l_uint32 *sptr, *dptr; 04488 04489 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04490 04491 for (i = 0; i < h; i++) { 04492 sptr = datas + i * wpls; 04493 dptr = datad + i * wpld; 04494 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04495 *dptr = ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 04496 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04497 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04498 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04499 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04500 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04501 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04502 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04503 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04504 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04505 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04506 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04507 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04508 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04509 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04510 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04511 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04512 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04513 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04514 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04515 (*sptr) & 04516 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04517 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04518 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04519 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04520 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04521 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04522 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04523 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04524 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04525 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04526 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04527 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04528 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04529 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04530 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04531 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04532 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04533 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04534 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 04535 ((*(sptr) << 20) | (*(sptr + 1) >> 12)); 04536 } 04537 } 04538 } 04539 04540 static void 04541 fdilate_3_40(l_uint32 *datad, 04542 l_int32 w, 04543 l_int32 h, 04544 l_int32 wpld, 04545 l_uint32 *datas, 04546 l_int32 wpls) 04547 { 04548 l_int32 i; 04549 register l_int32 j, pwpls; 04550 register l_uint32 *sptr, *dptr; 04551 04552 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04553 04554 for (i = 0; i < h; i++) { 04555 sptr = datas + i * wpls; 04556 dptr = datad + i * wpld; 04557 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04558 *dptr = ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 04559 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04560 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04561 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04562 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04563 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04564 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04565 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04566 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04567 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04568 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04569 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04570 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04571 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04572 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04573 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04574 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04575 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04576 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04577 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04578 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04579 (*sptr) | 04580 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04581 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04582 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04583 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04584 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04585 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04586 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04587 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04588 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04589 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04590 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04591 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04592 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04593 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04594 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04595 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04596 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04597 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04598 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 04599 ((*(sptr) >> 20) | (*(sptr - 1) << 12)); 04600 } 04601 } 04602 } 04603 04604 static void 04605 ferode_3_40(l_uint32 *datad, 04606 l_int32 w, 04607 l_int32 h, 04608 l_int32 wpld, 04609 l_uint32 *datas, 04610 l_int32 wpls) 04611 { 04612 l_int32 i; 04613 register l_int32 j, pwpls; 04614 register l_uint32 *sptr, *dptr; 04615 04616 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04617 04618 for (i = 0; i < h; i++) { 04619 sptr = datas + i * wpls; 04620 dptr = datad + i * wpld; 04621 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04622 *dptr = ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 04623 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 04624 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04625 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04626 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04627 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04628 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04629 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04630 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04631 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04632 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04633 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04634 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04635 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04636 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04637 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04638 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04639 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04640 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04641 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04642 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04643 (*sptr) & 04644 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04645 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04646 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04647 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04648 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04649 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04650 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04651 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04652 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04653 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04654 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04655 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04656 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04657 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04658 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04659 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04660 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04661 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04662 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 04663 ((*(sptr) << 20) | (*(sptr + 1) >> 12)); 04664 } 04665 } 04666 } 04667 04668 static void 04669 fdilate_3_41(l_uint32 *datad, 04670 l_int32 w, 04671 l_int32 h, 04672 l_int32 wpld, 04673 l_uint32 *datas, 04674 l_int32 wpls) 04675 { 04676 l_int32 i; 04677 register l_int32 j, pwpls; 04678 register l_uint32 *sptr, *dptr; 04679 04680 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04681 04682 for (i = 0; i < h; i++) { 04683 sptr = datas + i * wpls; 04684 dptr = datad + i * wpld; 04685 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04686 *dptr = ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 04687 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04688 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04689 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04690 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04691 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04692 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04693 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04694 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04695 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04696 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04697 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04698 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04699 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04700 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04701 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04702 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04703 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04704 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04705 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04706 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04707 (*sptr) | 04708 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04709 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04710 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04711 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04712 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04713 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04714 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04715 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04716 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04717 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04718 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04719 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04720 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04721 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04722 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04723 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04724 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04725 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04726 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 04727 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 04728 ((*(sptr) >> 21) | (*(sptr - 1) << 11)); 04729 } 04730 } 04731 } 04732 04733 static void 04734 ferode_3_41(l_uint32 *datad, 04735 l_int32 w, 04736 l_int32 h, 04737 l_int32 wpld, 04738 l_uint32 *datas, 04739 l_int32 wpls) 04740 { 04741 l_int32 i; 04742 register l_int32 j, pwpls; 04743 register l_uint32 *sptr, *dptr; 04744 04745 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04746 04747 for (i = 0; i < h; i++) { 04748 sptr = datas + i * wpls; 04749 dptr = datad + i * wpld; 04750 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04751 *dptr = ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 04752 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 04753 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04754 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04755 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04756 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04757 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04758 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04759 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04760 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04761 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04762 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04763 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04764 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04765 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04766 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04767 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04768 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04769 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04770 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04771 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04772 (*sptr) & 04773 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04774 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04775 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04776 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04777 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04778 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04779 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04780 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04781 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04782 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04783 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04784 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04785 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04786 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04787 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04788 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04789 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04790 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04791 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 04792 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 04793 ((*(sptr) << 21) | (*(sptr + 1) >> 11)); 04794 } 04795 } 04796 } 04797 04798 static void 04799 fdilate_3_42(l_uint32 *datad, 04800 l_int32 w, 04801 l_int32 h, 04802 l_int32 wpld, 04803 l_uint32 *datas, 04804 l_int32 wpls) 04805 { 04806 l_int32 i; 04807 register l_int32 j, pwpls; 04808 register l_uint32 *sptr, *dptr; 04809 04810 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04811 04812 for (i = 0; i < h; i++) { 04813 sptr = datas + i * wpls; 04814 dptr = datad + i * wpld; 04815 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04816 *dptr = ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 04817 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 04818 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04819 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04820 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04821 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04822 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04823 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04824 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04825 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04826 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04827 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04828 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04829 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04830 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04831 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04832 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04833 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04834 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04835 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04836 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04837 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04838 (*sptr) | 04839 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04840 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04841 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04842 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04843 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04844 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04845 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04846 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04847 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04848 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04849 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04850 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04851 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04852 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04853 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04854 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04855 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04856 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04857 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 04858 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 04859 ((*(sptr) >> 21) | (*(sptr - 1) << 11)); 04860 } 04861 } 04862 } 04863 04864 static void 04865 ferode_3_42(l_uint32 *datad, 04866 l_int32 w, 04867 l_int32 h, 04868 l_int32 wpld, 04869 l_uint32 *datas, 04870 l_int32 wpls) 04871 { 04872 l_int32 i; 04873 register l_int32 j, pwpls; 04874 register l_uint32 *sptr, *dptr; 04875 04876 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04877 04878 for (i = 0; i < h; i++) { 04879 sptr = datas + i * wpls; 04880 dptr = datad + i * wpld; 04881 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04882 *dptr = ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 04883 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 04884 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 04885 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 04886 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 04887 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 04888 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 04889 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 04890 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 04891 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 04892 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 04893 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 04894 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 04895 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 04896 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 04897 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 04898 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 04899 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 04900 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 04901 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 04902 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 04903 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 04904 (*sptr) & 04905 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 04906 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 04907 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 04908 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 04909 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 04910 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 04911 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 04912 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 04913 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 04914 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 04915 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 04916 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 04917 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 04918 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 04919 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 04920 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 04921 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 04922 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 04923 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 04924 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 04925 ((*(sptr) << 21) | (*(sptr + 1) >> 11)); 04926 } 04927 } 04928 } 04929 04930 static void 04931 fdilate_3_43(l_uint32 *datad, 04932 l_int32 w, 04933 l_int32 h, 04934 l_int32 wpld, 04935 l_uint32 *datas, 04936 l_int32 wpls) 04937 { 04938 l_int32 i; 04939 register l_int32 j, pwpls; 04940 register l_uint32 *sptr, *dptr; 04941 04942 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 04943 04944 for (i = 0; i < h; i++) { 04945 sptr = datas + i * wpls; 04946 dptr = datad + i * wpld; 04947 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 04948 *dptr = ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 04949 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 04950 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 04951 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 04952 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 04953 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 04954 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 04955 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 04956 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 04957 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 04958 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 04959 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 04960 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 04961 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 04962 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 04963 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 04964 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 04965 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 04966 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 04967 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 04968 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 04969 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 04970 (*sptr) | 04971 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 04972 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 04973 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 04974 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 04975 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 04976 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 04977 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 04978 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 04979 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 04980 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 04981 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 04982 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 04983 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 04984 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 04985 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 04986 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 04987 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 04988 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 04989 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 04990 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 04991 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 04992 ((*(sptr) >> 22) | (*(sptr - 1) << 10)); 04993 } 04994 } 04995 } 04996 04997 static void 04998 ferode_3_43(l_uint32 *datad, 04999 l_int32 w, 05000 l_int32 h, 05001 l_int32 wpld, 05002 l_uint32 *datas, 05003 l_int32 wpls) 05004 { 05005 l_int32 i; 05006 register l_int32 j, pwpls; 05007 register l_uint32 *sptr, *dptr; 05008 05009 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05010 05011 for (i = 0; i < h; i++) { 05012 sptr = datas + i * wpls; 05013 dptr = datad + i * wpld; 05014 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05015 *dptr = ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05016 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05017 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05018 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05019 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05020 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05021 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05022 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05023 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05024 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05025 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05026 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05027 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05028 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05029 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05030 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05031 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05032 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05033 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05034 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05035 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05036 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05037 (*sptr) & 05038 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05039 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05040 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05041 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05042 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05043 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05044 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05045 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05046 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05047 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05048 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05049 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05050 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05051 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05052 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05053 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05054 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05055 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05056 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05057 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05058 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05059 ((*(sptr) << 22) | (*(sptr + 1) >> 10)); 05060 } 05061 } 05062 } 05063 05064 static void 05065 fdilate_3_44(l_uint32 *datad, 05066 l_int32 w, 05067 l_int32 h, 05068 l_int32 wpld, 05069 l_uint32 *datas, 05070 l_int32 wpls) 05071 { 05072 l_int32 i; 05073 register l_int32 j, pwpls; 05074 register l_uint32 *sptr, *dptr; 05075 05076 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05077 05078 for (i = 0; i < h; i++) { 05079 sptr = datas + i * wpls; 05080 dptr = datad + i * wpld; 05081 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05082 *dptr = ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05083 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05084 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05085 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05086 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05087 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05088 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05089 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05090 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05091 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05092 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05093 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05094 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05095 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05096 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05097 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05098 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05099 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05100 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05101 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05102 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05103 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05104 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05105 (*sptr) | 05106 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05107 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05108 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05109 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05110 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05111 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05112 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05113 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05114 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05115 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05116 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05117 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05118 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05119 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05120 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05121 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05122 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05123 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05124 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05125 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05126 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05127 ((*(sptr) >> 22) | (*(sptr - 1) << 10)); 05128 } 05129 } 05130 } 05131 05132 static void 05133 ferode_3_44(l_uint32 *datad, 05134 l_int32 w, 05135 l_int32 h, 05136 l_int32 wpld, 05137 l_uint32 *datas, 05138 l_int32 wpls) 05139 { 05140 l_int32 i; 05141 register l_int32 j, pwpls; 05142 register l_uint32 *sptr, *dptr; 05143 05144 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05145 05146 for (i = 0; i < h; i++) { 05147 sptr = datas + i * wpls; 05148 dptr = datad + i * wpld; 05149 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05150 *dptr = ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05151 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05152 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05153 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05154 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05155 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05156 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05157 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05158 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05159 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05160 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05161 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05162 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05163 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05164 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05165 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05166 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05167 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05168 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05169 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05170 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05171 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05172 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05173 (*sptr) & 05174 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05175 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05176 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05177 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05178 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05179 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05180 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05181 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05182 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05183 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05184 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05185 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05186 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05187 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05188 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05189 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05190 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05191 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05192 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05193 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05194 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05195 ((*(sptr) << 22) | (*(sptr + 1) >> 10)); 05196 } 05197 } 05198 } 05199 05200 static void 05201 fdilate_3_45(l_uint32 *datad, 05202 l_int32 w, 05203 l_int32 h, 05204 l_int32 wpld, 05205 l_uint32 *datas, 05206 l_int32 wpls) 05207 { 05208 l_int32 i; 05209 register l_int32 j, pwpls; 05210 register l_uint32 *sptr, *dptr; 05211 05212 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05213 05214 for (i = 0; i < h; i++) { 05215 sptr = datas + i * wpls; 05216 dptr = datad + i * wpld; 05217 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05218 *dptr = ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05219 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05220 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05221 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05222 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05223 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05224 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05225 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05226 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05227 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05228 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05229 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05230 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05231 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05232 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05233 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05234 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05235 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05236 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05237 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05238 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05239 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05240 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05241 (*sptr) | 05242 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05243 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05244 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05245 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05246 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05247 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05248 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05249 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05250 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05251 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05252 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05253 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05254 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05255 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05256 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05257 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05258 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05259 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05260 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05261 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05262 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05263 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05264 ((*(sptr) >> 23) | (*(sptr - 1) << 9)); 05265 } 05266 } 05267 } 05268 05269 static void 05270 ferode_3_45(l_uint32 *datad, 05271 l_int32 w, 05272 l_int32 h, 05273 l_int32 wpld, 05274 l_uint32 *datas, 05275 l_int32 wpls) 05276 { 05277 l_int32 i; 05278 register l_int32 j, pwpls; 05279 register l_uint32 *sptr, *dptr; 05280 05281 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05282 05283 for (i = 0; i < h; i++) { 05284 sptr = datas + i * wpls; 05285 dptr = datad + i * wpld; 05286 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05287 *dptr = ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05288 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05289 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05290 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05291 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05292 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05293 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05294 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05295 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05296 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05297 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05298 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05299 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05300 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05301 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05302 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05303 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05304 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05305 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05306 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05307 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05308 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05309 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05310 (*sptr) & 05311 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05312 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05313 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05314 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05315 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05316 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05317 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05318 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05319 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05320 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05321 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05322 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05323 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05324 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05325 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05326 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05327 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05328 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05329 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05330 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05331 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05332 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 05333 ((*(sptr) << 23) | (*(sptr + 1) >> 9)); 05334 } 05335 } 05336 } 05337 05338 static void 05339 fdilate_3_46(l_uint32 *datad, 05340 l_int32 w, 05341 l_int32 h, 05342 l_int32 wpld, 05343 l_uint32 *datas, 05344 l_int32 wpls) 05345 { 05346 l_int32 i; 05347 register l_int32 j, pwpls; 05348 register l_uint32 *sptr, *dptr; 05349 05350 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05351 05352 for (i = 0; i < h; i++) { 05353 sptr = datas + i * wpls; 05354 dptr = datad + i * wpld; 05355 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05356 *dptr = ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 05357 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05358 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05359 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05360 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05361 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05362 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05363 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05364 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05365 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05366 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05367 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05368 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05369 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05370 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05371 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05372 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05373 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05374 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05375 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05376 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05377 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05378 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05379 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05380 (*sptr) | 05381 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05382 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05383 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05384 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05385 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05386 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05387 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05388 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05389 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05390 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05391 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05392 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05393 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05394 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05395 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05396 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05397 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05398 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05399 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05400 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05401 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05402 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05403 ((*(sptr) >> 23) | (*(sptr - 1) << 9)); 05404 } 05405 } 05406 } 05407 05408 static void 05409 ferode_3_46(l_uint32 *datad, 05410 l_int32 w, 05411 l_int32 h, 05412 l_int32 wpld, 05413 l_uint32 *datas, 05414 l_int32 wpls) 05415 { 05416 l_int32 i; 05417 register l_int32 j, pwpls; 05418 register l_uint32 *sptr, *dptr; 05419 05420 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05421 05422 for (i = 0; i < h; i++) { 05423 sptr = datas + i * wpls; 05424 dptr = datad + i * wpld; 05425 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05426 *dptr = ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 05427 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05428 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05429 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05430 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05431 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05432 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05433 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05434 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05435 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05436 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05437 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05438 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05439 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05440 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05441 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05442 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05443 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05444 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05445 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05446 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05447 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05448 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05449 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05450 (*sptr) & 05451 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05452 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05453 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05454 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05455 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05456 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05457 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05458 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05459 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05460 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05461 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05462 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05463 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05464 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05465 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05466 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05467 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05468 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05469 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05470 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05471 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05472 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 05473 ((*(sptr) << 23) | (*(sptr + 1) >> 9)); 05474 } 05475 } 05476 } 05477 05478 static void 05479 fdilate_3_47(l_uint32 *datad, 05480 l_int32 w, 05481 l_int32 h, 05482 l_int32 wpld, 05483 l_uint32 *datas, 05484 l_int32 wpls) 05485 { 05486 l_int32 i; 05487 register l_int32 j, pwpls; 05488 register l_uint32 *sptr, *dptr; 05489 05490 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05491 05492 for (i = 0; i < h; i++) { 05493 sptr = datas + i * wpls; 05494 dptr = datad + i * wpld; 05495 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05496 *dptr = ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 05497 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05498 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05499 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05500 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05501 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05502 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05503 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05504 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05505 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05506 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05507 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05508 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05509 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05510 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05511 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05512 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05513 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05514 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05515 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05516 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05517 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05518 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05519 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05520 (*sptr) | 05521 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05522 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05523 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05524 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05525 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05526 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05527 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05528 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05529 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05530 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05531 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05532 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05533 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05534 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05535 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05536 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05537 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05538 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05539 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05540 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05541 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05542 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05543 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 05544 ((*(sptr) >> 24) | (*(sptr - 1) << 8)); 05545 } 05546 } 05547 } 05548 05549 static void 05550 ferode_3_47(l_uint32 *datad, 05551 l_int32 w, 05552 l_int32 h, 05553 l_int32 wpld, 05554 l_uint32 *datas, 05555 l_int32 wpls) 05556 { 05557 l_int32 i; 05558 register l_int32 j, pwpls; 05559 register l_uint32 *sptr, *dptr; 05560 05561 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05562 05563 for (i = 0; i < h; i++) { 05564 sptr = datas + i * wpls; 05565 dptr = datad + i * wpld; 05566 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05567 *dptr = ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 05568 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05569 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05570 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05571 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05572 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05573 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05574 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05575 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05576 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05577 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05578 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05579 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05580 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05581 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05582 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05583 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05584 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05585 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05586 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05587 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05588 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05589 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05590 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05591 (*sptr) & 05592 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05593 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05594 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05595 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05596 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05597 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05598 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05599 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05600 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05601 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05602 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05603 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05604 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05605 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05606 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05607 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05608 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05609 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05610 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05611 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05612 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05613 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 05614 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 05615 ((*(sptr) << 24) | (*(sptr + 1) >> 8)); 05616 } 05617 } 05618 } 05619 05620 static void 05621 fdilate_3_48(l_uint32 *datad, 05622 l_int32 w, 05623 l_int32 h, 05624 l_int32 wpld, 05625 l_uint32 *datas, 05626 l_int32 wpls) 05627 { 05628 l_int32 i; 05629 register l_int32 j, pwpls; 05630 register l_uint32 *sptr, *dptr; 05631 05632 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05633 05634 for (i = 0; i < h; i++) { 05635 sptr = datas + i * wpls; 05636 dptr = datad + i * wpld; 05637 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05638 *dptr = ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 05639 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 05640 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05641 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05642 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05643 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05644 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05645 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05646 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05647 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05648 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05649 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05650 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05651 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05652 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05653 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05654 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05655 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05656 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05657 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05658 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05659 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05660 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05661 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05662 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05663 (*sptr) | 05664 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05665 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05666 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05667 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05668 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05669 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05670 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05671 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05672 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05673 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05674 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05675 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05676 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05677 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05678 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05679 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05680 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05681 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05682 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05683 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05684 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05685 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05686 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 05687 ((*(sptr) >> 24) | (*(sptr - 1) << 8)); 05688 } 05689 } 05690 } 05691 05692 static void 05693 ferode_3_48(l_uint32 *datad, 05694 l_int32 w, 05695 l_int32 h, 05696 l_int32 wpld, 05697 l_uint32 *datas, 05698 l_int32 wpls) 05699 { 05700 l_int32 i; 05701 register l_int32 j, pwpls; 05702 register l_uint32 *sptr, *dptr; 05703 05704 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05705 05706 for (i = 0; i < h; i++) { 05707 sptr = datas + i * wpls; 05708 dptr = datad + i * wpld; 05709 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05710 *dptr = ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 05711 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 05712 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05713 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05714 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05715 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05716 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05717 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05718 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05719 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05720 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05721 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05722 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05723 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05724 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05725 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05726 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05727 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05728 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05729 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05730 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05731 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05732 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05733 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05734 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05735 (*sptr) & 05736 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05737 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05738 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05739 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05740 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05741 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05742 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05743 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05744 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05745 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05746 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05747 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05748 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05749 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05750 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05751 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05752 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05753 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05754 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05755 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05756 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05757 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 05758 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 05759 ((*(sptr) << 24) | (*(sptr + 1) >> 8)); 05760 } 05761 } 05762 } 05763 05764 static void 05765 fdilate_3_49(l_uint32 *datad, 05766 l_int32 w, 05767 l_int32 h, 05768 l_int32 wpld, 05769 l_uint32 *datas, 05770 l_int32 wpls) 05771 { 05772 l_int32 i; 05773 register l_int32 j, pwpls; 05774 register l_uint32 *sptr, *dptr; 05775 05776 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05777 05778 for (i = 0; i < h; i++) { 05779 sptr = datas + i * wpls; 05780 dptr = datad + i * wpld; 05781 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05782 *dptr = ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 05783 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 05784 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05785 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05786 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05787 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05788 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05789 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05790 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05791 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05792 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05793 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05794 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05795 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05796 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05797 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05798 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05799 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05800 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05801 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05802 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05803 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05804 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05805 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05806 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05807 (*sptr) | 05808 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05809 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05810 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05811 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05812 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05813 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05814 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05815 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05816 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05817 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05818 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05819 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05820 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05821 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05822 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05823 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05824 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05825 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05826 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05827 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05828 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05829 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05830 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 05831 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 05832 ((*(sptr) >> 25) | (*(sptr - 1) << 7)); 05833 } 05834 } 05835 } 05836 05837 static void 05838 ferode_3_49(l_uint32 *datad, 05839 l_int32 w, 05840 l_int32 h, 05841 l_int32 wpld, 05842 l_uint32 *datas, 05843 l_int32 wpls) 05844 { 05845 l_int32 i; 05846 register l_int32 j, pwpls; 05847 register l_uint32 *sptr, *dptr; 05848 05849 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05850 05851 for (i = 0; i < h; i++) { 05852 sptr = datas + i * wpls; 05853 dptr = datad + i * wpld; 05854 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05855 *dptr = ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 05856 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 05857 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 05858 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 05859 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 05860 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 05861 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 05862 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 05863 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 05864 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 05865 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 05866 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 05867 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 05868 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 05869 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 05870 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 05871 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 05872 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 05873 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 05874 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 05875 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 05876 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 05877 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 05878 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 05879 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 05880 (*sptr) & 05881 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 05882 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 05883 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 05884 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 05885 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 05886 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 05887 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 05888 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 05889 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 05890 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 05891 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 05892 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 05893 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 05894 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 05895 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 05896 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 05897 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 05898 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 05899 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 05900 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 05901 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 05902 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 05903 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 05904 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 05905 ((*(sptr) << 25) | (*(sptr + 1) >> 7)); 05906 } 05907 } 05908 } 05909 05910 static void 05911 fdilate_3_50(l_uint32 *datad, 05912 l_int32 w, 05913 l_int32 h, 05914 l_int32 wpld, 05915 l_uint32 *datas, 05916 l_int32 wpls) 05917 { 05918 l_int32 i; 05919 register l_int32 j, pwpls; 05920 register l_uint32 *sptr, *dptr; 05921 05922 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05923 05924 for (i = 0; i < h; i++) { 05925 sptr = datas + i * wpls; 05926 dptr = datad + i * wpld; 05927 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 05928 *dptr = ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 05929 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 05930 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 05931 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 05932 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 05933 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 05934 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 05935 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 05936 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 05937 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 05938 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 05939 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 05940 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 05941 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 05942 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 05943 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 05944 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 05945 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 05946 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 05947 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 05948 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 05949 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 05950 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 05951 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 05952 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 05953 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 05954 (*sptr) | 05955 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 05956 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 05957 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 05958 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 05959 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 05960 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 05961 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 05962 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 05963 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 05964 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 05965 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 05966 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 05967 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 05968 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 05969 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 05970 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 05971 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 05972 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 05973 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 05974 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 05975 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 05976 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 05977 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 05978 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 05979 ((*(sptr) >> 25) | (*(sptr - 1) << 7)); 05980 } 05981 } 05982 } 05983 05984 static void 05985 ferode_3_50(l_uint32 *datad, 05986 l_int32 w, 05987 l_int32 h, 05988 l_int32 wpld, 05989 l_uint32 *datas, 05990 l_int32 wpls) 05991 { 05992 l_int32 i; 05993 register l_int32 j, pwpls; 05994 register l_uint32 *sptr, *dptr; 05995 05996 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 05997 05998 for (i = 0; i < h; i++) { 05999 sptr = datas + i * wpls; 06000 dptr = datad + i * wpld; 06001 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06002 *dptr = ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06003 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06004 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06005 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06006 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06007 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06008 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06009 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06010 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06011 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06012 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06013 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06014 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06015 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06016 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06017 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06018 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06019 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06020 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06021 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06022 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06023 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06024 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06025 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06026 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06027 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06028 (*sptr) & 06029 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06030 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06031 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06032 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06033 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06034 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06035 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06036 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06037 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06038 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06039 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06040 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06041 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06042 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06043 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06044 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06045 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06046 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06047 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06048 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06049 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06050 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06051 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06052 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06053 ((*(sptr) << 25) | (*(sptr + 1) >> 7)); 06054 } 06055 } 06056 } 06057 06058 static void 06059 fdilate_3_51(l_uint32 *datad, 06060 l_int32 w, 06061 l_int32 h, 06062 l_int32 wpld, 06063 l_uint32 *datas, 06064 l_int32 wpls) 06065 { 06066 l_int32 i; 06067 register l_int32 j, pwpls; 06068 register l_uint32 *sptr, *dptr; 06069 06070 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06071 06072 for (i = 0; i < h; i++) { 06073 sptr = datas + i * wpls; 06074 dptr = datad + i * wpld; 06075 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06076 *dptr = ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06077 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06078 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06079 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06080 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06081 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06082 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06083 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06084 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06085 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06086 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06087 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06088 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06089 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06090 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06091 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06092 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06093 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06094 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06095 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06096 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06097 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06098 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06099 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06100 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06101 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06102 (*sptr) | 06103 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06104 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06105 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06106 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06107 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06108 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06109 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06110 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06111 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06112 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06113 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06114 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06115 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06116 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06117 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06118 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06119 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06120 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06121 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06122 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06123 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06124 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06125 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06126 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06127 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06128 ((*(sptr) >> 26) | (*(sptr - 1) << 6)); 06129 } 06130 } 06131 } 06132 06133 static void 06134 ferode_3_51(l_uint32 *datad, 06135 l_int32 w, 06136 l_int32 h, 06137 l_int32 wpld, 06138 l_uint32 *datas, 06139 l_int32 wpls) 06140 { 06141 l_int32 i; 06142 register l_int32 j, pwpls; 06143 register l_uint32 *sptr, *dptr; 06144 06145 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06146 06147 for (i = 0; i < h; i++) { 06148 sptr = datas + i * wpls; 06149 dptr = datad + i * wpld; 06150 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06151 *dptr = ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06152 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06153 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06154 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06155 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06156 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06157 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06158 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06159 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06160 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06161 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06162 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06163 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06164 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06165 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06166 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06167 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06168 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06169 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06170 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06171 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06172 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06173 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06174 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06175 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06176 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06177 (*sptr) & 06178 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06179 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06180 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06181 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06182 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06183 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06184 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06185 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06186 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06187 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06188 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06189 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06190 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06191 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06192 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06193 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06194 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06195 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06196 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06197 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06198 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06199 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06200 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06201 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06202 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06203 ((*(sptr) << 26) | (*(sptr + 1) >> 6)); 06204 } 06205 } 06206 } 06207 06208 static void 06209 fdilate_3_52(l_uint32 *datad, 06210 l_int32 w, 06211 l_int32 h, 06212 l_int32 wpld, 06213 l_uint32 *datas, 06214 l_int32 wpls) 06215 { 06216 l_int32 i; 06217 register l_int32 j, pwpls; 06218 register l_uint32 *sptr, *dptr; 06219 06220 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06221 06222 for (i = 0; i < h; i++) { 06223 sptr = datas + i * wpls; 06224 dptr = datad + i * wpld; 06225 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06226 *dptr = ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 06227 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06228 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06229 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06230 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06231 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06232 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06233 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06234 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06235 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06236 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06237 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06238 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06239 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06240 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06241 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06242 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06243 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06244 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06245 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06246 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06247 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06248 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06249 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06250 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06251 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06252 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06253 (*sptr) | 06254 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06255 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06256 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06257 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06258 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06259 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06260 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06261 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06262 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06263 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06264 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06265 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06266 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06267 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06268 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06269 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06270 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06271 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06272 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06273 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06274 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06275 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06276 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06277 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06278 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06279 ((*(sptr) >> 26) | (*(sptr - 1) << 6)); 06280 } 06281 } 06282 } 06283 06284 static void 06285 ferode_3_52(l_uint32 *datad, 06286 l_int32 w, 06287 l_int32 h, 06288 l_int32 wpld, 06289 l_uint32 *datas, 06290 l_int32 wpls) 06291 { 06292 l_int32 i; 06293 register l_int32 j, pwpls; 06294 register l_uint32 *sptr, *dptr; 06295 06296 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06297 06298 for (i = 0; i < h; i++) { 06299 sptr = datas + i * wpls; 06300 dptr = datad + i * wpld; 06301 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06302 *dptr = ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 06303 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06304 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06305 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06306 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06307 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06308 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06309 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06310 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06311 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06312 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06313 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06314 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06315 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06316 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06317 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06318 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06319 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06320 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06321 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06322 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06323 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06324 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06325 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06326 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06327 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06328 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06329 (*sptr) & 06330 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06331 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06332 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06333 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06334 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06335 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06336 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06337 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06338 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06339 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06340 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06341 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06342 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06343 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06344 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06345 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06346 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06347 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06348 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06349 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06350 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06351 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06352 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06353 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06354 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06355 ((*(sptr) << 26) | (*(sptr + 1) >> 6)); 06356 } 06357 } 06358 } 06359 06360 static void 06361 fdilate_3_53(l_uint32 *datad, 06362 l_int32 w, 06363 l_int32 h, 06364 l_int32 wpld, 06365 l_uint32 *datas, 06366 l_int32 wpls) 06367 { 06368 l_int32 i; 06369 register l_int32 j, pwpls; 06370 register l_uint32 *sptr, *dptr; 06371 06372 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06373 06374 for (i = 0; i < h; i++) { 06375 sptr = datas + i * wpls; 06376 dptr = datad + i * wpld; 06377 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06378 *dptr = ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 06379 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06380 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06381 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06382 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06383 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06384 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06385 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06386 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06387 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06388 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06389 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06390 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06391 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06392 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06393 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06394 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06395 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06396 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06397 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06398 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06399 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06400 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06401 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06402 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06403 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06404 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06405 (*sptr) | 06406 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06407 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06408 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06409 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06410 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06411 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06412 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06413 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06414 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06415 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06416 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06417 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06418 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06419 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06420 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06421 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06422 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06423 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06424 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06425 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06426 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06427 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06428 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06429 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06430 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06431 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 06432 ((*(sptr) >> 27) | (*(sptr - 1) << 5)); 06433 } 06434 } 06435 } 06436 06437 static void 06438 ferode_3_53(l_uint32 *datad, 06439 l_int32 w, 06440 l_int32 h, 06441 l_int32 wpld, 06442 l_uint32 *datas, 06443 l_int32 wpls) 06444 { 06445 l_int32 i; 06446 register l_int32 j, pwpls; 06447 register l_uint32 *sptr, *dptr; 06448 06449 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06450 06451 for (i = 0; i < h; i++) { 06452 sptr = datas + i * wpls; 06453 dptr = datad + i * wpld; 06454 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06455 *dptr = ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 06456 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06457 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06458 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06459 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06460 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06461 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06462 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06463 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06464 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06465 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06466 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06467 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06468 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06469 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06470 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06471 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06472 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06473 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06474 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06475 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06476 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06477 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06478 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06479 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06480 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06481 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06482 (*sptr) & 06483 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06484 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06485 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06486 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06487 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06488 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06489 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06490 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06491 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06492 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06493 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06494 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06495 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06496 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06497 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06498 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06499 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06500 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06501 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06502 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06503 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06504 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06505 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06506 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06507 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06508 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 06509 ((*(sptr) << 27) | (*(sptr + 1) >> 5)); 06510 } 06511 } 06512 } 06513 06514 static void 06515 fdilate_3_54(l_uint32 *datad, 06516 l_int32 w, 06517 l_int32 h, 06518 l_int32 wpld, 06519 l_uint32 *datas, 06520 l_int32 wpls) 06521 { 06522 l_int32 i; 06523 register l_int32 j, pwpls; 06524 register l_uint32 *sptr, *dptr; 06525 06526 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06527 06528 for (i = 0; i < h; i++) { 06529 sptr = datas + i * wpls; 06530 dptr = datad + i * wpld; 06531 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06532 *dptr = ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 06533 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 06534 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06535 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06536 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06537 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06538 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06539 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06540 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06541 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06542 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06543 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06544 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06545 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06546 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06547 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06548 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06549 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06550 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06551 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06552 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06553 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06554 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06555 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06556 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06557 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06558 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06559 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06560 (*sptr) | 06561 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06562 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06563 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06564 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06565 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06566 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06567 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06568 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06569 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06570 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06571 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06572 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06573 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06574 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06575 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06576 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06577 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06578 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06579 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06580 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06581 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06582 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06583 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06584 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06585 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06586 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 06587 ((*(sptr) >> 27) | (*(sptr - 1) << 5)); 06588 } 06589 } 06590 } 06591 06592 static void 06593 ferode_3_54(l_uint32 *datad, 06594 l_int32 w, 06595 l_int32 h, 06596 l_int32 wpld, 06597 l_uint32 *datas, 06598 l_int32 wpls) 06599 { 06600 l_int32 i; 06601 register l_int32 j, pwpls; 06602 register l_uint32 *sptr, *dptr; 06603 06604 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06605 06606 for (i = 0; i < h; i++) { 06607 sptr = datas + i * wpls; 06608 dptr = datad + i * wpld; 06609 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06610 *dptr = ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 06611 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 06612 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06613 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06614 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06615 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06616 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06617 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06618 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06619 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06620 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06621 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06622 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06623 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06624 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06625 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06626 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06627 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06628 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06629 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06630 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06631 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06632 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06633 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06634 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06635 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06636 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06637 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06638 (*sptr) & 06639 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06640 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06641 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06642 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06643 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06644 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06645 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06646 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06647 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06648 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06649 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06650 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06651 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06652 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06653 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06654 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06655 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06656 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06657 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06658 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06659 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06660 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06661 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06662 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06663 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06664 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 06665 ((*(sptr) << 27) | (*(sptr + 1) >> 5)); 06666 } 06667 } 06668 } 06669 06670 static void 06671 fdilate_3_55(l_uint32 *datad, 06672 l_int32 w, 06673 l_int32 h, 06674 l_int32 wpld, 06675 l_uint32 *datas, 06676 l_int32 wpls) 06677 { 06678 l_int32 i; 06679 register l_int32 j, pwpls; 06680 register l_uint32 *sptr, *dptr; 06681 06682 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06683 06684 for (i = 0; i < h; i++) { 06685 sptr = datas + i * wpls; 06686 dptr = datad + i * wpld; 06687 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06688 *dptr = ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 06689 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 06690 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06691 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06692 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06693 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06694 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06695 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06696 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06697 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06698 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06699 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06700 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06701 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06702 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06703 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06704 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06705 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06706 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06707 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06708 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06709 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06710 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06711 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06712 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06713 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06714 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06715 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06716 (*sptr) | 06717 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06718 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06719 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06720 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06721 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06722 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06723 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06724 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06725 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06726 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06727 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06728 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06729 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06730 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06731 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06732 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06733 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06734 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06735 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06736 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06737 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06738 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06739 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06740 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06741 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06742 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 06743 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 06744 ((*(sptr) >> 28) | (*(sptr - 1) << 4)); 06745 } 06746 } 06747 } 06748 06749 static void 06750 ferode_3_55(l_uint32 *datad, 06751 l_int32 w, 06752 l_int32 h, 06753 l_int32 wpld, 06754 l_uint32 *datas, 06755 l_int32 wpls) 06756 { 06757 l_int32 i; 06758 register l_int32 j, pwpls; 06759 register l_uint32 *sptr, *dptr; 06760 06761 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06762 06763 for (i = 0; i < h; i++) { 06764 sptr = datas + i * wpls; 06765 dptr = datad + i * wpld; 06766 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06767 *dptr = ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 06768 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 06769 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06770 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06771 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06772 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06773 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06774 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06775 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06776 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06777 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06778 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06779 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06780 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06781 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06782 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06783 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06784 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06785 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06786 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06787 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06788 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06789 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06790 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06791 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06792 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06793 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06794 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06795 (*sptr) & 06796 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06797 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06798 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06799 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06800 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06801 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06802 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06803 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06804 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06805 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06806 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06807 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06808 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06809 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06810 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06811 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06812 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06813 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06814 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06815 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06816 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06817 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06818 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06819 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06820 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06821 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 06822 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 06823 ((*(sptr) << 28) | (*(sptr + 1) >> 4)); 06824 } 06825 } 06826 } 06827 06828 static void 06829 fdilate_3_56(l_uint32 *datad, 06830 l_int32 w, 06831 l_int32 h, 06832 l_int32 wpld, 06833 l_uint32 *datas, 06834 l_int32 wpls) 06835 { 06836 l_int32 i; 06837 register l_int32 j, pwpls; 06838 register l_uint32 *sptr, *dptr; 06839 06840 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06841 06842 for (i = 0; i < h; i++) { 06843 sptr = datas + i * wpls; 06844 dptr = datad + i * wpld; 06845 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06846 *dptr = ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 06847 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 06848 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 06849 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 06850 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 06851 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 06852 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 06853 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 06854 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 06855 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 06856 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 06857 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 06858 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 06859 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 06860 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 06861 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 06862 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 06863 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 06864 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 06865 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 06866 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 06867 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 06868 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 06869 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 06870 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 06871 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 06872 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 06873 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 06874 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 06875 (*sptr) | 06876 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 06877 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 06878 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 06879 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 06880 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 06881 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 06882 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 06883 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 06884 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 06885 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 06886 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 06887 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 06888 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 06889 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 06890 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 06891 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 06892 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 06893 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 06894 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 06895 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 06896 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 06897 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 06898 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 06899 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 06900 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 06901 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 06902 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 06903 ((*(sptr) >> 28) | (*(sptr - 1) << 4)); 06904 } 06905 } 06906 } 06907 06908 static void 06909 ferode_3_56(l_uint32 *datad, 06910 l_int32 w, 06911 l_int32 h, 06912 l_int32 wpld, 06913 l_uint32 *datas, 06914 l_int32 wpls) 06915 { 06916 l_int32 i; 06917 register l_int32 j, pwpls; 06918 register l_uint32 *sptr, *dptr; 06919 06920 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 06921 06922 for (i = 0; i < h; i++) { 06923 sptr = datas + i * wpls; 06924 dptr = datad + i * wpld; 06925 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 06926 *dptr = ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 06927 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 06928 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 06929 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 06930 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 06931 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 06932 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 06933 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 06934 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 06935 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 06936 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 06937 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 06938 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 06939 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 06940 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 06941 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 06942 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 06943 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 06944 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 06945 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 06946 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 06947 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 06948 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 06949 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 06950 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 06951 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 06952 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 06953 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 06954 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 06955 (*sptr) & 06956 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 06957 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 06958 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 06959 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 06960 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 06961 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 06962 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 06963 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 06964 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 06965 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 06966 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 06967 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 06968 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 06969 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 06970 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 06971 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 06972 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 06973 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 06974 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 06975 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 06976 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 06977 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 06978 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 06979 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 06980 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 06981 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 06982 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 06983 ((*(sptr) << 28) | (*(sptr + 1) >> 4)); 06984 } 06985 } 06986 } 06987 06988 static void 06989 fdilate_3_57(l_uint32 *datad, 06990 l_int32 w, 06991 l_int32 h, 06992 l_int32 wpld, 06993 l_uint32 *datas, 06994 l_int32 wpls) 06995 { 06996 l_int32 i; 06997 register l_int32 j, pwpls; 06998 register l_uint32 *sptr, *dptr; 06999 07000 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07001 07002 for (i = 0; i < h; i++) { 07003 sptr = datas + i * wpls; 07004 dptr = datad + i * wpld; 07005 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07006 *dptr = ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 07007 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 07008 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 07009 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 07010 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 07011 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 07012 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 07013 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 07014 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 07015 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 07016 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 07017 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 07018 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 07019 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 07020 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 07021 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 07022 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 07023 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 07024 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 07025 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 07026 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 07027 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 07028 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 07029 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 07030 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 07031 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 07032 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 07033 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 07034 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 07035 (*sptr) | 07036 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 07037 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 07038 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 07039 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 07040 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 07041 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 07042 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 07043 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 07044 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 07045 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 07046 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 07047 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 07048 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 07049 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 07050 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 07051 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 07052 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 07053 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 07054 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 07055 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 07056 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 07057 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 07058 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 07059 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 07060 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 07061 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 07062 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 07063 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) | 07064 ((*(sptr) >> 29) | (*(sptr - 1) << 3)); 07065 } 07066 } 07067 } 07068 07069 static void 07070 ferode_3_57(l_uint32 *datad, 07071 l_int32 w, 07072 l_int32 h, 07073 l_int32 wpld, 07074 l_uint32 *datas, 07075 l_int32 wpls) 07076 { 07077 l_int32 i; 07078 register l_int32 j, pwpls; 07079 register l_uint32 *sptr, *dptr; 07080 07081 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07082 07083 for (i = 0; i < h; i++) { 07084 sptr = datas + i * wpls; 07085 dptr = datad + i * wpld; 07086 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07087 *dptr = ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 07088 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 07089 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 07090 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 07091 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 07092 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 07093 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 07094 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 07095 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 07096 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 07097 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 07098 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 07099 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 07100 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 07101 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 07102 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 07103 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 07104 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 07105 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 07106 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 07107 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 07108 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 07109 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 07110 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 07111 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 07112 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 07113 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 07114 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 07115 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 07116 (*sptr) & 07117 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 07118 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 07119 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 07120 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 07121 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 07122 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 07123 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 07124 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 07125 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 07126 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 07127 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 07128 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 07129 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 07130 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 07131 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 07132 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 07133 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 07134 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 07135 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 07136 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 07137 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 07138 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 07139 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 07140 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 07141 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 07142 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 07143 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 07144 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) & 07145 ((*(sptr) << 29) | (*(sptr + 1) >> 3)); 07146 } 07147 } 07148 } 07149 07150 static void 07151 fdilate_3_58(l_uint32 *datad, 07152 l_int32 w, 07153 l_int32 h, 07154 l_int32 wpld, 07155 l_uint32 *datas, 07156 l_int32 wpls) 07157 { 07158 l_int32 i; 07159 register l_int32 j, pwpls; 07160 register l_uint32 *sptr, *dptr; 07161 07162 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07163 07164 for (i = 0; i < h; i++) { 07165 sptr = datas + i * wpls; 07166 dptr = datad + i * wpld; 07167 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07168 *dptr = ((*(sptr) << 30) | (*(sptr + 1) >> 2)) | 07169 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 07170 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 07171 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 07172 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 07173 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 07174 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 07175 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 07176 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 07177 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 07178 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 07179 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 07180 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 07181 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 07182 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 07183 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 07184 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 07185 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 07186 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 07187 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 07188 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 07189 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 07190 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 07191 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 07192 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 07193 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 07194 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 07195 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 07196 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 07197 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 07198 (*sptr) | 07199 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 07200 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 07201 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 07202 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 07203 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 07204 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 07205 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 07206 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 07207 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 07208 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 07209 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 07210 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 07211 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 07212 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 07213 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 07214 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 07215 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 07216 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 07217 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 07218 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 07219 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 07220 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 07221 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 07222 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 07223 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 07224 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 07225 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 07226 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) | 07227 ((*(sptr) >> 29) | (*(sptr - 1) << 3)); 07228 } 07229 } 07230 } 07231 07232 static void 07233 ferode_3_58(l_uint32 *datad, 07234 l_int32 w, 07235 l_int32 h, 07236 l_int32 wpld, 07237 l_uint32 *datas, 07238 l_int32 wpls) 07239 { 07240 l_int32 i; 07241 register l_int32 j, pwpls; 07242 register l_uint32 *sptr, *dptr; 07243 07244 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07245 07246 for (i = 0; i < h; i++) { 07247 sptr = datas + i * wpls; 07248 dptr = datad + i * wpld; 07249 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07250 *dptr = ((*(sptr) >> 30) | (*(sptr - 1) << 2)) & 07251 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 07252 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 07253 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 07254 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 07255 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 07256 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 07257 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 07258 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 07259 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 07260 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 07261 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 07262 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 07263 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 07264 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 07265 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 07266 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 07267 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 07268 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 07269 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 07270 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 07271 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 07272 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 07273 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 07274 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 07275 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 07276 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 07277 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 07278 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 07279 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 07280 (*sptr) & 07281 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 07282 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 07283 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 07284 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 07285 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 07286 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 07287 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 07288 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 07289 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 07290 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 07291 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 07292 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 07293 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 07294 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 07295 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 07296 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 07297 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 07298 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 07299 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 07300 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 07301 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 07302 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 07303 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 07304 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 07305 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 07306 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 07307 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 07308 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) & 07309 ((*(sptr) << 29) | (*(sptr + 1) >> 3)); 07310 } 07311 } 07312 } 07313 07314 static void 07315 fdilate_3_59(l_uint32 *datad, 07316 l_int32 w, 07317 l_int32 h, 07318 l_int32 wpld, 07319 l_uint32 *datas, 07320 l_int32 wpls) 07321 { 07322 l_int32 i; 07323 register l_int32 j, pwpls; 07324 register l_uint32 *sptr, *dptr; 07325 07326 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07327 07328 for (i = 0; i < h; i++) { 07329 sptr = datas + i * wpls; 07330 dptr = datad + i * wpld; 07331 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07332 *dptr = ((*(sptr) << 30) | (*(sptr + 1) >> 2)) | 07333 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 07334 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 07335 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 07336 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 07337 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 07338 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 07339 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 07340 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 07341 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 07342 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 07343 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 07344 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 07345 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 07346 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 07347 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 07348 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 07349 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 07350 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 07351 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 07352 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 07353 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 07354 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 07355 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 07356 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 07357 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 07358 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 07359 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 07360 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 07361 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 07362 (*sptr) | 07363 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 07364 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 07365 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 07366 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 07367 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 07368 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 07369 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 07370 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 07371 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 07372 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 07373 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 07374 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 07375 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 07376 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 07377 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 07378 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 07379 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 07380 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 07381 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 07382 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 07383 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 07384 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 07385 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 07386 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 07387 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 07388 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 07389 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 07390 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) | 07391 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) | 07392 ((*(sptr) >> 30) | (*(sptr - 1) << 2)); 07393 } 07394 } 07395 } 07396 07397 static void 07398 ferode_3_59(l_uint32 *datad, 07399 l_int32 w, 07400 l_int32 h, 07401 l_int32 wpld, 07402 l_uint32 *datas, 07403 l_int32 wpls) 07404 { 07405 l_int32 i; 07406 register l_int32 j, pwpls; 07407 register l_uint32 *sptr, *dptr; 07408 07409 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07410 07411 for (i = 0; i < h; i++) { 07412 sptr = datas + i * wpls; 07413 dptr = datad + i * wpld; 07414 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07415 *dptr = ((*(sptr) >> 30) | (*(sptr - 1) << 2)) & 07416 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 07417 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 07418 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 07419 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 07420 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 07421 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 07422 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 07423 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 07424 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 07425 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 07426 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 07427 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 07428 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 07429 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 07430 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 07431 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 07432 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 07433 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 07434 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 07435 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 07436 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 07437 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 07438 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 07439 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 07440 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 07441 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 07442 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 07443 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 07444 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 07445 (*sptr) & 07446 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 07447 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 07448 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 07449 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 07450 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 07451 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 07452 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 07453 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 07454 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 07455 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 07456 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 07457 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 07458 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 07459 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 07460 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 07461 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 07462 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 07463 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 07464 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 07465 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 07466 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 07467 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 07468 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 07469 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 07470 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 07471 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 07472 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 07473 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) & 07474 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) & 07475 ((*(sptr) << 30) | (*(sptr + 1) >> 2)); 07476 } 07477 } 07478 } 07479 07480 static void 07481 fdilate_3_60(l_uint32 *datad, 07482 l_int32 w, 07483 l_int32 h, 07484 l_int32 wpld, 07485 l_uint32 *datas, 07486 l_int32 wpls) 07487 { 07488 l_int32 i; 07489 register l_int32 j, pwpls; 07490 register l_uint32 *sptr, *dptr; 07491 07492 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07493 07494 for (i = 0; i < h; i++) { 07495 sptr = datas + i * wpls; 07496 dptr = datad + i * wpld; 07497 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07498 *dptr = ((*(sptr) << 31) | (*(sptr + 1) >> 1)) | 07499 ((*(sptr) << 30) | (*(sptr + 1) >> 2)) | 07500 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 07501 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 07502 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 07503 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 07504 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 07505 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 07506 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 07507 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 07508 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 07509 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 07510 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 07511 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 07512 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 07513 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 07514 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 07515 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 07516 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 07517 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 07518 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 07519 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 07520 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 07521 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 07522 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 07523 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 07524 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 07525 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 07526 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 07527 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 07528 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 07529 (*sptr) | 07530 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 07531 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 07532 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 07533 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 07534 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 07535 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 07536 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 07537 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 07538 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 07539 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 07540 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 07541 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 07542 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 07543 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 07544 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 07545 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 07546 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 07547 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 07548 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 07549 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 07550 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 07551 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 07552 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 07553 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 07554 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 07555 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 07556 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 07557 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) | 07558 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) | 07559 ((*(sptr) >> 30) | (*(sptr - 1) << 2)); 07560 } 07561 } 07562 } 07563 07564 static void 07565 ferode_3_60(l_uint32 *datad, 07566 l_int32 w, 07567 l_int32 h, 07568 l_int32 wpld, 07569 l_uint32 *datas, 07570 l_int32 wpls) 07571 { 07572 l_int32 i; 07573 register l_int32 j, pwpls; 07574 register l_uint32 *sptr, *dptr; 07575 07576 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07577 07578 for (i = 0; i < h; i++) { 07579 sptr = datas + i * wpls; 07580 dptr = datad + i * wpld; 07581 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07582 *dptr = ((*(sptr) >> 31) | (*(sptr - 1) << 1)) & 07583 ((*(sptr) >> 30) | (*(sptr - 1) << 2)) & 07584 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 07585 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 07586 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 07587 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 07588 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 07589 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 07590 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 07591 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 07592 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 07593 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 07594 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 07595 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 07596 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 07597 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 07598 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 07599 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 07600 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 07601 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 07602 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 07603 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 07604 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 07605 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 07606 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 07607 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 07608 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 07609 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 07610 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 07611 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 07612 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 07613 (*sptr) & 07614 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 07615 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 07616 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 07617 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 07618 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 07619 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 07620 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 07621 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 07622 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 07623 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 07624 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 07625 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 07626 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 07627 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 07628 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 07629 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 07630 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 07631 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 07632 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 07633 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 07634 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 07635 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 07636 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 07637 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 07638 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 07639 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 07640 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 07641 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) & 07642 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) & 07643 ((*(sptr) << 30) | (*(sptr + 1) >> 2)); 07644 } 07645 } 07646 } 07647 07648 static void 07649 fdilate_3_61(l_uint32 *datad, 07650 l_int32 w, 07651 l_int32 h, 07652 l_int32 wpld, 07653 l_uint32 *datas, 07654 l_int32 wpls) 07655 { 07656 l_int32 i; 07657 register l_int32 j, pwpls; 07658 register l_uint32 *sptr, *dptr; 07659 07660 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07661 07662 for (i = 0; i < h; i++) { 07663 sptr = datas + i * wpls; 07664 dptr = datad + i * wpld; 07665 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07666 *dptr = ((*(sptr) << 31) | (*(sptr + 1) >> 1)) | 07667 ((*(sptr) << 30) | (*(sptr + 1) >> 2)) | 07668 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) | 07669 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) | 07670 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) | 07671 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) | 07672 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) | 07673 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) | 07674 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) | 07675 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) | 07676 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) | 07677 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) | 07678 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) | 07679 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) | 07680 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) | 07681 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) | 07682 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) | 07683 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) | 07684 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) | 07685 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) | 07686 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) | 07687 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) | 07688 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) | 07689 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) | 07690 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) | 07691 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) | 07692 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) | 07693 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) | 07694 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) | 07695 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) | 07696 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) | 07697 (*sptr) | 07698 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) | 07699 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) | 07700 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) | 07701 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) | 07702 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) | 07703 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) | 07704 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) | 07705 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) | 07706 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) | 07707 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) | 07708 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) | 07709 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) | 07710 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) | 07711 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) | 07712 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) | 07713 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) | 07714 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) | 07715 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) | 07716 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) | 07717 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) | 07718 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) | 07719 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) | 07720 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) | 07721 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) | 07722 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) | 07723 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) | 07724 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) | 07725 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) | 07726 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) | 07727 ((*(sptr) >> 30) | (*(sptr - 1) << 2)) | 07728 ((*(sptr) >> 31) | (*(sptr - 1) << 1)); 07729 } 07730 } 07731 } 07732 07733 static void 07734 ferode_3_61(l_uint32 *datad, 07735 l_int32 w, 07736 l_int32 h, 07737 l_int32 wpld, 07738 l_uint32 *datas, 07739 l_int32 wpls) 07740 { 07741 l_int32 i; 07742 register l_int32 j, pwpls; 07743 register l_uint32 *sptr, *dptr; 07744 07745 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07746 07747 for (i = 0; i < h; i++) { 07748 sptr = datas + i * wpls; 07749 dptr = datad + i * wpld; 07750 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07751 *dptr = ((*(sptr) >> 31) | (*(sptr - 1) << 1)) & 07752 ((*(sptr) >> 30) | (*(sptr - 1) << 2)) & 07753 ((*(sptr) >> 29) | (*(sptr - 1) << 3)) & 07754 ((*(sptr) >> 28) | (*(sptr - 1) << 4)) & 07755 ((*(sptr) >> 27) | (*(sptr - 1) << 5)) & 07756 ((*(sptr) >> 26) | (*(sptr - 1) << 6)) & 07757 ((*(sptr) >> 25) | (*(sptr - 1) << 7)) & 07758 ((*(sptr) >> 24) | (*(sptr - 1) << 8)) & 07759 ((*(sptr) >> 23) | (*(sptr - 1) << 9)) & 07760 ((*(sptr) >> 22) | (*(sptr - 1) << 10)) & 07761 ((*(sptr) >> 21) | (*(sptr - 1) << 11)) & 07762 ((*(sptr) >> 20) | (*(sptr - 1) << 12)) & 07763 ((*(sptr) >> 19) | (*(sptr - 1) << 13)) & 07764 ((*(sptr) >> 18) | (*(sptr - 1) << 14)) & 07765 ((*(sptr) >> 17) | (*(sptr - 1) << 15)) & 07766 ((*(sptr) >> 16) | (*(sptr - 1) << 16)) & 07767 ((*(sptr) >> 15) | (*(sptr - 1) << 17)) & 07768 ((*(sptr) >> 14) | (*(sptr - 1) << 18)) & 07769 ((*(sptr) >> 13) | (*(sptr - 1) << 19)) & 07770 ((*(sptr) >> 12) | (*(sptr - 1) << 20)) & 07771 ((*(sptr) >> 11) | (*(sptr - 1) << 21)) & 07772 ((*(sptr) >> 10) | (*(sptr - 1) << 22)) & 07773 ((*(sptr) >> 9) | (*(sptr - 1) << 23)) & 07774 ((*(sptr) >> 8) | (*(sptr - 1) << 24)) & 07775 ((*(sptr) >> 7) | (*(sptr - 1) << 25)) & 07776 ((*(sptr) >> 6) | (*(sptr - 1) << 26)) & 07777 ((*(sptr) >> 5) | (*(sptr - 1) << 27)) & 07778 ((*(sptr) >> 4) | (*(sptr - 1) << 28)) & 07779 ((*(sptr) >> 3) | (*(sptr - 1) << 29)) & 07780 ((*(sptr) >> 2) | (*(sptr - 1) << 30)) & 07781 ((*(sptr) >> 1) | (*(sptr - 1) << 31)) & 07782 (*sptr) & 07783 ((*(sptr) << 1) | (*(sptr + 1) >> 31)) & 07784 ((*(sptr) << 2) | (*(sptr + 1) >> 30)) & 07785 ((*(sptr) << 3) | (*(sptr + 1) >> 29)) & 07786 ((*(sptr) << 4) | (*(sptr + 1) >> 28)) & 07787 ((*(sptr) << 5) | (*(sptr + 1) >> 27)) & 07788 ((*(sptr) << 6) | (*(sptr + 1) >> 26)) & 07789 ((*(sptr) << 7) | (*(sptr + 1) >> 25)) & 07790 ((*(sptr) << 8) | (*(sptr + 1) >> 24)) & 07791 ((*(sptr) << 9) | (*(sptr + 1) >> 23)) & 07792 ((*(sptr) << 10) | (*(sptr + 1) >> 22)) & 07793 ((*(sptr) << 11) | (*(sptr + 1) >> 21)) & 07794 ((*(sptr) << 12) | (*(sptr + 1) >> 20)) & 07795 ((*(sptr) << 13) | (*(sptr + 1) >> 19)) & 07796 ((*(sptr) << 14) | (*(sptr + 1) >> 18)) & 07797 ((*(sptr) << 15) | (*(sptr + 1) >> 17)) & 07798 ((*(sptr) << 16) | (*(sptr + 1) >> 16)) & 07799 ((*(sptr) << 17) | (*(sptr + 1) >> 15)) & 07800 ((*(sptr) << 18) | (*(sptr + 1) >> 14)) & 07801 ((*(sptr) << 19) | (*(sptr + 1) >> 13)) & 07802 ((*(sptr) << 20) | (*(sptr + 1) >> 12)) & 07803 ((*(sptr) << 21) | (*(sptr + 1) >> 11)) & 07804 ((*(sptr) << 22) | (*(sptr + 1) >> 10)) & 07805 ((*(sptr) << 23) | (*(sptr + 1) >> 9)) & 07806 ((*(sptr) << 24) | (*(sptr + 1) >> 8)) & 07807 ((*(sptr) << 25) | (*(sptr + 1) >> 7)) & 07808 ((*(sptr) << 26) | (*(sptr + 1) >> 6)) & 07809 ((*(sptr) << 27) | (*(sptr + 1) >> 5)) & 07810 ((*(sptr) << 28) | (*(sptr + 1) >> 4)) & 07811 ((*(sptr) << 29) | (*(sptr + 1) >> 3)) & 07812 ((*(sptr) << 30) | (*(sptr + 1) >> 2)) & 07813 ((*(sptr) << 31) | (*(sptr + 1) >> 1)); 07814 } 07815 } 07816 } 07817 07818 static void 07819 fdilate_3_62(l_uint32 *datad, 07820 l_int32 w, 07821 l_int32 h, 07822 l_int32 wpld, 07823 l_uint32 *datas, 07824 l_int32 wpls) 07825 { 07826 l_int32 i; 07827 register l_int32 j, pwpls; 07828 register l_uint32 *sptr, *dptr; 07829 07830 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07831 07832 for (i = 0; i < h; i++) { 07833 sptr = datas + i * wpls; 07834 dptr = datad + i * wpld; 07835 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07836 *dptr = (*(sptr + wpls)) | 07837 (*sptr); 07838 } 07839 } 07840 } 07841 07842 static void 07843 ferode_3_62(l_uint32 *datad, 07844 l_int32 w, 07845 l_int32 h, 07846 l_int32 wpld, 07847 l_uint32 *datas, 07848 l_int32 wpls) 07849 { 07850 l_int32 i; 07851 register l_int32 j, pwpls; 07852 register l_uint32 *sptr, *dptr; 07853 07854 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07855 07856 for (i = 0; i < h; i++) { 07857 sptr = datas + i * wpls; 07858 dptr = datad + i * wpld; 07859 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07860 *dptr = (*(sptr - wpls)) & 07861 (*sptr); 07862 } 07863 } 07864 } 07865 07866 static void 07867 fdilate_3_63(l_uint32 *datad, 07868 l_int32 w, 07869 l_int32 h, 07870 l_int32 wpld, 07871 l_uint32 *datas, 07872 l_int32 wpls) 07873 { 07874 l_int32 i; 07875 register l_int32 j, pwpls; 07876 register l_uint32 *sptr, *dptr; 07877 07878 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07879 07880 for (i = 0; i < h; i++) { 07881 sptr = datas + i * wpls; 07882 dptr = datad + i * wpld; 07883 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07884 *dptr = (*(sptr + wpls)) | 07885 (*sptr) | 07886 (*(sptr - wpls)); 07887 } 07888 } 07889 } 07890 07891 static void 07892 ferode_3_63(l_uint32 *datad, 07893 l_int32 w, 07894 l_int32 h, 07895 l_int32 wpld, 07896 l_uint32 *datas, 07897 l_int32 wpls) 07898 { 07899 l_int32 i; 07900 register l_int32 j, pwpls; 07901 register l_uint32 *sptr, *dptr; 07902 07903 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07904 07905 for (i = 0; i < h; i++) { 07906 sptr = datas + i * wpls; 07907 dptr = datad + i * wpld; 07908 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07909 *dptr = (*(sptr - wpls)) & 07910 (*sptr) & 07911 (*(sptr + wpls)); 07912 } 07913 } 07914 } 07915 07916 static void 07917 fdilate_3_64(l_uint32 *datad, 07918 l_int32 w, 07919 l_int32 h, 07920 l_int32 wpld, 07921 l_uint32 *datas, 07922 l_int32 wpls) 07923 { 07924 l_int32 i; 07925 register l_int32 j, pwpls; 07926 register l_uint32 *sptr, *dptr; 07927 l_int32 wpls2; 07928 07929 wpls2 = 2 * wpls; 07930 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07931 07932 for (i = 0; i < h; i++) { 07933 sptr = datas + i * wpls; 07934 dptr = datad + i * wpld; 07935 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07936 *dptr = (*(sptr + wpls2)) | 07937 (*(sptr + wpls)) | 07938 (*sptr) | 07939 (*(sptr - wpls)); 07940 } 07941 } 07942 } 07943 07944 static void 07945 ferode_3_64(l_uint32 *datad, 07946 l_int32 w, 07947 l_int32 h, 07948 l_int32 wpld, 07949 l_uint32 *datas, 07950 l_int32 wpls) 07951 { 07952 l_int32 i; 07953 register l_int32 j, pwpls; 07954 register l_uint32 *sptr, *dptr; 07955 l_int32 wpls2; 07956 07957 wpls2 = 2 * wpls; 07958 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07959 07960 for (i = 0; i < h; i++) { 07961 sptr = datas + i * wpls; 07962 dptr = datad + i * wpld; 07963 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07964 *dptr = (*(sptr - wpls2)) & 07965 (*(sptr - wpls)) & 07966 (*sptr) & 07967 (*(sptr + wpls)); 07968 } 07969 } 07970 } 07971 07972 static void 07973 fdilate_3_65(l_uint32 *datad, 07974 l_int32 w, 07975 l_int32 h, 07976 l_int32 wpld, 07977 l_uint32 *datas, 07978 l_int32 wpls) 07979 { 07980 l_int32 i; 07981 register l_int32 j, pwpls; 07982 register l_uint32 *sptr, *dptr; 07983 l_int32 wpls2; 07984 07985 wpls2 = 2 * wpls; 07986 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 07987 07988 for (i = 0; i < h; i++) { 07989 sptr = datas + i * wpls; 07990 dptr = datad + i * wpld; 07991 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 07992 *dptr = (*(sptr + wpls2)) | 07993 (*(sptr + wpls)) | 07994 (*sptr) | 07995 (*(sptr - wpls)) | 07996 (*(sptr - wpls2)); 07997 } 07998 } 07999 } 08000 08001 static void 08002 ferode_3_65(l_uint32 *datad, 08003 l_int32 w, 08004 l_int32 h, 08005 l_int32 wpld, 08006 l_uint32 *datas, 08007 l_int32 wpls) 08008 { 08009 l_int32 i; 08010 register l_int32 j, pwpls; 08011 register l_uint32 *sptr, *dptr; 08012 l_int32 wpls2; 08013 08014 wpls2 = 2 * wpls; 08015 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08016 08017 for (i = 0; i < h; i++) { 08018 sptr = datas + i * wpls; 08019 dptr = datad + i * wpld; 08020 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08021 *dptr = (*(sptr - wpls2)) & 08022 (*(sptr - wpls)) & 08023 (*sptr) & 08024 (*(sptr + wpls)) & 08025 (*(sptr + wpls2)); 08026 } 08027 } 08028 } 08029 08030 static void 08031 fdilate_3_66(l_uint32 *datad, 08032 l_int32 w, 08033 l_int32 h, 08034 l_int32 wpld, 08035 l_uint32 *datas, 08036 l_int32 wpls) 08037 { 08038 l_int32 i; 08039 register l_int32 j, pwpls; 08040 register l_uint32 *sptr, *dptr; 08041 l_int32 wpls2, wpls3; 08042 08043 wpls2 = 2 * wpls; 08044 wpls3 = 3 * wpls; 08045 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08046 08047 for (i = 0; i < h; i++) { 08048 sptr = datas + i * wpls; 08049 dptr = datad + i * wpld; 08050 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08051 *dptr = (*(sptr + wpls3)) | 08052 (*(sptr + wpls2)) | 08053 (*(sptr + wpls)) | 08054 (*sptr) | 08055 (*(sptr - wpls)) | 08056 (*(sptr - wpls2)); 08057 } 08058 } 08059 } 08060 08061 static void 08062 ferode_3_66(l_uint32 *datad, 08063 l_int32 w, 08064 l_int32 h, 08065 l_int32 wpld, 08066 l_uint32 *datas, 08067 l_int32 wpls) 08068 { 08069 l_int32 i; 08070 register l_int32 j, pwpls; 08071 register l_uint32 *sptr, *dptr; 08072 l_int32 wpls2, wpls3; 08073 08074 wpls2 = 2 * wpls; 08075 wpls3 = 3 * wpls; 08076 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08077 08078 for (i = 0; i < h; i++) { 08079 sptr = datas + i * wpls; 08080 dptr = datad + i * wpld; 08081 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08082 *dptr = (*(sptr - wpls3)) & 08083 (*(sptr - wpls2)) & 08084 (*(sptr - wpls)) & 08085 (*sptr) & 08086 (*(sptr + wpls)) & 08087 (*(sptr + wpls2)); 08088 } 08089 } 08090 } 08091 08092 static void 08093 fdilate_3_67(l_uint32 *datad, 08094 l_int32 w, 08095 l_int32 h, 08096 l_int32 wpld, 08097 l_uint32 *datas, 08098 l_int32 wpls) 08099 { 08100 l_int32 i; 08101 register l_int32 j, pwpls; 08102 register l_uint32 *sptr, *dptr; 08103 l_int32 wpls2, wpls3; 08104 08105 wpls2 = 2 * wpls; 08106 wpls3 = 3 * wpls; 08107 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08108 08109 for (i = 0; i < h; i++) { 08110 sptr = datas + i * wpls; 08111 dptr = datad + i * wpld; 08112 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08113 *dptr = (*(sptr + wpls3)) | 08114 (*(sptr + wpls2)) | 08115 (*(sptr + wpls)) | 08116 (*sptr) | 08117 (*(sptr - wpls)) | 08118 (*(sptr - wpls2)) | 08119 (*(sptr - wpls3)); 08120 } 08121 } 08122 } 08123 08124 static void 08125 ferode_3_67(l_uint32 *datad, 08126 l_int32 w, 08127 l_int32 h, 08128 l_int32 wpld, 08129 l_uint32 *datas, 08130 l_int32 wpls) 08131 { 08132 l_int32 i; 08133 register l_int32 j, pwpls; 08134 register l_uint32 *sptr, *dptr; 08135 l_int32 wpls2, wpls3; 08136 08137 wpls2 = 2 * wpls; 08138 wpls3 = 3 * wpls; 08139 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08140 08141 for (i = 0; i < h; i++) { 08142 sptr = datas + i * wpls; 08143 dptr = datad + i * wpld; 08144 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08145 *dptr = (*(sptr - wpls3)) & 08146 (*(sptr - wpls2)) & 08147 (*(sptr - wpls)) & 08148 (*sptr) & 08149 (*(sptr + wpls)) & 08150 (*(sptr + wpls2)) & 08151 (*(sptr + wpls3)); 08152 } 08153 } 08154 } 08155 08156 static void 08157 fdilate_3_68(l_uint32 *datad, 08158 l_int32 w, 08159 l_int32 h, 08160 l_int32 wpld, 08161 l_uint32 *datas, 08162 l_int32 wpls) 08163 { 08164 l_int32 i; 08165 register l_int32 j, pwpls; 08166 register l_uint32 *sptr, *dptr; 08167 l_int32 wpls2, wpls3, wpls4; 08168 08169 wpls2 = 2 * wpls; 08170 wpls3 = 3 * wpls; 08171 wpls4 = 4 * wpls; 08172 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08173 08174 for (i = 0; i < h; i++) { 08175 sptr = datas + i * wpls; 08176 dptr = datad + i * wpld; 08177 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08178 *dptr = (*(sptr + wpls4)) | 08179 (*(sptr + wpls3)) | 08180 (*(sptr + wpls2)) | 08181 (*(sptr + wpls)) | 08182 (*sptr) | 08183 (*(sptr - wpls)) | 08184 (*(sptr - wpls2)) | 08185 (*(sptr - wpls3)); 08186 } 08187 } 08188 } 08189 08190 static void 08191 ferode_3_68(l_uint32 *datad, 08192 l_int32 w, 08193 l_int32 h, 08194 l_int32 wpld, 08195 l_uint32 *datas, 08196 l_int32 wpls) 08197 { 08198 l_int32 i; 08199 register l_int32 j, pwpls; 08200 register l_uint32 *sptr, *dptr; 08201 l_int32 wpls2, wpls3, wpls4; 08202 08203 wpls2 = 2 * wpls; 08204 wpls3 = 3 * wpls; 08205 wpls4 = 4 * wpls; 08206 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08207 08208 for (i = 0; i < h; i++) { 08209 sptr = datas + i * wpls; 08210 dptr = datad + i * wpld; 08211 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08212 *dptr = (*(sptr - wpls4)) & 08213 (*(sptr - wpls3)) & 08214 (*(sptr - wpls2)) & 08215 (*(sptr - wpls)) & 08216 (*sptr) & 08217 (*(sptr + wpls)) & 08218 (*(sptr + wpls2)) & 08219 (*(sptr + wpls3)); 08220 } 08221 } 08222 } 08223 08224 static void 08225 fdilate_3_69(l_uint32 *datad, 08226 l_int32 w, 08227 l_int32 h, 08228 l_int32 wpld, 08229 l_uint32 *datas, 08230 l_int32 wpls) 08231 { 08232 l_int32 i; 08233 register l_int32 j, pwpls; 08234 register l_uint32 *sptr, *dptr; 08235 l_int32 wpls2, wpls3, wpls4; 08236 08237 wpls2 = 2 * wpls; 08238 wpls3 = 3 * wpls; 08239 wpls4 = 4 * wpls; 08240 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08241 08242 for (i = 0; i < h; i++) { 08243 sptr = datas + i * wpls; 08244 dptr = datad + i * wpld; 08245 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08246 *dptr = (*(sptr + wpls4)) | 08247 (*(sptr + wpls3)) | 08248 (*(sptr + wpls2)) | 08249 (*(sptr + wpls)) | 08250 (*sptr) | 08251 (*(sptr - wpls)) | 08252 (*(sptr - wpls2)) | 08253 (*(sptr - wpls3)) | 08254 (*(sptr - wpls4)); 08255 } 08256 } 08257 } 08258 08259 static void 08260 ferode_3_69(l_uint32 *datad, 08261 l_int32 w, 08262 l_int32 h, 08263 l_int32 wpld, 08264 l_uint32 *datas, 08265 l_int32 wpls) 08266 { 08267 l_int32 i; 08268 register l_int32 j, pwpls; 08269 register l_uint32 *sptr, *dptr; 08270 l_int32 wpls2, wpls3, wpls4; 08271 08272 wpls2 = 2 * wpls; 08273 wpls3 = 3 * wpls; 08274 wpls4 = 4 * wpls; 08275 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08276 08277 for (i = 0; i < h; i++) { 08278 sptr = datas + i * wpls; 08279 dptr = datad + i * wpld; 08280 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08281 *dptr = (*(sptr - wpls4)) & 08282 (*(sptr - wpls3)) & 08283 (*(sptr - wpls2)) & 08284 (*(sptr - wpls)) & 08285 (*sptr) & 08286 (*(sptr + wpls)) & 08287 (*(sptr + wpls2)) & 08288 (*(sptr + wpls3)) & 08289 (*(sptr + wpls4)); 08290 } 08291 } 08292 } 08293 08294 static void 08295 fdilate_3_70(l_uint32 *datad, 08296 l_int32 w, 08297 l_int32 h, 08298 l_int32 wpld, 08299 l_uint32 *datas, 08300 l_int32 wpls) 08301 { 08302 l_int32 i; 08303 register l_int32 j, pwpls; 08304 register l_uint32 *sptr, *dptr; 08305 l_int32 wpls2, wpls3, wpls4; 08306 l_int32 wpls5; 08307 08308 wpls2 = 2 * wpls; 08309 wpls3 = 3 * wpls; 08310 wpls4 = 4 * wpls; 08311 wpls5 = 5 * wpls; 08312 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08313 08314 for (i = 0; i < h; i++) { 08315 sptr = datas + i * wpls; 08316 dptr = datad + i * wpld; 08317 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08318 *dptr = (*(sptr + wpls5)) | 08319 (*(sptr + wpls4)) | 08320 (*(sptr + wpls3)) | 08321 (*(sptr + wpls2)) | 08322 (*(sptr + wpls)) | 08323 (*sptr) | 08324 (*(sptr - wpls)) | 08325 (*(sptr - wpls2)) | 08326 (*(sptr - wpls3)) | 08327 (*(sptr - wpls4)); 08328 } 08329 } 08330 } 08331 08332 static void 08333 ferode_3_70(l_uint32 *datad, 08334 l_int32 w, 08335 l_int32 h, 08336 l_int32 wpld, 08337 l_uint32 *datas, 08338 l_int32 wpls) 08339 { 08340 l_int32 i; 08341 register l_int32 j, pwpls; 08342 register l_uint32 *sptr, *dptr; 08343 l_int32 wpls2, wpls3, wpls4; 08344 l_int32 wpls5; 08345 08346 wpls2 = 2 * wpls; 08347 wpls3 = 3 * wpls; 08348 wpls4 = 4 * wpls; 08349 wpls5 = 5 * wpls; 08350 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08351 08352 for (i = 0; i < h; i++) { 08353 sptr = datas + i * wpls; 08354 dptr = datad + i * wpld; 08355 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08356 *dptr = (*(sptr - wpls5)) & 08357 (*(sptr - wpls4)) & 08358 (*(sptr - wpls3)) & 08359 (*(sptr - wpls2)) & 08360 (*(sptr - wpls)) & 08361 (*sptr) & 08362 (*(sptr + wpls)) & 08363 (*(sptr + wpls2)) & 08364 (*(sptr + wpls3)) & 08365 (*(sptr + wpls4)); 08366 } 08367 } 08368 } 08369 08370 static void 08371 fdilate_3_71(l_uint32 *datad, 08372 l_int32 w, 08373 l_int32 h, 08374 l_int32 wpld, 08375 l_uint32 *datas, 08376 l_int32 wpls) 08377 { 08378 l_int32 i; 08379 register l_int32 j, pwpls; 08380 register l_uint32 *sptr, *dptr; 08381 l_int32 wpls2, wpls3, wpls4; 08382 l_int32 wpls5; 08383 08384 wpls2 = 2 * wpls; 08385 wpls3 = 3 * wpls; 08386 wpls4 = 4 * wpls; 08387 wpls5 = 5 * wpls; 08388 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08389 08390 for (i = 0; i < h; i++) { 08391 sptr = datas + i * wpls; 08392 dptr = datad + i * wpld; 08393 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08394 *dptr = (*(sptr + wpls5)) | 08395 (*(sptr + wpls4)) | 08396 (*(sptr + wpls3)) | 08397 (*(sptr + wpls2)) | 08398 (*(sptr + wpls)) | 08399 (*sptr) | 08400 (*(sptr - wpls)) | 08401 (*(sptr - wpls2)) | 08402 (*(sptr - wpls3)) | 08403 (*(sptr - wpls4)) | 08404 (*(sptr - wpls5)); 08405 } 08406 } 08407 } 08408 08409 static void 08410 ferode_3_71(l_uint32 *datad, 08411 l_int32 w, 08412 l_int32 h, 08413 l_int32 wpld, 08414 l_uint32 *datas, 08415 l_int32 wpls) 08416 { 08417 l_int32 i; 08418 register l_int32 j, pwpls; 08419 register l_uint32 *sptr, *dptr; 08420 l_int32 wpls2, wpls3, wpls4; 08421 l_int32 wpls5; 08422 08423 wpls2 = 2 * wpls; 08424 wpls3 = 3 * wpls; 08425 wpls4 = 4 * wpls; 08426 wpls5 = 5 * wpls; 08427 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08428 08429 for (i = 0; i < h; i++) { 08430 sptr = datas + i * wpls; 08431 dptr = datad + i * wpld; 08432 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08433 *dptr = (*(sptr - wpls5)) & 08434 (*(sptr - wpls4)) & 08435 (*(sptr - wpls3)) & 08436 (*(sptr - wpls2)) & 08437 (*(sptr - wpls)) & 08438 (*sptr) & 08439 (*(sptr + wpls)) & 08440 (*(sptr + wpls2)) & 08441 (*(sptr + wpls3)) & 08442 (*(sptr + wpls4)) & 08443 (*(sptr + wpls5)); 08444 } 08445 } 08446 } 08447 08448 static void 08449 fdilate_3_72(l_uint32 *datad, 08450 l_int32 w, 08451 l_int32 h, 08452 l_int32 wpld, 08453 l_uint32 *datas, 08454 l_int32 wpls) 08455 { 08456 l_int32 i; 08457 register l_int32 j, pwpls; 08458 register l_uint32 *sptr, *dptr; 08459 l_int32 wpls2, wpls3, wpls4; 08460 l_int32 wpls5, wpls6; 08461 08462 wpls2 = 2 * wpls; 08463 wpls3 = 3 * wpls; 08464 wpls4 = 4 * wpls; 08465 wpls5 = 5 * wpls; 08466 wpls6 = 6 * wpls; 08467 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08468 08469 for (i = 0; i < h; i++) { 08470 sptr = datas + i * wpls; 08471 dptr = datad + i * wpld; 08472 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08473 *dptr = (*(sptr + wpls6)) | 08474 (*(sptr + wpls5)) | 08475 (*(sptr + wpls4)) | 08476 (*(sptr + wpls3)) | 08477 (*(sptr + wpls2)) | 08478 (*(sptr + wpls)) | 08479 (*sptr) | 08480 (*(sptr - wpls)) | 08481 (*(sptr - wpls2)) | 08482 (*(sptr - wpls3)) | 08483 (*(sptr - wpls4)) | 08484 (*(sptr - wpls5)); 08485 } 08486 } 08487 } 08488 08489 static void 08490 ferode_3_72(l_uint32 *datad, 08491 l_int32 w, 08492 l_int32 h, 08493 l_int32 wpld, 08494 l_uint32 *datas, 08495 l_int32 wpls) 08496 { 08497 l_int32 i; 08498 register l_int32 j, pwpls; 08499 register l_uint32 *sptr, *dptr; 08500 l_int32 wpls2, wpls3, wpls4; 08501 l_int32 wpls5, wpls6; 08502 08503 wpls2 = 2 * wpls; 08504 wpls3 = 3 * wpls; 08505 wpls4 = 4 * wpls; 08506 wpls5 = 5 * wpls; 08507 wpls6 = 6 * wpls; 08508 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08509 08510 for (i = 0; i < h; i++) { 08511 sptr = datas + i * wpls; 08512 dptr = datad + i * wpld; 08513 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08514 *dptr = (*(sptr - wpls6)) & 08515 (*(sptr - wpls5)) & 08516 (*(sptr - wpls4)) & 08517 (*(sptr - wpls3)) & 08518 (*(sptr - wpls2)) & 08519 (*(sptr - wpls)) & 08520 (*sptr) & 08521 (*(sptr + wpls)) & 08522 (*(sptr + wpls2)) & 08523 (*(sptr + wpls3)) & 08524 (*(sptr + wpls4)) & 08525 (*(sptr + wpls5)); 08526 } 08527 } 08528 } 08529 08530 static void 08531 fdilate_3_73(l_uint32 *datad, 08532 l_int32 w, 08533 l_int32 h, 08534 l_int32 wpld, 08535 l_uint32 *datas, 08536 l_int32 wpls) 08537 { 08538 l_int32 i; 08539 register l_int32 j, pwpls; 08540 register l_uint32 *sptr, *dptr; 08541 l_int32 wpls2, wpls3, wpls4; 08542 l_int32 wpls5, wpls6; 08543 08544 wpls2 = 2 * wpls; 08545 wpls3 = 3 * wpls; 08546 wpls4 = 4 * wpls; 08547 wpls5 = 5 * wpls; 08548 wpls6 = 6 * wpls; 08549 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08550 08551 for (i = 0; i < h; i++) { 08552 sptr = datas + i * wpls; 08553 dptr = datad + i * wpld; 08554 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08555 *dptr = (*(sptr + wpls6)) | 08556 (*(sptr + wpls5)) | 08557 (*(sptr + wpls4)) | 08558 (*(sptr + wpls3)) | 08559 (*(sptr + wpls2)) | 08560 (*(sptr + wpls)) | 08561 (*sptr) | 08562 (*(sptr - wpls)) | 08563 (*(sptr - wpls2)) | 08564 (*(sptr - wpls3)) | 08565 (*(sptr - wpls4)) | 08566 (*(sptr - wpls5)) | 08567 (*(sptr - wpls6)); 08568 } 08569 } 08570 } 08571 08572 static void 08573 ferode_3_73(l_uint32 *datad, 08574 l_int32 w, 08575 l_int32 h, 08576 l_int32 wpld, 08577 l_uint32 *datas, 08578 l_int32 wpls) 08579 { 08580 l_int32 i; 08581 register l_int32 j, pwpls; 08582 register l_uint32 *sptr, *dptr; 08583 l_int32 wpls2, wpls3, wpls4; 08584 l_int32 wpls5, wpls6; 08585 08586 wpls2 = 2 * wpls; 08587 wpls3 = 3 * wpls; 08588 wpls4 = 4 * wpls; 08589 wpls5 = 5 * wpls; 08590 wpls6 = 6 * wpls; 08591 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08592 08593 for (i = 0; i < h; i++) { 08594 sptr = datas + i * wpls; 08595 dptr = datad + i * wpld; 08596 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08597 *dptr = (*(sptr - wpls6)) & 08598 (*(sptr - wpls5)) & 08599 (*(sptr - wpls4)) & 08600 (*(sptr - wpls3)) & 08601 (*(sptr - wpls2)) & 08602 (*(sptr - wpls)) & 08603 (*sptr) & 08604 (*(sptr + wpls)) & 08605 (*(sptr + wpls2)) & 08606 (*(sptr + wpls3)) & 08607 (*(sptr + wpls4)) & 08608 (*(sptr + wpls5)) & 08609 (*(sptr + wpls6)); 08610 } 08611 } 08612 } 08613 08614 static void 08615 fdilate_3_74(l_uint32 *datad, 08616 l_int32 w, 08617 l_int32 h, 08618 l_int32 wpld, 08619 l_uint32 *datas, 08620 l_int32 wpls) 08621 { 08622 l_int32 i; 08623 register l_int32 j, pwpls; 08624 register l_uint32 *sptr, *dptr; 08625 l_int32 wpls2, wpls3, wpls4; 08626 l_int32 wpls5, wpls6, wpls7; 08627 08628 wpls2 = 2 * wpls; 08629 wpls3 = 3 * wpls; 08630 wpls4 = 4 * wpls; 08631 wpls5 = 5 * wpls; 08632 wpls6 = 6 * wpls; 08633 wpls7 = 7 * wpls; 08634 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08635 08636 for (i = 0; i < h; i++) { 08637 sptr = datas + i * wpls; 08638 dptr = datad + i * wpld; 08639 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08640 *dptr = (*(sptr + wpls7)) | 08641 (*(sptr + wpls6)) | 08642 (*(sptr + wpls5)) | 08643 (*(sptr + wpls4)) | 08644 (*(sptr + wpls3)) | 08645 (*(sptr + wpls2)) | 08646 (*(sptr + wpls)) | 08647 (*sptr) | 08648 (*(sptr - wpls)) | 08649 (*(sptr - wpls2)) | 08650 (*(sptr - wpls3)) | 08651 (*(sptr - wpls4)) | 08652 (*(sptr - wpls5)) | 08653 (*(sptr - wpls6)); 08654 } 08655 } 08656 } 08657 08658 static void 08659 ferode_3_74(l_uint32 *datad, 08660 l_int32 w, 08661 l_int32 h, 08662 l_int32 wpld, 08663 l_uint32 *datas, 08664 l_int32 wpls) 08665 { 08666 l_int32 i; 08667 register l_int32 j, pwpls; 08668 register l_uint32 *sptr, *dptr; 08669 l_int32 wpls2, wpls3, wpls4; 08670 l_int32 wpls5, wpls6, wpls7; 08671 08672 wpls2 = 2 * wpls; 08673 wpls3 = 3 * wpls; 08674 wpls4 = 4 * wpls; 08675 wpls5 = 5 * wpls; 08676 wpls6 = 6 * wpls; 08677 wpls7 = 7 * wpls; 08678 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08679 08680 for (i = 0; i < h; i++) { 08681 sptr = datas + i * wpls; 08682 dptr = datad + i * wpld; 08683 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08684 *dptr = (*(sptr - wpls7)) & 08685 (*(sptr - wpls6)) & 08686 (*(sptr - wpls5)) & 08687 (*(sptr - wpls4)) & 08688 (*(sptr - wpls3)) & 08689 (*(sptr - wpls2)) & 08690 (*(sptr - wpls)) & 08691 (*sptr) & 08692 (*(sptr + wpls)) & 08693 (*(sptr + wpls2)) & 08694 (*(sptr + wpls3)) & 08695 (*(sptr + wpls4)) & 08696 (*(sptr + wpls5)) & 08697 (*(sptr + wpls6)); 08698 } 08699 } 08700 } 08701 08702 static void 08703 fdilate_3_75(l_uint32 *datad, 08704 l_int32 w, 08705 l_int32 h, 08706 l_int32 wpld, 08707 l_uint32 *datas, 08708 l_int32 wpls) 08709 { 08710 l_int32 i; 08711 register l_int32 j, pwpls; 08712 register l_uint32 *sptr, *dptr; 08713 l_int32 wpls2, wpls3, wpls4; 08714 l_int32 wpls5, wpls6, wpls7; 08715 08716 wpls2 = 2 * wpls; 08717 wpls3 = 3 * wpls; 08718 wpls4 = 4 * wpls; 08719 wpls5 = 5 * wpls; 08720 wpls6 = 6 * wpls; 08721 wpls7 = 7 * wpls; 08722 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08723 08724 for (i = 0; i < h; i++) { 08725 sptr = datas + i * wpls; 08726 dptr = datad + i * wpld; 08727 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08728 *dptr = (*(sptr + wpls7)) | 08729 (*(sptr + wpls6)) | 08730 (*(sptr + wpls5)) | 08731 (*(sptr + wpls4)) | 08732 (*(sptr + wpls3)) | 08733 (*(sptr + wpls2)) | 08734 (*(sptr + wpls)) | 08735 (*sptr) | 08736 (*(sptr - wpls)) | 08737 (*(sptr - wpls2)) | 08738 (*(sptr - wpls3)) | 08739 (*(sptr - wpls4)) | 08740 (*(sptr - wpls5)) | 08741 (*(sptr - wpls6)) | 08742 (*(sptr - wpls7)); 08743 } 08744 } 08745 } 08746 08747 static void 08748 ferode_3_75(l_uint32 *datad, 08749 l_int32 w, 08750 l_int32 h, 08751 l_int32 wpld, 08752 l_uint32 *datas, 08753 l_int32 wpls) 08754 { 08755 l_int32 i; 08756 register l_int32 j, pwpls; 08757 register l_uint32 *sptr, *dptr; 08758 l_int32 wpls2, wpls3, wpls4; 08759 l_int32 wpls5, wpls6, wpls7; 08760 08761 wpls2 = 2 * wpls; 08762 wpls3 = 3 * wpls; 08763 wpls4 = 4 * wpls; 08764 wpls5 = 5 * wpls; 08765 wpls6 = 6 * wpls; 08766 wpls7 = 7 * wpls; 08767 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08768 08769 for (i = 0; i < h; i++) { 08770 sptr = datas + i * wpls; 08771 dptr = datad + i * wpld; 08772 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08773 *dptr = (*(sptr - wpls7)) & 08774 (*(sptr - wpls6)) & 08775 (*(sptr - wpls5)) & 08776 (*(sptr - wpls4)) & 08777 (*(sptr - wpls3)) & 08778 (*(sptr - wpls2)) & 08779 (*(sptr - wpls)) & 08780 (*sptr) & 08781 (*(sptr + wpls)) & 08782 (*(sptr + wpls2)) & 08783 (*(sptr + wpls3)) & 08784 (*(sptr + wpls4)) & 08785 (*(sptr + wpls5)) & 08786 (*(sptr + wpls6)) & 08787 (*(sptr + wpls7)); 08788 } 08789 } 08790 } 08791 08792 static void 08793 fdilate_3_76(l_uint32 *datad, 08794 l_int32 w, 08795 l_int32 h, 08796 l_int32 wpld, 08797 l_uint32 *datas, 08798 l_int32 wpls) 08799 { 08800 l_int32 i; 08801 register l_int32 j, pwpls; 08802 register l_uint32 *sptr, *dptr; 08803 l_int32 wpls2, wpls3, wpls4; 08804 l_int32 wpls5, wpls6, wpls7, wpls8; 08805 08806 wpls2 = 2 * wpls; 08807 wpls3 = 3 * wpls; 08808 wpls4 = 4 * wpls; 08809 wpls5 = 5 * wpls; 08810 wpls6 = 6 * wpls; 08811 wpls7 = 7 * wpls; 08812 wpls8 = 8 * wpls; 08813 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08814 08815 for (i = 0; i < h; i++) { 08816 sptr = datas + i * wpls; 08817 dptr = datad + i * wpld; 08818 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08819 *dptr = (*(sptr + wpls8)) | 08820 (*(sptr + wpls7)) | 08821 (*(sptr + wpls6)) | 08822 (*(sptr + wpls5)) | 08823 (*(sptr + wpls4)) | 08824 (*(sptr + wpls3)) | 08825 (*(sptr + wpls2)) | 08826 (*(sptr + wpls)) | 08827 (*sptr) | 08828 (*(sptr - wpls)) | 08829 (*(sptr - wpls2)) | 08830 (*(sptr - wpls3)) | 08831 (*(sptr - wpls4)) | 08832 (*(sptr - wpls5)) | 08833 (*(sptr - wpls6)) | 08834 (*(sptr - wpls7)); 08835 } 08836 } 08837 } 08838 08839 static void 08840 ferode_3_76(l_uint32 *datad, 08841 l_int32 w, 08842 l_int32 h, 08843 l_int32 wpld, 08844 l_uint32 *datas, 08845 l_int32 wpls) 08846 { 08847 l_int32 i; 08848 register l_int32 j, pwpls; 08849 register l_uint32 *sptr, *dptr; 08850 l_int32 wpls2, wpls3, wpls4; 08851 l_int32 wpls5, wpls6, wpls7, wpls8; 08852 08853 wpls2 = 2 * wpls; 08854 wpls3 = 3 * wpls; 08855 wpls4 = 4 * wpls; 08856 wpls5 = 5 * wpls; 08857 wpls6 = 6 * wpls; 08858 wpls7 = 7 * wpls; 08859 wpls8 = 8 * wpls; 08860 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08861 08862 for (i = 0; i < h; i++) { 08863 sptr = datas + i * wpls; 08864 dptr = datad + i * wpld; 08865 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08866 *dptr = (*(sptr - wpls8)) & 08867 (*(sptr - wpls7)) & 08868 (*(sptr - wpls6)) & 08869 (*(sptr - wpls5)) & 08870 (*(sptr - wpls4)) & 08871 (*(sptr - wpls3)) & 08872 (*(sptr - wpls2)) & 08873 (*(sptr - wpls)) & 08874 (*sptr) & 08875 (*(sptr + wpls)) & 08876 (*(sptr + wpls2)) & 08877 (*(sptr + wpls3)) & 08878 (*(sptr + wpls4)) & 08879 (*(sptr + wpls5)) & 08880 (*(sptr + wpls6)) & 08881 (*(sptr + wpls7)); 08882 } 08883 } 08884 } 08885 08886 static void 08887 fdilate_3_77(l_uint32 *datad, 08888 l_int32 w, 08889 l_int32 h, 08890 l_int32 wpld, 08891 l_uint32 *datas, 08892 l_int32 wpls) 08893 { 08894 l_int32 i; 08895 register l_int32 j, pwpls; 08896 register l_uint32 *sptr, *dptr; 08897 l_int32 wpls2, wpls3, wpls4; 08898 l_int32 wpls5, wpls6, wpls7, wpls8; 08899 08900 wpls2 = 2 * wpls; 08901 wpls3 = 3 * wpls; 08902 wpls4 = 4 * wpls; 08903 wpls5 = 5 * wpls; 08904 wpls6 = 6 * wpls; 08905 wpls7 = 7 * wpls; 08906 wpls8 = 8 * wpls; 08907 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08908 08909 for (i = 0; i < h; i++) { 08910 sptr = datas + i * wpls; 08911 dptr = datad + i * wpld; 08912 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08913 *dptr = (*(sptr + wpls8)) | 08914 (*(sptr + wpls7)) | 08915 (*(sptr + wpls6)) | 08916 (*(sptr + wpls5)) | 08917 (*(sptr + wpls4)) | 08918 (*(sptr + wpls3)) | 08919 (*(sptr + wpls2)) | 08920 (*(sptr + wpls)) | 08921 (*sptr) | 08922 (*(sptr - wpls)) | 08923 (*(sptr - wpls2)) | 08924 (*(sptr - wpls3)) | 08925 (*(sptr - wpls4)) | 08926 (*(sptr - wpls5)) | 08927 (*(sptr - wpls6)) | 08928 (*(sptr - wpls7)) | 08929 (*(sptr - wpls8)); 08930 } 08931 } 08932 } 08933 08934 static void 08935 ferode_3_77(l_uint32 *datad, 08936 l_int32 w, 08937 l_int32 h, 08938 l_int32 wpld, 08939 l_uint32 *datas, 08940 l_int32 wpls) 08941 { 08942 l_int32 i; 08943 register l_int32 j, pwpls; 08944 register l_uint32 *sptr, *dptr; 08945 l_int32 wpls2, wpls3, wpls4; 08946 l_int32 wpls5, wpls6, wpls7, wpls8; 08947 08948 wpls2 = 2 * wpls; 08949 wpls3 = 3 * wpls; 08950 wpls4 = 4 * wpls; 08951 wpls5 = 5 * wpls; 08952 wpls6 = 6 * wpls; 08953 wpls7 = 7 * wpls; 08954 wpls8 = 8 * wpls; 08955 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 08956 08957 for (i = 0; i < h; i++) { 08958 sptr = datas + i * wpls; 08959 dptr = datad + i * wpld; 08960 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 08961 *dptr = (*(sptr - wpls8)) & 08962 (*(sptr - wpls7)) & 08963 (*(sptr - wpls6)) & 08964 (*(sptr - wpls5)) & 08965 (*(sptr - wpls4)) & 08966 (*(sptr - wpls3)) & 08967 (*(sptr - wpls2)) & 08968 (*(sptr - wpls)) & 08969 (*sptr) & 08970 (*(sptr + wpls)) & 08971 (*(sptr + wpls2)) & 08972 (*(sptr + wpls3)) & 08973 (*(sptr + wpls4)) & 08974 (*(sptr + wpls5)) & 08975 (*(sptr + wpls6)) & 08976 (*(sptr + wpls7)) & 08977 (*(sptr + wpls8)); 08978 } 08979 } 08980 } 08981 08982 static void 08983 fdilate_3_78(l_uint32 *datad, 08984 l_int32 w, 08985 l_int32 h, 08986 l_int32 wpld, 08987 l_uint32 *datas, 08988 l_int32 wpls) 08989 { 08990 l_int32 i; 08991 register l_int32 j, pwpls; 08992 register l_uint32 *sptr, *dptr; 08993 l_int32 wpls2, wpls3, wpls4; 08994 l_int32 wpls5, wpls6, wpls7, wpls8; 08995 l_int32 wpls9; 08996 08997 wpls2 = 2 * wpls; 08998 wpls3 = 3 * wpls; 08999 wpls4 = 4 * wpls; 09000 wpls5 = 5 * wpls; 09001 wpls6 = 6 * wpls; 09002 wpls7 = 7 * wpls; 09003 wpls8 = 8 * wpls; 09004 wpls9 = 9 * wpls; 09005 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09006 09007 for (i = 0; i < h; i++) { 09008 sptr = datas + i * wpls; 09009 dptr = datad + i * wpld; 09010 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09011 *dptr = (*(sptr + wpls9)) | 09012 (*(sptr + wpls8)) | 09013 (*(sptr + wpls7)) | 09014 (*(sptr + wpls6)) | 09015 (*(sptr + wpls5)) | 09016 (*(sptr + wpls4)) | 09017 (*(sptr + wpls3)) | 09018 (*(sptr + wpls2)) | 09019 (*(sptr + wpls)) | 09020 (*sptr) | 09021 (*(sptr - wpls)) | 09022 (*(sptr - wpls2)) | 09023 (*(sptr - wpls3)) | 09024 (*(sptr - wpls4)) | 09025 (*(sptr - wpls5)) | 09026 (*(sptr - wpls6)) | 09027 (*(sptr - wpls7)) | 09028 (*(sptr - wpls8)); 09029 } 09030 } 09031 } 09032 09033 static void 09034 ferode_3_78(l_uint32 *datad, 09035 l_int32 w, 09036 l_int32 h, 09037 l_int32 wpld, 09038 l_uint32 *datas, 09039 l_int32 wpls) 09040 { 09041 l_int32 i; 09042 register l_int32 j, pwpls; 09043 register l_uint32 *sptr, *dptr; 09044 l_int32 wpls2, wpls3, wpls4; 09045 l_int32 wpls5, wpls6, wpls7, wpls8; 09046 l_int32 wpls9; 09047 09048 wpls2 = 2 * wpls; 09049 wpls3 = 3 * wpls; 09050 wpls4 = 4 * wpls; 09051 wpls5 = 5 * wpls; 09052 wpls6 = 6 * wpls; 09053 wpls7 = 7 * wpls; 09054 wpls8 = 8 * wpls; 09055 wpls9 = 9 * wpls; 09056 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09057 09058 for (i = 0; i < h; i++) { 09059 sptr = datas + i * wpls; 09060 dptr = datad + i * wpld; 09061 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09062 *dptr = (*(sptr - wpls9)) & 09063 (*(sptr - wpls8)) & 09064 (*(sptr - wpls7)) & 09065 (*(sptr - wpls6)) & 09066 (*(sptr - wpls5)) & 09067 (*(sptr - wpls4)) & 09068 (*(sptr - wpls3)) & 09069 (*(sptr - wpls2)) & 09070 (*(sptr - wpls)) & 09071 (*sptr) & 09072 (*(sptr + wpls)) & 09073 (*(sptr + wpls2)) & 09074 (*(sptr + wpls3)) & 09075 (*(sptr + wpls4)) & 09076 (*(sptr + wpls5)) & 09077 (*(sptr + wpls6)) & 09078 (*(sptr + wpls7)) & 09079 (*(sptr + wpls8)); 09080 } 09081 } 09082 } 09083 09084 static void 09085 fdilate_3_79(l_uint32 *datad, 09086 l_int32 w, 09087 l_int32 h, 09088 l_int32 wpld, 09089 l_uint32 *datas, 09090 l_int32 wpls) 09091 { 09092 l_int32 i; 09093 register l_int32 j, pwpls; 09094 register l_uint32 *sptr, *dptr; 09095 l_int32 wpls2, wpls3, wpls4; 09096 l_int32 wpls5, wpls6, wpls7, wpls8; 09097 l_int32 wpls9; 09098 09099 wpls2 = 2 * wpls; 09100 wpls3 = 3 * wpls; 09101 wpls4 = 4 * wpls; 09102 wpls5 = 5 * wpls; 09103 wpls6 = 6 * wpls; 09104 wpls7 = 7 * wpls; 09105 wpls8 = 8 * wpls; 09106 wpls9 = 9 * wpls; 09107 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09108 09109 for (i = 0; i < h; i++) { 09110 sptr = datas + i * wpls; 09111 dptr = datad + i * wpld; 09112 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09113 *dptr = (*(sptr + wpls9)) | 09114 (*(sptr + wpls8)) | 09115 (*(sptr + wpls7)) | 09116 (*(sptr + wpls6)) | 09117 (*(sptr + wpls5)) | 09118 (*(sptr + wpls4)) | 09119 (*(sptr + wpls3)) | 09120 (*(sptr + wpls2)) | 09121 (*(sptr + wpls)) | 09122 (*sptr) | 09123 (*(sptr - wpls)) | 09124 (*(sptr - wpls2)) | 09125 (*(sptr - wpls3)) | 09126 (*(sptr - wpls4)) | 09127 (*(sptr - wpls5)) | 09128 (*(sptr - wpls6)) | 09129 (*(sptr - wpls7)) | 09130 (*(sptr - wpls8)) | 09131 (*(sptr - wpls9)); 09132 } 09133 } 09134 } 09135 09136 static void 09137 ferode_3_79(l_uint32 *datad, 09138 l_int32 w, 09139 l_int32 h, 09140 l_int32 wpld, 09141 l_uint32 *datas, 09142 l_int32 wpls) 09143 { 09144 l_int32 i; 09145 register l_int32 j, pwpls; 09146 register l_uint32 *sptr, *dptr; 09147 l_int32 wpls2, wpls3, wpls4; 09148 l_int32 wpls5, wpls6, wpls7, wpls8; 09149 l_int32 wpls9; 09150 09151 wpls2 = 2 * wpls; 09152 wpls3 = 3 * wpls; 09153 wpls4 = 4 * wpls; 09154 wpls5 = 5 * wpls; 09155 wpls6 = 6 * wpls; 09156 wpls7 = 7 * wpls; 09157 wpls8 = 8 * wpls; 09158 wpls9 = 9 * wpls; 09159 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09160 09161 for (i = 0; i < h; i++) { 09162 sptr = datas + i * wpls; 09163 dptr = datad + i * wpld; 09164 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09165 *dptr = (*(sptr - wpls9)) & 09166 (*(sptr - wpls8)) & 09167 (*(sptr - wpls7)) & 09168 (*(sptr - wpls6)) & 09169 (*(sptr - wpls5)) & 09170 (*(sptr - wpls4)) & 09171 (*(sptr - wpls3)) & 09172 (*(sptr - wpls2)) & 09173 (*(sptr - wpls)) & 09174 (*sptr) & 09175 (*(sptr + wpls)) & 09176 (*(sptr + wpls2)) & 09177 (*(sptr + wpls3)) & 09178 (*(sptr + wpls4)) & 09179 (*(sptr + wpls5)) & 09180 (*(sptr + wpls6)) & 09181 (*(sptr + wpls7)) & 09182 (*(sptr + wpls8)) & 09183 (*(sptr + wpls9)); 09184 } 09185 } 09186 } 09187 09188 static void 09189 fdilate_3_80(l_uint32 *datad, 09190 l_int32 w, 09191 l_int32 h, 09192 l_int32 wpld, 09193 l_uint32 *datas, 09194 l_int32 wpls) 09195 { 09196 l_int32 i; 09197 register l_int32 j, pwpls; 09198 register l_uint32 *sptr, *dptr; 09199 l_int32 wpls2, wpls3, wpls4; 09200 l_int32 wpls5, wpls6, wpls7, wpls8; 09201 l_int32 wpls9, wpls10; 09202 09203 wpls2 = 2 * wpls; 09204 wpls3 = 3 * wpls; 09205 wpls4 = 4 * wpls; 09206 wpls5 = 5 * wpls; 09207 wpls6 = 6 * wpls; 09208 wpls7 = 7 * wpls; 09209 wpls8 = 8 * wpls; 09210 wpls9 = 9 * wpls; 09211 wpls10 = 10 * wpls; 09212 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09213 09214 for (i = 0; i < h; i++) { 09215 sptr = datas + i * wpls; 09216 dptr = datad + i * wpld; 09217 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09218 *dptr = (*(sptr + wpls10)) | 09219 (*(sptr + wpls9)) | 09220 (*(sptr + wpls8)) | 09221 (*(sptr + wpls7)) | 09222 (*(sptr + wpls6)) | 09223 (*(sptr + wpls5)) | 09224 (*(sptr + wpls4)) | 09225 (*(sptr + wpls3)) | 09226 (*(sptr + wpls2)) | 09227 (*(sptr + wpls)) | 09228 (*sptr) | 09229 (*(sptr - wpls)) | 09230 (*(sptr - wpls2)) | 09231 (*(sptr - wpls3)) | 09232 (*(sptr - wpls4)) | 09233 (*(sptr - wpls5)) | 09234 (*(sptr - wpls6)) | 09235 (*(sptr - wpls7)) | 09236 (*(sptr - wpls8)) | 09237 (*(sptr - wpls9)); 09238 } 09239 } 09240 } 09241 09242 static void 09243 ferode_3_80(l_uint32 *datad, 09244 l_int32 w, 09245 l_int32 h, 09246 l_int32 wpld, 09247 l_uint32 *datas, 09248 l_int32 wpls) 09249 { 09250 l_int32 i; 09251 register l_int32 j, pwpls; 09252 register l_uint32 *sptr, *dptr; 09253 l_int32 wpls2, wpls3, wpls4; 09254 l_int32 wpls5, wpls6, wpls7, wpls8; 09255 l_int32 wpls9, wpls10; 09256 09257 wpls2 = 2 * wpls; 09258 wpls3 = 3 * wpls; 09259 wpls4 = 4 * wpls; 09260 wpls5 = 5 * wpls; 09261 wpls6 = 6 * wpls; 09262 wpls7 = 7 * wpls; 09263 wpls8 = 8 * wpls; 09264 wpls9 = 9 * wpls; 09265 wpls10 = 10 * wpls; 09266 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09267 09268 for (i = 0; i < h; i++) { 09269 sptr = datas + i * wpls; 09270 dptr = datad + i * wpld; 09271 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09272 *dptr = (*(sptr - wpls10)) & 09273 (*(sptr - wpls9)) & 09274 (*(sptr - wpls8)) & 09275 (*(sptr - wpls7)) & 09276 (*(sptr - wpls6)) & 09277 (*(sptr - wpls5)) & 09278 (*(sptr - wpls4)) & 09279 (*(sptr - wpls3)) & 09280 (*(sptr - wpls2)) & 09281 (*(sptr - wpls)) & 09282 (*sptr) & 09283 (*(sptr + wpls)) & 09284 (*(sptr + wpls2)) & 09285 (*(sptr + wpls3)) & 09286 (*(sptr + wpls4)) & 09287 (*(sptr + wpls5)) & 09288 (*(sptr + wpls6)) & 09289 (*(sptr + wpls7)) & 09290 (*(sptr + wpls8)) & 09291 (*(sptr + wpls9)); 09292 } 09293 } 09294 } 09295 09296 static void 09297 fdilate_3_81(l_uint32 *datad, 09298 l_int32 w, 09299 l_int32 h, 09300 l_int32 wpld, 09301 l_uint32 *datas, 09302 l_int32 wpls) 09303 { 09304 l_int32 i; 09305 register l_int32 j, pwpls; 09306 register l_uint32 *sptr, *dptr; 09307 l_int32 wpls2, wpls3, wpls4; 09308 l_int32 wpls5, wpls6, wpls7, wpls8; 09309 l_int32 wpls9, wpls10; 09310 09311 wpls2 = 2 * wpls; 09312 wpls3 = 3 * wpls; 09313 wpls4 = 4 * wpls; 09314 wpls5 = 5 * wpls; 09315 wpls6 = 6 * wpls; 09316 wpls7 = 7 * wpls; 09317 wpls8 = 8 * wpls; 09318 wpls9 = 9 * wpls; 09319 wpls10 = 10 * wpls; 09320 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09321 09322 for (i = 0; i < h; i++) { 09323 sptr = datas + i * wpls; 09324 dptr = datad + i * wpld; 09325 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09326 *dptr = (*(sptr + wpls10)) | 09327 (*(sptr + wpls9)) | 09328 (*(sptr + wpls8)) | 09329 (*(sptr + wpls7)) | 09330 (*(sptr + wpls6)) | 09331 (*(sptr + wpls5)) | 09332 (*(sptr + wpls4)) | 09333 (*(sptr + wpls3)) | 09334 (*(sptr + wpls2)) | 09335 (*(sptr + wpls)) | 09336 (*sptr) | 09337 (*(sptr - wpls)) | 09338 (*(sptr - wpls2)) | 09339 (*(sptr - wpls3)) | 09340 (*(sptr - wpls4)) | 09341 (*(sptr - wpls5)) | 09342 (*(sptr - wpls6)) | 09343 (*(sptr - wpls7)) | 09344 (*(sptr - wpls8)) | 09345 (*(sptr - wpls9)) | 09346 (*(sptr - wpls10)); 09347 } 09348 } 09349 } 09350 09351 static void 09352 ferode_3_81(l_uint32 *datad, 09353 l_int32 w, 09354 l_int32 h, 09355 l_int32 wpld, 09356 l_uint32 *datas, 09357 l_int32 wpls) 09358 { 09359 l_int32 i; 09360 register l_int32 j, pwpls; 09361 register l_uint32 *sptr, *dptr; 09362 l_int32 wpls2, wpls3, wpls4; 09363 l_int32 wpls5, wpls6, wpls7, wpls8; 09364 l_int32 wpls9, wpls10; 09365 09366 wpls2 = 2 * wpls; 09367 wpls3 = 3 * wpls; 09368 wpls4 = 4 * wpls; 09369 wpls5 = 5 * wpls; 09370 wpls6 = 6 * wpls; 09371 wpls7 = 7 * wpls; 09372 wpls8 = 8 * wpls; 09373 wpls9 = 9 * wpls; 09374 wpls10 = 10 * wpls; 09375 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09376 09377 for (i = 0; i < h; i++) { 09378 sptr = datas + i * wpls; 09379 dptr = datad + i * wpld; 09380 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09381 *dptr = (*(sptr - wpls10)) & 09382 (*(sptr - wpls9)) & 09383 (*(sptr - wpls8)) & 09384 (*(sptr - wpls7)) & 09385 (*(sptr - wpls6)) & 09386 (*(sptr - wpls5)) & 09387 (*(sptr - wpls4)) & 09388 (*(sptr - wpls3)) & 09389 (*(sptr - wpls2)) & 09390 (*(sptr - wpls)) & 09391 (*sptr) & 09392 (*(sptr + wpls)) & 09393 (*(sptr + wpls2)) & 09394 (*(sptr + wpls3)) & 09395 (*(sptr + wpls4)) & 09396 (*(sptr + wpls5)) & 09397 (*(sptr + wpls6)) & 09398 (*(sptr + wpls7)) & 09399 (*(sptr + wpls8)) & 09400 (*(sptr + wpls9)) & 09401 (*(sptr + wpls10)); 09402 } 09403 } 09404 } 09405 09406 static void 09407 fdilate_3_82(l_uint32 *datad, 09408 l_int32 w, 09409 l_int32 h, 09410 l_int32 wpld, 09411 l_uint32 *datas, 09412 l_int32 wpls) 09413 { 09414 l_int32 i; 09415 register l_int32 j, pwpls; 09416 register l_uint32 *sptr, *dptr; 09417 l_int32 wpls2, wpls3, wpls4; 09418 l_int32 wpls5, wpls6, wpls7, wpls8; 09419 l_int32 wpls9, wpls10, wpls11; 09420 09421 wpls2 = 2 * wpls; 09422 wpls3 = 3 * wpls; 09423 wpls4 = 4 * wpls; 09424 wpls5 = 5 * wpls; 09425 wpls6 = 6 * wpls; 09426 wpls7 = 7 * wpls; 09427 wpls8 = 8 * wpls; 09428 wpls9 = 9 * wpls; 09429 wpls10 = 10 * wpls; 09430 wpls11 = 11 * wpls; 09431 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09432 09433 for (i = 0; i < h; i++) { 09434 sptr = datas + i * wpls; 09435 dptr = datad + i * wpld; 09436 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09437 *dptr = (*(sptr + wpls11)) | 09438 (*(sptr + wpls10)) | 09439 (*(sptr + wpls9)) | 09440 (*(sptr + wpls8)) | 09441 (*(sptr + wpls7)) | 09442 (*(sptr + wpls6)) | 09443 (*(sptr + wpls5)) | 09444 (*(sptr + wpls4)) | 09445 (*(sptr + wpls3)) | 09446 (*(sptr + wpls2)) | 09447 (*(sptr + wpls)) | 09448 (*sptr) | 09449 (*(sptr - wpls)) | 09450 (*(sptr - wpls2)) | 09451 (*(sptr - wpls3)) | 09452 (*(sptr - wpls4)) | 09453 (*(sptr - wpls5)) | 09454 (*(sptr - wpls6)) | 09455 (*(sptr - wpls7)) | 09456 (*(sptr - wpls8)) | 09457 (*(sptr - wpls9)) | 09458 (*(sptr - wpls10)); 09459 } 09460 } 09461 } 09462 09463 static void 09464 ferode_3_82(l_uint32 *datad, 09465 l_int32 w, 09466 l_int32 h, 09467 l_int32 wpld, 09468 l_uint32 *datas, 09469 l_int32 wpls) 09470 { 09471 l_int32 i; 09472 register l_int32 j, pwpls; 09473 register l_uint32 *sptr, *dptr; 09474 l_int32 wpls2, wpls3, wpls4; 09475 l_int32 wpls5, wpls6, wpls7, wpls8; 09476 l_int32 wpls9, wpls10, wpls11; 09477 09478 wpls2 = 2 * wpls; 09479 wpls3 = 3 * wpls; 09480 wpls4 = 4 * wpls; 09481 wpls5 = 5 * wpls; 09482 wpls6 = 6 * wpls; 09483 wpls7 = 7 * wpls; 09484 wpls8 = 8 * wpls; 09485 wpls9 = 9 * wpls; 09486 wpls10 = 10 * wpls; 09487 wpls11 = 11 * wpls; 09488 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09489 09490 for (i = 0; i < h; i++) { 09491 sptr = datas + i * wpls; 09492 dptr = datad + i * wpld; 09493 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09494 *dptr = (*(sptr - wpls11)) & 09495 (*(sptr - wpls10)) & 09496 (*(sptr - wpls9)) & 09497 (*(sptr - wpls8)) & 09498 (*(sptr - wpls7)) & 09499 (*(sptr - wpls6)) & 09500 (*(sptr - wpls5)) & 09501 (*(sptr - wpls4)) & 09502 (*(sptr - wpls3)) & 09503 (*(sptr - wpls2)) & 09504 (*(sptr - wpls)) & 09505 (*sptr) & 09506 (*(sptr + wpls)) & 09507 (*(sptr + wpls2)) & 09508 (*(sptr + wpls3)) & 09509 (*(sptr + wpls4)) & 09510 (*(sptr + wpls5)) & 09511 (*(sptr + wpls6)) & 09512 (*(sptr + wpls7)) & 09513 (*(sptr + wpls8)) & 09514 (*(sptr + wpls9)) & 09515 (*(sptr + wpls10)); 09516 } 09517 } 09518 } 09519 09520 static void 09521 fdilate_3_83(l_uint32 *datad, 09522 l_int32 w, 09523 l_int32 h, 09524 l_int32 wpld, 09525 l_uint32 *datas, 09526 l_int32 wpls) 09527 { 09528 l_int32 i; 09529 register l_int32 j, pwpls; 09530 register l_uint32 *sptr, *dptr; 09531 l_int32 wpls2, wpls3, wpls4; 09532 l_int32 wpls5, wpls6, wpls7, wpls8; 09533 l_int32 wpls9, wpls10, wpls11; 09534 09535 wpls2 = 2 * wpls; 09536 wpls3 = 3 * wpls; 09537 wpls4 = 4 * wpls; 09538 wpls5 = 5 * wpls; 09539 wpls6 = 6 * wpls; 09540 wpls7 = 7 * wpls; 09541 wpls8 = 8 * wpls; 09542 wpls9 = 9 * wpls; 09543 wpls10 = 10 * wpls; 09544 wpls11 = 11 * wpls; 09545 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09546 09547 for (i = 0; i < h; i++) { 09548 sptr = datas + i * wpls; 09549 dptr = datad + i * wpld; 09550 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09551 *dptr = (*(sptr + wpls11)) | 09552 (*(sptr + wpls10)) | 09553 (*(sptr + wpls9)) | 09554 (*(sptr + wpls8)) | 09555 (*(sptr + wpls7)) | 09556 (*(sptr + wpls6)) | 09557 (*(sptr + wpls5)) | 09558 (*(sptr + wpls4)) | 09559 (*(sptr + wpls3)) | 09560 (*(sptr + wpls2)) | 09561 (*(sptr + wpls)) | 09562 (*sptr) | 09563 (*(sptr - wpls)) | 09564 (*(sptr - wpls2)) | 09565 (*(sptr - wpls3)) | 09566 (*(sptr - wpls4)) | 09567 (*(sptr - wpls5)) | 09568 (*(sptr - wpls6)) | 09569 (*(sptr - wpls7)) | 09570 (*(sptr - wpls8)) | 09571 (*(sptr - wpls9)) | 09572 (*(sptr - wpls10)) | 09573 (*(sptr - wpls11)); 09574 } 09575 } 09576 } 09577 09578 static void 09579 ferode_3_83(l_uint32 *datad, 09580 l_int32 w, 09581 l_int32 h, 09582 l_int32 wpld, 09583 l_uint32 *datas, 09584 l_int32 wpls) 09585 { 09586 l_int32 i; 09587 register l_int32 j, pwpls; 09588 register l_uint32 *sptr, *dptr; 09589 l_int32 wpls2, wpls3, wpls4; 09590 l_int32 wpls5, wpls6, wpls7, wpls8; 09591 l_int32 wpls9, wpls10, wpls11; 09592 09593 wpls2 = 2 * wpls; 09594 wpls3 = 3 * wpls; 09595 wpls4 = 4 * wpls; 09596 wpls5 = 5 * wpls; 09597 wpls6 = 6 * wpls; 09598 wpls7 = 7 * wpls; 09599 wpls8 = 8 * wpls; 09600 wpls9 = 9 * wpls; 09601 wpls10 = 10 * wpls; 09602 wpls11 = 11 * wpls; 09603 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09604 09605 for (i = 0; i < h; i++) { 09606 sptr = datas + i * wpls; 09607 dptr = datad + i * wpld; 09608 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09609 *dptr = (*(sptr - wpls11)) & 09610 (*(sptr - wpls10)) & 09611 (*(sptr - wpls9)) & 09612 (*(sptr - wpls8)) & 09613 (*(sptr - wpls7)) & 09614 (*(sptr - wpls6)) & 09615 (*(sptr - wpls5)) & 09616 (*(sptr - wpls4)) & 09617 (*(sptr - wpls3)) & 09618 (*(sptr - wpls2)) & 09619 (*(sptr - wpls)) & 09620 (*sptr) & 09621 (*(sptr + wpls)) & 09622 (*(sptr + wpls2)) & 09623 (*(sptr + wpls3)) & 09624 (*(sptr + wpls4)) & 09625 (*(sptr + wpls5)) & 09626 (*(sptr + wpls6)) & 09627 (*(sptr + wpls7)) & 09628 (*(sptr + wpls8)) & 09629 (*(sptr + wpls9)) & 09630 (*(sptr + wpls10)) & 09631 (*(sptr + wpls11)); 09632 } 09633 } 09634 } 09635 09636 static void 09637 fdilate_3_84(l_uint32 *datad, 09638 l_int32 w, 09639 l_int32 h, 09640 l_int32 wpld, 09641 l_uint32 *datas, 09642 l_int32 wpls) 09643 { 09644 l_int32 i; 09645 register l_int32 j, pwpls; 09646 register l_uint32 *sptr, *dptr; 09647 l_int32 wpls2, wpls3, wpls4; 09648 l_int32 wpls5, wpls6, wpls7, wpls8; 09649 l_int32 wpls9, wpls10, wpls11, wpls12; 09650 09651 wpls2 = 2 * wpls; 09652 wpls3 = 3 * wpls; 09653 wpls4 = 4 * wpls; 09654 wpls5 = 5 * wpls; 09655 wpls6 = 6 * wpls; 09656 wpls7 = 7 * wpls; 09657 wpls8 = 8 * wpls; 09658 wpls9 = 9 * wpls; 09659 wpls10 = 10 * wpls; 09660 wpls11 = 11 * wpls; 09661 wpls12 = 12 * wpls; 09662 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09663 09664 for (i = 0; i < h; i++) { 09665 sptr = datas + i * wpls; 09666 dptr = datad + i * wpld; 09667 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09668 *dptr = (*(sptr + wpls12)) | 09669 (*(sptr + wpls11)) | 09670 (*(sptr + wpls10)) | 09671 (*(sptr + wpls9)) | 09672 (*(sptr + wpls8)) | 09673 (*(sptr + wpls7)) | 09674 (*(sptr + wpls6)) | 09675 (*(sptr + wpls5)) | 09676 (*(sptr + wpls4)) | 09677 (*(sptr + wpls3)) | 09678 (*(sptr + wpls2)) | 09679 (*(sptr + wpls)) | 09680 (*sptr) | 09681 (*(sptr - wpls)) | 09682 (*(sptr - wpls2)) | 09683 (*(sptr - wpls3)) | 09684 (*(sptr - wpls4)) | 09685 (*(sptr - wpls5)) | 09686 (*(sptr - wpls6)) | 09687 (*(sptr - wpls7)) | 09688 (*(sptr - wpls8)) | 09689 (*(sptr - wpls9)) | 09690 (*(sptr - wpls10)) | 09691 (*(sptr - wpls11)); 09692 } 09693 } 09694 } 09695 09696 static void 09697 ferode_3_84(l_uint32 *datad, 09698 l_int32 w, 09699 l_int32 h, 09700 l_int32 wpld, 09701 l_uint32 *datas, 09702 l_int32 wpls) 09703 { 09704 l_int32 i; 09705 register l_int32 j, pwpls; 09706 register l_uint32 *sptr, *dptr; 09707 l_int32 wpls2, wpls3, wpls4; 09708 l_int32 wpls5, wpls6, wpls7, wpls8; 09709 l_int32 wpls9, wpls10, wpls11, wpls12; 09710 09711 wpls2 = 2 * wpls; 09712 wpls3 = 3 * wpls; 09713 wpls4 = 4 * wpls; 09714 wpls5 = 5 * wpls; 09715 wpls6 = 6 * wpls; 09716 wpls7 = 7 * wpls; 09717 wpls8 = 8 * wpls; 09718 wpls9 = 9 * wpls; 09719 wpls10 = 10 * wpls; 09720 wpls11 = 11 * wpls; 09721 wpls12 = 12 * wpls; 09722 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09723 09724 for (i = 0; i < h; i++) { 09725 sptr = datas + i * wpls; 09726 dptr = datad + i * wpld; 09727 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09728 *dptr = (*(sptr - wpls12)) & 09729 (*(sptr - wpls11)) & 09730 (*(sptr - wpls10)) & 09731 (*(sptr - wpls9)) & 09732 (*(sptr - wpls8)) & 09733 (*(sptr - wpls7)) & 09734 (*(sptr - wpls6)) & 09735 (*(sptr - wpls5)) & 09736 (*(sptr - wpls4)) & 09737 (*(sptr - wpls3)) & 09738 (*(sptr - wpls2)) & 09739 (*(sptr - wpls)) & 09740 (*sptr) & 09741 (*(sptr + wpls)) & 09742 (*(sptr + wpls2)) & 09743 (*(sptr + wpls3)) & 09744 (*(sptr + wpls4)) & 09745 (*(sptr + wpls5)) & 09746 (*(sptr + wpls6)) & 09747 (*(sptr + wpls7)) & 09748 (*(sptr + wpls8)) & 09749 (*(sptr + wpls9)) & 09750 (*(sptr + wpls10)) & 09751 (*(sptr + wpls11)); 09752 } 09753 } 09754 } 09755 09756 static void 09757 fdilate_3_85(l_uint32 *datad, 09758 l_int32 w, 09759 l_int32 h, 09760 l_int32 wpld, 09761 l_uint32 *datas, 09762 l_int32 wpls) 09763 { 09764 l_int32 i; 09765 register l_int32 j, pwpls; 09766 register l_uint32 *sptr, *dptr; 09767 l_int32 wpls2, wpls3, wpls4; 09768 l_int32 wpls5, wpls6, wpls7, wpls8; 09769 l_int32 wpls9, wpls10, wpls11, wpls12; 09770 09771 wpls2 = 2 * wpls; 09772 wpls3 = 3 * wpls; 09773 wpls4 = 4 * wpls; 09774 wpls5 = 5 * wpls; 09775 wpls6 = 6 * wpls; 09776 wpls7 = 7 * wpls; 09777 wpls8 = 8 * wpls; 09778 wpls9 = 9 * wpls; 09779 wpls10 = 10 * wpls; 09780 wpls11 = 11 * wpls; 09781 wpls12 = 12 * wpls; 09782 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09783 09784 for (i = 0; i < h; i++) { 09785 sptr = datas + i * wpls; 09786 dptr = datad + i * wpld; 09787 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09788 *dptr = (*(sptr + wpls12)) | 09789 (*(sptr + wpls11)) | 09790 (*(sptr + wpls10)) | 09791 (*(sptr + wpls9)) | 09792 (*(sptr + wpls8)) | 09793 (*(sptr + wpls7)) | 09794 (*(sptr + wpls6)) | 09795 (*(sptr + wpls5)) | 09796 (*(sptr + wpls4)) | 09797 (*(sptr + wpls3)) | 09798 (*(sptr + wpls2)) | 09799 (*(sptr + wpls)) | 09800 (*sptr) | 09801 (*(sptr - wpls)) | 09802 (*(sptr - wpls2)) | 09803 (*(sptr - wpls3)) | 09804 (*(sptr - wpls4)) | 09805 (*(sptr - wpls5)) | 09806 (*(sptr - wpls6)) | 09807 (*(sptr - wpls7)) | 09808 (*(sptr - wpls8)) | 09809 (*(sptr - wpls9)) | 09810 (*(sptr - wpls10)) | 09811 (*(sptr - wpls11)) | 09812 (*(sptr - wpls12)); 09813 } 09814 } 09815 } 09816 09817 static void 09818 ferode_3_85(l_uint32 *datad, 09819 l_int32 w, 09820 l_int32 h, 09821 l_int32 wpld, 09822 l_uint32 *datas, 09823 l_int32 wpls) 09824 { 09825 l_int32 i; 09826 register l_int32 j, pwpls; 09827 register l_uint32 *sptr, *dptr; 09828 l_int32 wpls2, wpls3, wpls4; 09829 l_int32 wpls5, wpls6, wpls7, wpls8; 09830 l_int32 wpls9, wpls10, wpls11, wpls12; 09831 09832 wpls2 = 2 * wpls; 09833 wpls3 = 3 * wpls; 09834 wpls4 = 4 * wpls; 09835 wpls5 = 5 * wpls; 09836 wpls6 = 6 * wpls; 09837 wpls7 = 7 * wpls; 09838 wpls8 = 8 * wpls; 09839 wpls9 = 9 * wpls; 09840 wpls10 = 10 * wpls; 09841 wpls11 = 11 * wpls; 09842 wpls12 = 12 * wpls; 09843 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09844 09845 for (i = 0; i < h; i++) { 09846 sptr = datas + i * wpls; 09847 dptr = datad + i * wpld; 09848 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09849 *dptr = (*(sptr - wpls12)) & 09850 (*(sptr - wpls11)) & 09851 (*(sptr - wpls10)) & 09852 (*(sptr - wpls9)) & 09853 (*(sptr - wpls8)) & 09854 (*(sptr - wpls7)) & 09855 (*(sptr - wpls6)) & 09856 (*(sptr - wpls5)) & 09857 (*(sptr - wpls4)) & 09858 (*(sptr - wpls3)) & 09859 (*(sptr - wpls2)) & 09860 (*(sptr - wpls)) & 09861 (*sptr) & 09862 (*(sptr + wpls)) & 09863 (*(sptr + wpls2)) & 09864 (*(sptr + wpls3)) & 09865 (*(sptr + wpls4)) & 09866 (*(sptr + wpls5)) & 09867 (*(sptr + wpls6)) & 09868 (*(sptr + wpls7)) & 09869 (*(sptr + wpls8)) & 09870 (*(sptr + wpls9)) & 09871 (*(sptr + wpls10)) & 09872 (*(sptr + wpls11)) & 09873 (*(sptr + wpls12)); 09874 } 09875 } 09876 } 09877 09878 static void 09879 fdilate_3_86(l_uint32 *datad, 09880 l_int32 w, 09881 l_int32 h, 09882 l_int32 wpld, 09883 l_uint32 *datas, 09884 l_int32 wpls) 09885 { 09886 l_int32 i; 09887 register l_int32 j, pwpls; 09888 register l_uint32 *sptr, *dptr; 09889 l_int32 wpls2, wpls3, wpls4; 09890 l_int32 wpls5, wpls6, wpls7, wpls8; 09891 l_int32 wpls9, wpls10, wpls11, wpls12; 09892 l_int32 wpls13; 09893 09894 wpls2 = 2 * wpls; 09895 wpls3 = 3 * wpls; 09896 wpls4 = 4 * wpls; 09897 wpls5 = 5 * wpls; 09898 wpls6 = 6 * wpls; 09899 wpls7 = 7 * wpls; 09900 wpls8 = 8 * wpls; 09901 wpls9 = 9 * wpls; 09902 wpls10 = 10 * wpls; 09903 wpls11 = 11 * wpls; 09904 wpls12 = 12 * wpls; 09905 wpls13 = 13 * wpls; 09906 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09907 09908 for (i = 0; i < h; i++) { 09909 sptr = datas + i * wpls; 09910 dptr = datad + i * wpld; 09911 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09912 *dptr = (*(sptr + wpls13)) | 09913 (*(sptr + wpls12)) | 09914 (*(sptr + wpls11)) | 09915 (*(sptr + wpls10)) | 09916 (*(sptr + wpls9)) | 09917 (*(sptr + wpls8)) | 09918 (*(sptr + wpls7)) | 09919 (*(sptr + wpls6)) | 09920 (*(sptr + wpls5)) | 09921 (*(sptr + wpls4)) | 09922 (*(sptr + wpls3)) | 09923 (*(sptr + wpls2)) | 09924 (*(sptr + wpls)) | 09925 (*sptr) | 09926 (*(sptr - wpls)) | 09927 (*(sptr - wpls2)) | 09928 (*(sptr - wpls3)) | 09929 (*(sptr - wpls4)) | 09930 (*(sptr - wpls5)) | 09931 (*(sptr - wpls6)) | 09932 (*(sptr - wpls7)) | 09933 (*(sptr - wpls8)) | 09934 (*(sptr - wpls9)) | 09935 (*(sptr - wpls10)) | 09936 (*(sptr - wpls11)) | 09937 (*(sptr - wpls12)); 09938 } 09939 } 09940 } 09941 09942 static void 09943 ferode_3_86(l_uint32 *datad, 09944 l_int32 w, 09945 l_int32 h, 09946 l_int32 wpld, 09947 l_uint32 *datas, 09948 l_int32 wpls) 09949 { 09950 l_int32 i; 09951 register l_int32 j, pwpls; 09952 register l_uint32 *sptr, *dptr; 09953 l_int32 wpls2, wpls3, wpls4; 09954 l_int32 wpls5, wpls6, wpls7, wpls8; 09955 l_int32 wpls9, wpls10, wpls11, wpls12; 09956 l_int32 wpls13; 09957 09958 wpls2 = 2 * wpls; 09959 wpls3 = 3 * wpls; 09960 wpls4 = 4 * wpls; 09961 wpls5 = 5 * wpls; 09962 wpls6 = 6 * wpls; 09963 wpls7 = 7 * wpls; 09964 wpls8 = 8 * wpls; 09965 wpls9 = 9 * wpls; 09966 wpls10 = 10 * wpls; 09967 wpls11 = 11 * wpls; 09968 wpls12 = 12 * wpls; 09969 wpls13 = 13 * wpls; 09970 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 09971 09972 for (i = 0; i < h; i++) { 09973 sptr = datas + i * wpls; 09974 dptr = datad + i * wpld; 09975 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 09976 *dptr = (*(sptr - wpls13)) & 09977 (*(sptr - wpls12)) & 09978 (*(sptr - wpls11)) & 09979 (*(sptr - wpls10)) & 09980 (*(sptr - wpls9)) & 09981 (*(sptr - wpls8)) & 09982 (*(sptr - wpls7)) & 09983 (*(sptr - wpls6)) & 09984 (*(sptr - wpls5)) & 09985 (*(sptr - wpls4)) & 09986 (*(sptr - wpls3)) & 09987 (*(sptr - wpls2)) & 09988 (*(sptr - wpls)) & 09989 (*sptr) & 09990 (*(sptr + wpls)) & 09991 (*(sptr + wpls2)) & 09992 (*(sptr + wpls3)) & 09993 (*(sptr + wpls4)) & 09994 (*(sptr + wpls5)) & 09995 (*(sptr + wpls6)) & 09996 (*(sptr + wpls7)) & 09997 (*(sptr + wpls8)) & 09998 (*(sptr + wpls9)) & 09999 (*(sptr + wpls10)) & 10000 (*(sptr + wpls11)) & 10001 (*(sptr + wpls12)); 10002 } 10003 } 10004 } 10005 10006 static void 10007 fdilate_3_87(l_uint32 *datad, 10008 l_int32 w, 10009 l_int32 h, 10010 l_int32 wpld, 10011 l_uint32 *datas, 10012 l_int32 wpls) 10013 { 10014 l_int32 i; 10015 register l_int32 j, pwpls; 10016 register l_uint32 *sptr, *dptr; 10017 l_int32 wpls2, wpls3, wpls4; 10018 l_int32 wpls5, wpls6, wpls7, wpls8; 10019 l_int32 wpls9, wpls10, wpls11, wpls12; 10020 l_int32 wpls13; 10021 10022 wpls2 = 2 * wpls; 10023 wpls3 = 3 * wpls; 10024 wpls4 = 4 * wpls; 10025 wpls5 = 5 * wpls; 10026 wpls6 = 6 * wpls; 10027 wpls7 = 7 * wpls; 10028 wpls8 = 8 * wpls; 10029 wpls9 = 9 * wpls; 10030 wpls10 = 10 * wpls; 10031 wpls11 = 11 * wpls; 10032 wpls12 = 12 * wpls; 10033 wpls13 = 13 * wpls; 10034 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10035 10036 for (i = 0; i < h; i++) { 10037 sptr = datas + i * wpls; 10038 dptr = datad + i * wpld; 10039 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10040 *dptr = (*(sptr + wpls13)) | 10041 (*(sptr + wpls12)) | 10042 (*(sptr + wpls11)) | 10043 (*(sptr + wpls10)) | 10044 (*(sptr + wpls9)) | 10045 (*(sptr + wpls8)) | 10046 (*(sptr + wpls7)) | 10047 (*(sptr + wpls6)) | 10048 (*(sptr + wpls5)) | 10049 (*(sptr + wpls4)) | 10050 (*(sptr + wpls3)) | 10051 (*(sptr + wpls2)) | 10052 (*(sptr + wpls)) | 10053 (*sptr) | 10054 (*(sptr - wpls)) | 10055 (*(sptr - wpls2)) | 10056 (*(sptr - wpls3)) | 10057 (*(sptr - wpls4)) | 10058 (*(sptr - wpls5)) | 10059 (*(sptr - wpls6)) | 10060 (*(sptr - wpls7)) | 10061 (*(sptr - wpls8)) | 10062 (*(sptr - wpls9)) | 10063 (*(sptr - wpls10)) | 10064 (*(sptr - wpls11)) | 10065 (*(sptr - wpls12)) | 10066 (*(sptr - wpls13)); 10067 } 10068 } 10069 } 10070 10071 static void 10072 ferode_3_87(l_uint32 *datad, 10073 l_int32 w, 10074 l_int32 h, 10075 l_int32 wpld, 10076 l_uint32 *datas, 10077 l_int32 wpls) 10078 { 10079 l_int32 i; 10080 register l_int32 j, pwpls; 10081 register l_uint32 *sptr, *dptr; 10082 l_int32 wpls2, wpls3, wpls4; 10083 l_int32 wpls5, wpls6, wpls7, wpls8; 10084 l_int32 wpls9, wpls10, wpls11, wpls12; 10085 l_int32 wpls13; 10086 10087 wpls2 = 2 * wpls; 10088 wpls3 = 3 * wpls; 10089 wpls4 = 4 * wpls; 10090 wpls5 = 5 * wpls; 10091 wpls6 = 6 * wpls; 10092 wpls7 = 7 * wpls; 10093 wpls8 = 8 * wpls; 10094 wpls9 = 9 * wpls; 10095 wpls10 = 10 * wpls; 10096 wpls11 = 11 * wpls; 10097 wpls12 = 12 * wpls; 10098 wpls13 = 13 * wpls; 10099 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10100 10101 for (i = 0; i < h; i++) { 10102 sptr = datas + i * wpls; 10103 dptr = datad + i * wpld; 10104 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10105 *dptr = (*(sptr - wpls13)) & 10106 (*(sptr - wpls12)) & 10107 (*(sptr - wpls11)) & 10108 (*(sptr - wpls10)) & 10109 (*(sptr - wpls9)) & 10110 (*(sptr - wpls8)) & 10111 (*(sptr - wpls7)) & 10112 (*(sptr - wpls6)) & 10113 (*(sptr - wpls5)) & 10114 (*(sptr - wpls4)) & 10115 (*(sptr - wpls3)) & 10116 (*(sptr - wpls2)) & 10117 (*(sptr - wpls)) & 10118 (*sptr) & 10119 (*(sptr + wpls)) & 10120 (*(sptr + wpls2)) & 10121 (*(sptr + wpls3)) & 10122 (*(sptr + wpls4)) & 10123 (*(sptr + wpls5)) & 10124 (*(sptr + wpls6)) & 10125 (*(sptr + wpls7)) & 10126 (*(sptr + wpls8)) & 10127 (*(sptr + wpls9)) & 10128 (*(sptr + wpls10)) & 10129 (*(sptr + wpls11)) & 10130 (*(sptr + wpls12)) & 10131 (*(sptr + wpls13)); 10132 } 10133 } 10134 } 10135 10136 static void 10137 fdilate_3_88(l_uint32 *datad, 10138 l_int32 w, 10139 l_int32 h, 10140 l_int32 wpld, 10141 l_uint32 *datas, 10142 l_int32 wpls) 10143 { 10144 l_int32 i; 10145 register l_int32 j, pwpls; 10146 register l_uint32 *sptr, *dptr; 10147 l_int32 wpls2, wpls3, wpls4; 10148 l_int32 wpls5, wpls6, wpls7, wpls8; 10149 l_int32 wpls9, wpls10, wpls11, wpls12; 10150 l_int32 wpls13, wpls14; 10151 10152 wpls2 = 2 * wpls; 10153 wpls3 = 3 * wpls; 10154 wpls4 = 4 * wpls; 10155 wpls5 = 5 * wpls; 10156 wpls6 = 6 * wpls; 10157 wpls7 = 7 * wpls; 10158 wpls8 = 8 * wpls; 10159 wpls9 = 9 * wpls; 10160 wpls10 = 10 * wpls; 10161 wpls11 = 11 * wpls; 10162 wpls12 = 12 * wpls; 10163 wpls13 = 13 * wpls; 10164 wpls14 = 14 * wpls; 10165 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10166 10167 for (i = 0; i < h; i++) { 10168 sptr = datas + i * wpls; 10169 dptr = datad + i * wpld; 10170 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10171 *dptr = (*(sptr + wpls14)) | 10172 (*(sptr + wpls13)) | 10173 (*(sptr + wpls12)) | 10174 (*(sptr + wpls11)) | 10175 (*(sptr + wpls10)) | 10176 (*(sptr + wpls9)) | 10177 (*(sptr + wpls8)) | 10178 (*(sptr + wpls7)) | 10179 (*(sptr + wpls6)) | 10180 (*(sptr + wpls5)) | 10181 (*(sptr + wpls4)) | 10182 (*(sptr + wpls3)) | 10183 (*(sptr + wpls2)) | 10184 (*(sptr + wpls)) | 10185 (*sptr) | 10186 (*(sptr - wpls)) | 10187 (*(sptr - wpls2)) | 10188 (*(sptr - wpls3)) | 10189 (*(sptr - wpls4)) | 10190 (*(sptr - wpls5)) | 10191 (*(sptr - wpls6)) | 10192 (*(sptr - wpls7)) | 10193 (*(sptr - wpls8)) | 10194 (*(sptr - wpls9)) | 10195 (*(sptr - wpls10)) | 10196 (*(sptr - wpls11)) | 10197 (*(sptr - wpls12)) | 10198 (*(sptr - wpls13)); 10199 } 10200 } 10201 } 10202 10203 static void 10204 ferode_3_88(l_uint32 *datad, 10205 l_int32 w, 10206 l_int32 h, 10207 l_int32 wpld, 10208 l_uint32 *datas, 10209 l_int32 wpls) 10210 { 10211 l_int32 i; 10212 register l_int32 j, pwpls; 10213 register l_uint32 *sptr, *dptr; 10214 l_int32 wpls2, wpls3, wpls4; 10215 l_int32 wpls5, wpls6, wpls7, wpls8; 10216 l_int32 wpls9, wpls10, wpls11, wpls12; 10217 l_int32 wpls13, wpls14; 10218 10219 wpls2 = 2 * wpls; 10220 wpls3 = 3 * wpls; 10221 wpls4 = 4 * wpls; 10222 wpls5 = 5 * wpls; 10223 wpls6 = 6 * wpls; 10224 wpls7 = 7 * wpls; 10225 wpls8 = 8 * wpls; 10226 wpls9 = 9 * wpls; 10227 wpls10 = 10 * wpls; 10228 wpls11 = 11 * wpls; 10229 wpls12 = 12 * wpls; 10230 wpls13 = 13 * wpls; 10231 wpls14 = 14 * wpls; 10232 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10233 10234 for (i = 0; i < h; i++) { 10235 sptr = datas + i * wpls; 10236 dptr = datad + i * wpld; 10237 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10238 *dptr = (*(sptr - wpls14)) & 10239 (*(sptr - wpls13)) & 10240 (*(sptr - wpls12)) & 10241 (*(sptr - wpls11)) & 10242 (*(sptr - wpls10)) & 10243 (*(sptr - wpls9)) & 10244 (*(sptr - wpls8)) & 10245 (*(sptr - wpls7)) & 10246 (*(sptr - wpls6)) & 10247 (*(sptr - wpls5)) & 10248 (*(sptr - wpls4)) & 10249 (*(sptr - wpls3)) & 10250 (*(sptr - wpls2)) & 10251 (*(sptr - wpls)) & 10252 (*sptr) & 10253 (*(sptr + wpls)) & 10254 (*(sptr + wpls2)) & 10255 (*(sptr + wpls3)) & 10256 (*(sptr + wpls4)) & 10257 (*(sptr + wpls5)) & 10258 (*(sptr + wpls6)) & 10259 (*(sptr + wpls7)) & 10260 (*(sptr + wpls8)) & 10261 (*(sptr + wpls9)) & 10262 (*(sptr + wpls10)) & 10263 (*(sptr + wpls11)) & 10264 (*(sptr + wpls12)) & 10265 (*(sptr + wpls13)); 10266 } 10267 } 10268 } 10269 10270 static void 10271 fdilate_3_89(l_uint32 *datad, 10272 l_int32 w, 10273 l_int32 h, 10274 l_int32 wpld, 10275 l_uint32 *datas, 10276 l_int32 wpls) 10277 { 10278 l_int32 i; 10279 register l_int32 j, pwpls; 10280 register l_uint32 *sptr, *dptr; 10281 l_int32 wpls2, wpls3, wpls4; 10282 l_int32 wpls5, wpls6, wpls7, wpls8; 10283 l_int32 wpls9, wpls10, wpls11, wpls12; 10284 l_int32 wpls13, wpls14; 10285 10286 wpls2 = 2 * wpls; 10287 wpls3 = 3 * wpls; 10288 wpls4 = 4 * wpls; 10289 wpls5 = 5 * wpls; 10290 wpls6 = 6 * wpls; 10291 wpls7 = 7 * wpls; 10292 wpls8 = 8 * wpls; 10293 wpls9 = 9 * wpls; 10294 wpls10 = 10 * wpls; 10295 wpls11 = 11 * wpls; 10296 wpls12 = 12 * wpls; 10297 wpls13 = 13 * wpls; 10298 wpls14 = 14 * wpls; 10299 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10300 10301 for (i = 0; i < h; i++) { 10302 sptr = datas + i * wpls; 10303 dptr = datad + i * wpld; 10304 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10305 *dptr = (*(sptr + wpls14)) | 10306 (*(sptr + wpls13)) | 10307 (*(sptr + wpls12)) | 10308 (*(sptr + wpls11)) | 10309 (*(sptr + wpls10)) | 10310 (*(sptr + wpls9)) | 10311 (*(sptr + wpls8)) | 10312 (*(sptr + wpls7)) | 10313 (*(sptr + wpls6)) | 10314 (*(sptr + wpls5)) | 10315 (*(sptr + wpls4)) | 10316 (*(sptr + wpls3)) | 10317 (*(sptr + wpls2)) | 10318 (*(sptr + wpls)) | 10319 (*sptr) | 10320 (*(sptr - wpls)) | 10321 (*(sptr - wpls2)) | 10322 (*(sptr - wpls3)) | 10323 (*(sptr - wpls4)) | 10324 (*(sptr - wpls5)) | 10325 (*(sptr - wpls6)) | 10326 (*(sptr - wpls7)) | 10327 (*(sptr - wpls8)) | 10328 (*(sptr - wpls9)) | 10329 (*(sptr - wpls10)) | 10330 (*(sptr - wpls11)) | 10331 (*(sptr - wpls12)) | 10332 (*(sptr - wpls13)) | 10333 (*(sptr - wpls14)); 10334 } 10335 } 10336 } 10337 10338 static void 10339 ferode_3_89(l_uint32 *datad, 10340 l_int32 w, 10341 l_int32 h, 10342 l_int32 wpld, 10343 l_uint32 *datas, 10344 l_int32 wpls) 10345 { 10346 l_int32 i; 10347 register l_int32 j, pwpls; 10348 register l_uint32 *sptr, *dptr; 10349 l_int32 wpls2, wpls3, wpls4; 10350 l_int32 wpls5, wpls6, wpls7, wpls8; 10351 l_int32 wpls9, wpls10, wpls11, wpls12; 10352 l_int32 wpls13, wpls14; 10353 10354 wpls2 = 2 * wpls; 10355 wpls3 = 3 * wpls; 10356 wpls4 = 4 * wpls; 10357 wpls5 = 5 * wpls; 10358 wpls6 = 6 * wpls; 10359 wpls7 = 7 * wpls; 10360 wpls8 = 8 * wpls; 10361 wpls9 = 9 * wpls; 10362 wpls10 = 10 * wpls; 10363 wpls11 = 11 * wpls; 10364 wpls12 = 12 * wpls; 10365 wpls13 = 13 * wpls; 10366 wpls14 = 14 * wpls; 10367 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10368 10369 for (i = 0; i < h; i++) { 10370 sptr = datas + i * wpls; 10371 dptr = datad + i * wpld; 10372 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10373 *dptr = (*(sptr - wpls14)) & 10374 (*(sptr - wpls13)) & 10375 (*(sptr - wpls12)) & 10376 (*(sptr - wpls11)) & 10377 (*(sptr - wpls10)) & 10378 (*(sptr - wpls9)) & 10379 (*(sptr - wpls8)) & 10380 (*(sptr - wpls7)) & 10381 (*(sptr - wpls6)) & 10382 (*(sptr - wpls5)) & 10383 (*(sptr - wpls4)) & 10384 (*(sptr - wpls3)) & 10385 (*(sptr - wpls2)) & 10386 (*(sptr - wpls)) & 10387 (*sptr) & 10388 (*(sptr + wpls)) & 10389 (*(sptr + wpls2)) & 10390 (*(sptr + wpls3)) & 10391 (*(sptr + wpls4)) & 10392 (*(sptr + wpls5)) & 10393 (*(sptr + wpls6)) & 10394 (*(sptr + wpls7)) & 10395 (*(sptr + wpls8)) & 10396 (*(sptr + wpls9)) & 10397 (*(sptr + wpls10)) & 10398 (*(sptr + wpls11)) & 10399 (*(sptr + wpls12)) & 10400 (*(sptr + wpls13)) & 10401 (*(sptr + wpls14)); 10402 } 10403 } 10404 } 10405 10406 static void 10407 fdilate_3_90(l_uint32 *datad, 10408 l_int32 w, 10409 l_int32 h, 10410 l_int32 wpld, 10411 l_uint32 *datas, 10412 l_int32 wpls) 10413 { 10414 l_int32 i; 10415 register l_int32 j, pwpls; 10416 register l_uint32 *sptr, *dptr; 10417 l_int32 wpls2, wpls3, wpls4; 10418 l_int32 wpls5, wpls6, wpls7, wpls8; 10419 l_int32 wpls9, wpls10, wpls11, wpls12; 10420 l_int32 wpls13, wpls14, wpls15; 10421 10422 wpls2 = 2 * wpls; 10423 wpls3 = 3 * wpls; 10424 wpls4 = 4 * wpls; 10425 wpls5 = 5 * wpls; 10426 wpls6 = 6 * wpls; 10427 wpls7 = 7 * wpls; 10428 wpls8 = 8 * wpls; 10429 wpls9 = 9 * wpls; 10430 wpls10 = 10 * wpls; 10431 wpls11 = 11 * wpls; 10432 wpls12 = 12 * wpls; 10433 wpls13 = 13 * wpls; 10434 wpls14 = 14 * wpls; 10435 wpls15 = 15 * wpls; 10436 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10437 10438 for (i = 0; i < h; i++) { 10439 sptr = datas + i * wpls; 10440 dptr = datad + i * wpld; 10441 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10442 *dptr = (*(sptr + wpls15)) | 10443 (*(sptr + wpls14)) | 10444 (*(sptr + wpls13)) | 10445 (*(sptr + wpls12)) | 10446 (*(sptr + wpls11)) | 10447 (*(sptr + wpls10)) | 10448 (*(sptr + wpls9)) | 10449 (*(sptr + wpls8)) | 10450 (*(sptr + wpls7)) | 10451 (*(sptr + wpls6)) | 10452 (*(sptr + wpls5)) | 10453 (*(sptr + wpls4)) | 10454 (*(sptr + wpls3)) | 10455 (*(sptr + wpls2)) | 10456 (*(sptr + wpls)) | 10457 (*sptr) | 10458 (*(sptr - wpls)) | 10459 (*(sptr - wpls2)) | 10460 (*(sptr - wpls3)) | 10461 (*(sptr - wpls4)) | 10462 (*(sptr - wpls5)) | 10463 (*(sptr - wpls6)) | 10464 (*(sptr - wpls7)) | 10465 (*(sptr - wpls8)) | 10466 (*(sptr - wpls9)) | 10467 (*(sptr - wpls10)) | 10468 (*(sptr - wpls11)) | 10469 (*(sptr - wpls12)) | 10470 (*(sptr - wpls13)) | 10471 (*(sptr - wpls14)); 10472 } 10473 } 10474 } 10475 10476 static void 10477 ferode_3_90(l_uint32 *datad, 10478 l_int32 w, 10479 l_int32 h, 10480 l_int32 wpld, 10481 l_uint32 *datas, 10482 l_int32 wpls) 10483 { 10484 l_int32 i; 10485 register l_int32 j, pwpls; 10486 register l_uint32 *sptr, *dptr; 10487 l_int32 wpls2, wpls3, wpls4; 10488 l_int32 wpls5, wpls6, wpls7, wpls8; 10489 l_int32 wpls9, wpls10, wpls11, wpls12; 10490 l_int32 wpls13, wpls14, wpls15; 10491 10492 wpls2 = 2 * wpls; 10493 wpls3 = 3 * wpls; 10494 wpls4 = 4 * wpls; 10495 wpls5 = 5 * wpls; 10496 wpls6 = 6 * wpls; 10497 wpls7 = 7 * wpls; 10498 wpls8 = 8 * wpls; 10499 wpls9 = 9 * wpls; 10500 wpls10 = 10 * wpls; 10501 wpls11 = 11 * wpls; 10502 wpls12 = 12 * wpls; 10503 wpls13 = 13 * wpls; 10504 wpls14 = 14 * wpls; 10505 wpls15 = 15 * wpls; 10506 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10507 10508 for (i = 0; i < h; i++) { 10509 sptr = datas + i * wpls; 10510 dptr = datad + i * wpld; 10511 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10512 *dptr = (*(sptr - wpls15)) & 10513 (*(sptr - wpls14)) & 10514 (*(sptr - wpls13)) & 10515 (*(sptr - wpls12)) & 10516 (*(sptr - wpls11)) & 10517 (*(sptr - wpls10)) & 10518 (*(sptr - wpls9)) & 10519 (*(sptr - wpls8)) & 10520 (*(sptr - wpls7)) & 10521 (*(sptr - wpls6)) & 10522 (*(sptr - wpls5)) & 10523 (*(sptr - wpls4)) & 10524 (*(sptr - wpls3)) & 10525 (*(sptr - wpls2)) & 10526 (*(sptr - wpls)) & 10527 (*sptr) & 10528 (*(sptr + wpls)) & 10529 (*(sptr + wpls2)) & 10530 (*(sptr + wpls3)) & 10531 (*(sptr + wpls4)) & 10532 (*(sptr + wpls5)) & 10533 (*(sptr + wpls6)) & 10534 (*(sptr + wpls7)) & 10535 (*(sptr + wpls8)) & 10536 (*(sptr + wpls9)) & 10537 (*(sptr + wpls10)) & 10538 (*(sptr + wpls11)) & 10539 (*(sptr + wpls12)) & 10540 (*(sptr + wpls13)) & 10541 (*(sptr + wpls14)); 10542 } 10543 } 10544 } 10545 10546 static void 10547 fdilate_3_91(l_uint32 *datad, 10548 l_int32 w, 10549 l_int32 h, 10550 l_int32 wpld, 10551 l_uint32 *datas, 10552 l_int32 wpls) 10553 { 10554 l_int32 i; 10555 register l_int32 j, pwpls; 10556 register l_uint32 *sptr, *dptr; 10557 l_int32 wpls2, wpls3, wpls4; 10558 l_int32 wpls5, wpls6, wpls7, wpls8; 10559 l_int32 wpls9, wpls10, wpls11, wpls12; 10560 l_int32 wpls13, wpls14, wpls15; 10561 10562 wpls2 = 2 * wpls; 10563 wpls3 = 3 * wpls; 10564 wpls4 = 4 * wpls; 10565 wpls5 = 5 * wpls; 10566 wpls6 = 6 * wpls; 10567 wpls7 = 7 * wpls; 10568 wpls8 = 8 * wpls; 10569 wpls9 = 9 * wpls; 10570 wpls10 = 10 * wpls; 10571 wpls11 = 11 * wpls; 10572 wpls12 = 12 * wpls; 10573 wpls13 = 13 * wpls; 10574 wpls14 = 14 * wpls; 10575 wpls15 = 15 * wpls; 10576 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10577 10578 for (i = 0; i < h; i++) { 10579 sptr = datas + i * wpls; 10580 dptr = datad + i * wpld; 10581 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10582 *dptr = (*(sptr + wpls15)) | 10583 (*(sptr + wpls14)) | 10584 (*(sptr + wpls13)) | 10585 (*(sptr + wpls12)) | 10586 (*(sptr + wpls11)) | 10587 (*(sptr + wpls10)) | 10588 (*(sptr + wpls9)) | 10589 (*(sptr + wpls8)) | 10590 (*(sptr + wpls7)) | 10591 (*(sptr + wpls6)) | 10592 (*(sptr + wpls5)) | 10593 (*(sptr + wpls4)) | 10594 (*(sptr + wpls3)) | 10595 (*(sptr + wpls2)) | 10596 (*(sptr + wpls)) | 10597 (*sptr) | 10598 (*(sptr - wpls)) | 10599 (*(sptr - wpls2)) | 10600 (*(sptr - wpls3)) | 10601 (*(sptr - wpls4)) | 10602 (*(sptr - wpls5)) | 10603 (*(sptr - wpls6)) | 10604 (*(sptr - wpls7)) | 10605 (*(sptr - wpls8)) | 10606 (*(sptr - wpls9)) | 10607 (*(sptr - wpls10)) | 10608 (*(sptr - wpls11)) | 10609 (*(sptr - wpls12)) | 10610 (*(sptr - wpls13)) | 10611 (*(sptr - wpls14)) | 10612 (*(sptr - wpls15)); 10613 } 10614 } 10615 } 10616 10617 static void 10618 ferode_3_91(l_uint32 *datad, 10619 l_int32 w, 10620 l_int32 h, 10621 l_int32 wpld, 10622 l_uint32 *datas, 10623 l_int32 wpls) 10624 { 10625 l_int32 i; 10626 register l_int32 j, pwpls; 10627 register l_uint32 *sptr, *dptr; 10628 l_int32 wpls2, wpls3, wpls4; 10629 l_int32 wpls5, wpls6, wpls7, wpls8; 10630 l_int32 wpls9, wpls10, wpls11, wpls12; 10631 l_int32 wpls13, wpls14, wpls15; 10632 10633 wpls2 = 2 * wpls; 10634 wpls3 = 3 * wpls; 10635 wpls4 = 4 * wpls; 10636 wpls5 = 5 * wpls; 10637 wpls6 = 6 * wpls; 10638 wpls7 = 7 * wpls; 10639 wpls8 = 8 * wpls; 10640 wpls9 = 9 * wpls; 10641 wpls10 = 10 * wpls; 10642 wpls11 = 11 * wpls; 10643 wpls12 = 12 * wpls; 10644 wpls13 = 13 * wpls; 10645 wpls14 = 14 * wpls; 10646 wpls15 = 15 * wpls; 10647 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10648 10649 for (i = 0; i < h; i++) { 10650 sptr = datas + i * wpls; 10651 dptr = datad + i * wpld; 10652 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10653 *dptr = (*(sptr - wpls15)) & 10654 (*(sptr - wpls14)) & 10655 (*(sptr - wpls13)) & 10656 (*(sptr - wpls12)) & 10657 (*(sptr - wpls11)) & 10658 (*(sptr - wpls10)) & 10659 (*(sptr - wpls9)) & 10660 (*(sptr - wpls8)) & 10661 (*(sptr - wpls7)) & 10662 (*(sptr - wpls6)) & 10663 (*(sptr - wpls5)) & 10664 (*(sptr - wpls4)) & 10665 (*(sptr - wpls3)) & 10666 (*(sptr - wpls2)) & 10667 (*(sptr - wpls)) & 10668 (*sptr) & 10669 (*(sptr + wpls)) & 10670 (*(sptr + wpls2)) & 10671 (*(sptr + wpls3)) & 10672 (*(sptr + wpls4)) & 10673 (*(sptr + wpls5)) & 10674 (*(sptr + wpls6)) & 10675 (*(sptr + wpls7)) & 10676 (*(sptr + wpls8)) & 10677 (*(sptr + wpls9)) & 10678 (*(sptr + wpls10)) & 10679 (*(sptr + wpls11)) & 10680 (*(sptr + wpls12)) & 10681 (*(sptr + wpls13)) & 10682 (*(sptr + wpls14)) & 10683 (*(sptr + wpls15)); 10684 } 10685 } 10686 } 10687 10688 static void 10689 fdilate_3_92(l_uint32 *datad, 10690 l_int32 w, 10691 l_int32 h, 10692 l_int32 wpld, 10693 l_uint32 *datas, 10694 l_int32 wpls) 10695 { 10696 l_int32 i; 10697 register l_int32 j, pwpls; 10698 register l_uint32 *sptr, *dptr; 10699 l_int32 wpls2, wpls3, wpls4; 10700 l_int32 wpls5, wpls6, wpls7, wpls8; 10701 l_int32 wpls9, wpls10, wpls11, wpls12; 10702 l_int32 wpls13, wpls14, wpls15, wpls16; 10703 10704 wpls2 = 2 * wpls; 10705 wpls3 = 3 * wpls; 10706 wpls4 = 4 * wpls; 10707 wpls5 = 5 * wpls; 10708 wpls6 = 6 * wpls; 10709 wpls7 = 7 * wpls; 10710 wpls8 = 8 * wpls; 10711 wpls9 = 9 * wpls; 10712 wpls10 = 10 * wpls; 10713 wpls11 = 11 * wpls; 10714 wpls12 = 12 * wpls; 10715 wpls13 = 13 * wpls; 10716 wpls14 = 14 * wpls; 10717 wpls15 = 15 * wpls; 10718 wpls16 = 16 * wpls; 10719 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10720 10721 for (i = 0; i < h; i++) { 10722 sptr = datas + i * wpls; 10723 dptr = datad + i * wpld; 10724 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10725 *dptr = (*(sptr + wpls16)) | 10726 (*(sptr + wpls15)) | 10727 (*(sptr + wpls14)) | 10728 (*(sptr + wpls13)) | 10729 (*(sptr + wpls12)) | 10730 (*(sptr + wpls11)) | 10731 (*(sptr + wpls10)) | 10732 (*(sptr + wpls9)) | 10733 (*(sptr + wpls8)) | 10734 (*(sptr + wpls7)) | 10735 (*(sptr + wpls6)) | 10736 (*(sptr + wpls5)) | 10737 (*(sptr + wpls4)) | 10738 (*(sptr + wpls3)) | 10739 (*(sptr + wpls2)) | 10740 (*(sptr + wpls)) | 10741 (*sptr) | 10742 (*(sptr - wpls)) | 10743 (*(sptr - wpls2)) | 10744 (*(sptr - wpls3)) | 10745 (*(sptr - wpls4)) | 10746 (*(sptr - wpls5)) | 10747 (*(sptr - wpls6)) | 10748 (*(sptr - wpls7)) | 10749 (*(sptr - wpls8)) | 10750 (*(sptr - wpls9)) | 10751 (*(sptr - wpls10)) | 10752 (*(sptr - wpls11)) | 10753 (*(sptr - wpls12)) | 10754 (*(sptr - wpls13)) | 10755 (*(sptr - wpls14)) | 10756 (*(sptr - wpls15)); 10757 } 10758 } 10759 } 10760 10761 static void 10762 ferode_3_92(l_uint32 *datad, 10763 l_int32 w, 10764 l_int32 h, 10765 l_int32 wpld, 10766 l_uint32 *datas, 10767 l_int32 wpls) 10768 { 10769 l_int32 i; 10770 register l_int32 j, pwpls; 10771 register l_uint32 *sptr, *dptr; 10772 l_int32 wpls2, wpls3, wpls4; 10773 l_int32 wpls5, wpls6, wpls7, wpls8; 10774 l_int32 wpls9, wpls10, wpls11, wpls12; 10775 l_int32 wpls13, wpls14, wpls15, wpls16; 10776 10777 wpls2 = 2 * wpls; 10778 wpls3 = 3 * wpls; 10779 wpls4 = 4 * wpls; 10780 wpls5 = 5 * wpls; 10781 wpls6 = 6 * wpls; 10782 wpls7 = 7 * wpls; 10783 wpls8 = 8 * wpls; 10784 wpls9 = 9 * wpls; 10785 wpls10 = 10 * wpls; 10786 wpls11 = 11 * wpls; 10787 wpls12 = 12 * wpls; 10788 wpls13 = 13 * wpls; 10789 wpls14 = 14 * wpls; 10790 wpls15 = 15 * wpls; 10791 wpls16 = 16 * wpls; 10792 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10793 10794 for (i = 0; i < h; i++) { 10795 sptr = datas + i * wpls; 10796 dptr = datad + i * wpld; 10797 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10798 *dptr = (*(sptr - wpls16)) & 10799 (*(sptr - wpls15)) & 10800 (*(sptr - wpls14)) & 10801 (*(sptr - wpls13)) & 10802 (*(sptr - wpls12)) & 10803 (*(sptr - wpls11)) & 10804 (*(sptr - wpls10)) & 10805 (*(sptr - wpls9)) & 10806 (*(sptr - wpls8)) & 10807 (*(sptr - wpls7)) & 10808 (*(sptr - wpls6)) & 10809 (*(sptr - wpls5)) & 10810 (*(sptr - wpls4)) & 10811 (*(sptr - wpls3)) & 10812 (*(sptr - wpls2)) & 10813 (*(sptr - wpls)) & 10814 (*sptr) & 10815 (*(sptr + wpls)) & 10816 (*(sptr + wpls2)) & 10817 (*(sptr + wpls3)) & 10818 (*(sptr + wpls4)) & 10819 (*(sptr + wpls5)) & 10820 (*(sptr + wpls6)) & 10821 (*(sptr + wpls7)) & 10822 (*(sptr + wpls8)) & 10823 (*(sptr + wpls9)) & 10824 (*(sptr + wpls10)) & 10825 (*(sptr + wpls11)) & 10826 (*(sptr + wpls12)) & 10827 (*(sptr + wpls13)) & 10828 (*(sptr + wpls14)) & 10829 (*(sptr + wpls15)); 10830 } 10831 } 10832 } 10833 10834 static void 10835 fdilate_3_93(l_uint32 *datad, 10836 l_int32 w, 10837 l_int32 h, 10838 l_int32 wpld, 10839 l_uint32 *datas, 10840 l_int32 wpls) 10841 { 10842 l_int32 i; 10843 register l_int32 j, pwpls; 10844 register l_uint32 *sptr, *dptr; 10845 l_int32 wpls2, wpls3, wpls4; 10846 l_int32 wpls5, wpls6, wpls7, wpls8; 10847 l_int32 wpls9, wpls10, wpls11, wpls12; 10848 l_int32 wpls13, wpls14, wpls15, wpls16; 10849 10850 wpls2 = 2 * wpls; 10851 wpls3 = 3 * wpls; 10852 wpls4 = 4 * wpls; 10853 wpls5 = 5 * wpls; 10854 wpls6 = 6 * wpls; 10855 wpls7 = 7 * wpls; 10856 wpls8 = 8 * wpls; 10857 wpls9 = 9 * wpls; 10858 wpls10 = 10 * wpls; 10859 wpls11 = 11 * wpls; 10860 wpls12 = 12 * wpls; 10861 wpls13 = 13 * wpls; 10862 wpls14 = 14 * wpls; 10863 wpls15 = 15 * wpls; 10864 wpls16 = 16 * wpls; 10865 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10866 10867 for (i = 0; i < h; i++) { 10868 sptr = datas + i * wpls; 10869 dptr = datad + i * wpld; 10870 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10871 *dptr = (*(sptr + wpls16)) | 10872 (*(sptr + wpls15)) | 10873 (*(sptr + wpls14)) | 10874 (*(sptr + wpls13)) | 10875 (*(sptr + wpls12)) | 10876 (*(sptr + wpls11)) | 10877 (*(sptr + wpls10)) | 10878 (*(sptr + wpls9)) | 10879 (*(sptr + wpls8)) | 10880 (*(sptr + wpls7)) | 10881 (*(sptr + wpls6)) | 10882 (*(sptr + wpls5)) | 10883 (*(sptr + wpls4)) | 10884 (*(sptr + wpls3)) | 10885 (*(sptr + wpls2)) | 10886 (*(sptr + wpls)) | 10887 (*sptr) | 10888 (*(sptr - wpls)) | 10889 (*(sptr - wpls2)) | 10890 (*(sptr - wpls3)) | 10891 (*(sptr - wpls4)) | 10892 (*(sptr - wpls5)) | 10893 (*(sptr - wpls6)) | 10894 (*(sptr - wpls7)) | 10895 (*(sptr - wpls8)) | 10896 (*(sptr - wpls9)) | 10897 (*(sptr - wpls10)) | 10898 (*(sptr - wpls11)) | 10899 (*(sptr - wpls12)) | 10900 (*(sptr - wpls13)) | 10901 (*(sptr - wpls14)) | 10902 (*(sptr - wpls15)) | 10903 (*(sptr - wpls16)); 10904 } 10905 } 10906 } 10907 10908 static void 10909 ferode_3_93(l_uint32 *datad, 10910 l_int32 w, 10911 l_int32 h, 10912 l_int32 wpld, 10913 l_uint32 *datas, 10914 l_int32 wpls) 10915 { 10916 l_int32 i; 10917 register l_int32 j, pwpls; 10918 register l_uint32 *sptr, *dptr; 10919 l_int32 wpls2, wpls3, wpls4; 10920 l_int32 wpls5, wpls6, wpls7, wpls8; 10921 l_int32 wpls9, wpls10, wpls11, wpls12; 10922 l_int32 wpls13, wpls14, wpls15, wpls16; 10923 10924 wpls2 = 2 * wpls; 10925 wpls3 = 3 * wpls; 10926 wpls4 = 4 * wpls; 10927 wpls5 = 5 * wpls; 10928 wpls6 = 6 * wpls; 10929 wpls7 = 7 * wpls; 10930 wpls8 = 8 * wpls; 10931 wpls9 = 9 * wpls; 10932 wpls10 = 10 * wpls; 10933 wpls11 = 11 * wpls; 10934 wpls12 = 12 * wpls; 10935 wpls13 = 13 * wpls; 10936 wpls14 = 14 * wpls; 10937 wpls15 = 15 * wpls; 10938 wpls16 = 16 * wpls; 10939 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 10940 10941 for (i = 0; i < h; i++) { 10942 sptr = datas + i * wpls; 10943 dptr = datad + i * wpld; 10944 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 10945 *dptr = (*(sptr - wpls16)) & 10946 (*(sptr - wpls15)) & 10947 (*(sptr - wpls14)) & 10948 (*(sptr - wpls13)) & 10949 (*(sptr - wpls12)) & 10950 (*(sptr - wpls11)) & 10951 (*(sptr - wpls10)) & 10952 (*(sptr - wpls9)) & 10953 (*(sptr - wpls8)) & 10954 (*(sptr - wpls7)) & 10955 (*(sptr - wpls6)) & 10956 (*(sptr - wpls5)) & 10957 (*(sptr - wpls4)) & 10958 (*(sptr - wpls3)) & 10959 (*(sptr - wpls2)) & 10960 (*(sptr - wpls)) & 10961 (*sptr) & 10962 (*(sptr + wpls)) & 10963 (*(sptr + wpls2)) & 10964 (*(sptr + wpls3)) & 10965 (*(sptr + wpls4)) & 10966 (*(sptr + wpls5)) & 10967 (*(sptr + wpls6)) & 10968 (*(sptr + wpls7)) & 10969 (*(sptr + wpls8)) & 10970 (*(sptr + wpls9)) & 10971 (*(sptr + wpls10)) & 10972 (*(sptr + wpls11)) & 10973 (*(sptr + wpls12)) & 10974 (*(sptr + wpls13)) & 10975 (*(sptr + wpls14)) & 10976 (*(sptr + wpls15)) & 10977 (*(sptr + wpls16)); 10978 } 10979 } 10980 } 10981 10982 static void 10983 fdilate_3_94(l_uint32 *datad, 10984 l_int32 w, 10985 l_int32 h, 10986 l_int32 wpld, 10987 l_uint32 *datas, 10988 l_int32 wpls) 10989 { 10990 l_int32 i; 10991 register l_int32 j, pwpls; 10992 register l_uint32 *sptr, *dptr; 10993 l_int32 wpls2, wpls3, wpls4; 10994 l_int32 wpls5, wpls6, wpls7, wpls8; 10995 l_int32 wpls9, wpls10, wpls11, wpls12; 10996 l_int32 wpls13, wpls14, wpls15, wpls16; 10997 l_int32 wpls17; 10998 10999 wpls2 = 2 * wpls; 11000 wpls3 = 3 * wpls; 11001 wpls4 = 4 * wpls; 11002 wpls5 = 5 * wpls; 11003 wpls6 = 6 * wpls; 11004 wpls7 = 7 * wpls; 11005 wpls8 = 8 * wpls; 11006 wpls9 = 9 * wpls; 11007 wpls10 = 10 * wpls; 11008 wpls11 = 11 * wpls; 11009 wpls12 = 12 * wpls; 11010 wpls13 = 13 * wpls; 11011 wpls14 = 14 * wpls; 11012 wpls15 = 15 * wpls; 11013 wpls16 = 16 * wpls; 11014 wpls17 = 17 * wpls; 11015 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11016 11017 for (i = 0; i < h; i++) { 11018 sptr = datas + i * wpls; 11019 dptr = datad + i * wpld; 11020 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11021 *dptr = (*(sptr + wpls17)) | 11022 (*(sptr + wpls16)) | 11023 (*(sptr + wpls15)) | 11024 (*(sptr + wpls14)) | 11025 (*(sptr + wpls13)) | 11026 (*(sptr + wpls12)) | 11027 (*(sptr + wpls11)) | 11028 (*(sptr + wpls10)) | 11029 (*(sptr + wpls9)) | 11030 (*(sptr + wpls8)) | 11031 (*(sptr + wpls7)) | 11032 (*(sptr + wpls6)) | 11033 (*(sptr + wpls5)) | 11034 (*(sptr + wpls4)) | 11035 (*(sptr + wpls3)) | 11036 (*(sptr + wpls2)) | 11037 (*(sptr + wpls)) | 11038 (*sptr) | 11039 (*(sptr - wpls)) | 11040 (*(sptr - wpls2)) | 11041 (*(sptr - wpls3)) | 11042 (*(sptr - wpls4)) | 11043 (*(sptr - wpls5)) | 11044 (*(sptr - wpls6)) | 11045 (*(sptr - wpls7)) | 11046 (*(sptr - wpls8)) | 11047 (*(sptr - wpls9)) | 11048 (*(sptr - wpls10)) | 11049 (*(sptr - wpls11)) | 11050 (*(sptr - wpls12)) | 11051 (*(sptr - wpls13)) | 11052 (*(sptr - wpls14)) | 11053 (*(sptr - wpls15)) | 11054 (*(sptr - wpls16)); 11055 } 11056 } 11057 } 11058 11059 static void 11060 ferode_3_94(l_uint32 *datad, 11061 l_int32 w, 11062 l_int32 h, 11063 l_int32 wpld, 11064 l_uint32 *datas, 11065 l_int32 wpls) 11066 { 11067 l_int32 i; 11068 register l_int32 j, pwpls; 11069 register l_uint32 *sptr, *dptr; 11070 l_int32 wpls2, wpls3, wpls4; 11071 l_int32 wpls5, wpls6, wpls7, wpls8; 11072 l_int32 wpls9, wpls10, wpls11, wpls12; 11073 l_int32 wpls13, wpls14, wpls15, wpls16; 11074 l_int32 wpls17; 11075 11076 wpls2 = 2 * wpls; 11077 wpls3 = 3 * wpls; 11078 wpls4 = 4 * wpls; 11079 wpls5 = 5 * wpls; 11080 wpls6 = 6 * wpls; 11081 wpls7 = 7 * wpls; 11082 wpls8 = 8 * wpls; 11083 wpls9 = 9 * wpls; 11084 wpls10 = 10 * wpls; 11085 wpls11 = 11 * wpls; 11086 wpls12 = 12 * wpls; 11087 wpls13 = 13 * wpls; 11088 wpls14 = 14 * wpls; 11089 wpls15 = 15 * wpls; 11090 wpls16 = 16 * wpls; 11091 wpls17 = 17 * wpls; 11092 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11093 11094 for (i = 0; i < h; i++) { 11095 sptr = datas + i * wpls; 11096 dptr = datad + i * wpld; 11097 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11098 *dptr = (*(sptr - wpls17)) & 11099 (*(sptr - wpls16)) & 11100 (*(sptr - wpls15)) & 11101 (*(sptr - wpls14)) & 11102 (*(sptr - wpls13)) & 11103 (*(sptr - wpls12)) & 11104 (*(sptr - wpls11)) & 11105 (*(sptr - wpls10)) & 11106 (*(sptr - wpls9)) & 11107 (*(sptr - wpls8)) & 11108 (*(sptr - wpls7)) & 11109 (*(sptr - wpls6)) & 11110 (*(sptr - wpls5)) & 11111 (*(sptr - wpls4)) & 11112 (*(sptr - wpls3)) & 11113 (*(sptr - wpls2)) & 11114 (*(sptr - wpls)) & 11115 (*sptr) & 11116 (*(sptr + wpls)) & 11117 (*(sptr + wpls2)) & 11118 (*(sptr + wpls3)) & 11119 (*(sptr + wpls4)) & 11120 (*(sptr + wpls5)) & 11121 (*(sptr + wpls6)) & 11122 (*(sptr + wpls7)) & 11123 (*(sptr + wpls8)) & 11124 (*(sptr + wpls9)) & 11125 (*(sptr + wpls10)) & 11126 (*(sptr + wpls11)) & 11127 (*(sptr + wpls12)) & 11128 (*(sptr + wpls13)) & 11129 (*(sptr + wpls14)) & 11130 (*(sptr + wpls15)) & 11131 (*(sptr + wpls16)); 11132 } 11133 } 11134 } 11135 11136 static void 11137 fdilate_3_95(l_uint32 *datad, 11138 l_int32 w, 11139 l_int32 h, 11140 l_int32 wpld, 11141 l_uint32 *datas, 11142 l_int32 wpls) 11143 { 11144 l_int32 i; 11145 register l_int32 j, pwpls; 11146 register l_uint32 *sptr, *dptr; 11147 l_int32 wpls2, wpls3, wpls4; 11148 l_int32 wpls5, wpls6, wpls7, wpls8; 11149 l_int32 wpls9, wpls10, wpls11, wpls12; 11150 l_int32 wpls13, wpls14, wpls15, wpls16; 11151 l_int32 wpls17; 11152 11153 wpls2 = 2 * wpls; 11154 wpls3 = 3 * wpls; 11155 wpls4 = 4 * wpls; 11156 wpls5 = 5 * wpls; 11157 wpls6 = 6 * wpls; 11158 wpls7 = 7 * wpls; 11159 wpls8 = 8 * wpls; 11160 wpls9 = 9 * wpls; 11161 wpls10 = 10 * wpls; 11162 wpls11 = 11 * wpls; 11163 wpls12 = 12 * wpls; 11164 wpls13 = 13 * wpls; 11165 wpls14 = 14 * wpls; 11166 wpls15 = 15 * wpls; 11167 wpls16 = 16 * wpls; 11168 wpls17 = 17 * wpls; 11169 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11170 11171 for (i = 0; i < h; i++) { 11172 sptr = datas + i * wpls; 11173 dptr = datad + i * wpld; 11174 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11175 *dptr = (*(sptr + wpls17)) | 11176 (*(sptr + wpls16)) | 11177 (*(sptr + wpls15)) | 11178 (*(sptr + wpls14)) | 11179 (*(sptr + wpls13)) | 11180 (*(sptr + wpls12)) | 11181 (*(sptr + wpls11)) | 11182 (*(sptr + wpls10)) | 11183 (*(sptr + wpls9)) | 11184 (*(sptr + wpls8)) | 11185 (*(sptr + wpls7)) | 11186 (*(sptr + wpls6)) | 11187 (*(sptr + wpls5)) | 11188 (*(sptr + wpls4)) | 11189 (*(sptr + wpls3)) | 11190 (*(sptr + wpls2)) | 11191 (*(sptr + wpls)) | 11192 (*sptr) | 11193 (*(sptr - wpls)) | 11194 (*(sptr - wpls2)) | 11195 (*(sptr - wpls3)) | 11196 (*(sptr - wpls4)) | 11197 (*(sptr - wpls5)) | 11198 (*(sptr - wpls6)) | 11199 (*(sptr - wpls7)) | 11200 (*(sptr - wpls8)) | 11201 (*(sptr - wpls9)) | 11202 (*(sptr - wpls10)) | 11203 (*(sptr - wpls11)) | 11204 (*(sptr - wpls12)) | 11205 (*(sptr - wpls13)) | 11206 (*(sptr - wpls14)) | 11207 (*(sptr - wpls15)) | 11208 (*(sptr - wpls16)) | 11209 (*(sptr - wpls17)); 11210 } 11211 } 11212 } 11213 11214 static void 11215 ferode_3_95(l_uint32 *datad, 11216 l_int32 w, 11217 l_int32 h, 11218 l_int32 wpld, 11219 l_uint32 *datas, 11220 l_int32 wpls) 11221 { 11222 l_int32 i; 11223 register l_int32 j, pwpls; 11224 register l_uint32 *sptr, *dptr; 11225 l_int32 wpls2, wpls3, wpls4; 11226 l_int32 wpls5, wpls6, wpls7, wpls8; 11227 l_int32 wpls9, wpls10, wpls11, wpls12; 11228 l_int32 wpls13, wpls14, wpls15, wpls16; 11229 l_int32 wpls17; 11230 11231 wpls2 = 2 * wpls; 11232 wpls3 = 3 * wpls; 11233 wpls4 = 4 * wpls; 11234 wpls5 = 5 * wpls; 11235 wpls6 = 6 * wpls; 11236 wpls7 = 7 * wpls; 11237 wpls8 = 8 * wpls; 11238 wpls9 = 9 * wpls; 11239 wpls10 = 10 * wpls; 11240 wpls11 = 11 * wpls; 11241 wpls12 = 12 * wpls; 11242 wpls13 = 13 * wpls; 11243 wpls14 = 14 * wpls; 11244 wpls15 = 15 * wpls; 11245 wpls16 = 16 * wpls; 11246 wpls17 = 17 * wpls; 11247 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11248 11249 for (i = 0; i < h; i++) { 11250 sptr = datas + i * wpls; 11251 dptr = datad + i * wpld; 11252 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11253 *dptr = (*(sptr - wpls17)) & 11254 (*(sptr - wpls16)) & 11255 (*(sptr - wpls15)) & 11256 (*(sptr - wpls14)) & 11257 (*(sptr - wpls13)) & 11258 (*(sptr - wpls12)) & 11259 (*(sptr - wpls11)) & 11260 (*(sptr - wpls10)) & 11261 (*(sptr - wpls9)) & 11262 (*(sptr - wpls8)) & 11263 (*(sptr - wpls7)) & 11264 (*(sptr - wpls6)) & 11265 (*(sptr - wpls5)) & 11266 (*(sptr - wpls4)) & 11267 (*(sptr - wpls3)) & 11268 (*(sptr - wpls2)) & 11269 (*(sptr - wpls)) & 11270 (*sptr) & 11271 (*(sptr + wpls)) & 11272 (*(sptr + wpls2)) & 11273 (*(sptr + wpls3)) & 11274 (*(sptr + wpls4)) & 11275 (*(sptr + wpls5)) & 11276 (*(sptr + wpls6)) & 11277 (*(sptr + wpls7)) & 11278 (*(sptr + wpls8)) & 11279 (*(sptr + wpls9)) & 11280 (*(sptr + wpls10)) & 11281 (*(sptr + wpls11)) & 11282 (*(sptr + wpls12)) & 11283 (*(sptr + wpls13)) & 11284 (*(sptr + wpls14)) & 11285 (*(sptr + wpls15)) & 11286 (*(sptr + wpls16)) & 11287 (*(sptr + wpls17)); 11288 } 11289 } 11290 } 11291 11292 static void 11293 fdilate_3_96(l_uint32 *datad, 11294 l_int32 w, 11295 l_int32 h, 11296 l_int32 wpld, 11297 l_uint32 *datas, 11298 l_int32 wpls) 11299 { 11300 l_int32 i; 11301 register l_int32 j, pwpls; 11302 register l_uint32 *sptr, *dptr; 11303 l_int32 wpls2, wpls3, wpls4; 11304 l_int32 wpls5, wpls6, wpls7, wpls8; 11305 l_int32 wpls9, wpls10, wpls11, wpls12; 11306 l_int32 wpls13, wpls14, wpls15, wpls16; 11307 l_int32 wpls17, wpls18; 11308 11309 wpls2 = 2 * wpls; 11310 wpls3 = 3 * wpls; 11311 wpls4 = 4 * wpls; 11312 wpls5 = 5 * wpls; 11313 wpls6 = 6 * wpls; 11314 wpls7 = 7 * wpls; 11315 wpls8 = 8 * wpls; 11316 wpls9 = 9 * wpls; 11317 wpls10 = 10 * wpls; 11318 wpls11 = 11 * wpls; 11319 wpls12 = 12 * wpls; 11320 wpls13 = 13 * wpls; 11321 wpls14 = 14 * wpls; 11322 wpls15 = 15 * wpls; 11323 wpls16 = 16 * wpls; 11324 wpls17 = 17 * wpls; 11325 wpls18 = 18 * wpls; 11326 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11327 11328 for (i = 0; i < h; i++) { 11329 sptr = datas + i * wpls; 11330 dptr = datad + i * wpld; 11331 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11332 *dptr = (*(sptr + wpls18)) | 11333 (*(sptr + wpls17)) | 11334 (*(sptr + wpls16)) | 11335 (*(sptr + wpls15)) | 11336 (*(sptr + wpls14)) | 11337 (*(sptr + wpls13)) | 11338 (*(sptr + wpls12)) | 11339 (*(sptr + wpls11)) | 11340 (*(sptr + wpls10)) | 11341 (*(sptr + wpls9)) | 11342 (*(sptr + wpls8)) | 11343 (*(sptr + wpls7)) | 11344 (*(sptr + wpls6)) | 11345 (*(sptr + wpls5)) | 11346 (*(sptr + wpls4)) | 11347 (*(sptr + wpls3)) | 11348 (*(sptr + wpls2)) | 11349 (*(sptr + wpls)) | 11350 (*sptr) | 11351 (*(sptr - wpls)) | 11352 (*(sptr - wpls2)) | 11353 (*(sptr - wpls3)) | 11354 (*(sptr - wpls4)) | 11355 (*(sptr - wpls5)) | 11356 (*(sptr - wpls6)) | 11357 (*(sptr - wpls7)) | 11358 (*(sptr - wpls8)) | 11359 (*(sptr - wpls9)) | 11360 (*(sptr - wpls10)) | 11361 (*(sptr - wpls11)) | 11362 (*(sptr - wpls12)) | 11363 (*(sptr - wpls13)) | 11364 (*(sptr - wpls14)) | 11365 (*(sptr - wpls15)) | 11366 (*(sptr - wpls16)) | 11367 (*(sptr - wpls17)); 11368 } 11369 } 11370 } 11371 11372 static void 11373 ferode_3_96(l_uint32 *datad, 11374 l_int32 w, 11375 l_int32 h, 11376 l_int32 wpld, 11377 l_uint32 *datas, 11378 l_int32 wpls) 11379 { 11380 l_int32 i; 11381 register l_int32 j, pwpls; 11382 register l_uint32 *sptr, *dptr; 11383 l_int32 wpls2, wpls3, wpls4; 11384 l_int32 wpls5, wpls6, wpls7, wpls8; 11385 l_int32 wpls9, wpls10, wpls11, wpls12; 11386 l_int32 wpls13, wpls14, wpls15, wpls16; 11387 l_int32 wpls17, wpls18; 11388 11389 wpls2 = 2 * wpls; 11390 wpls3 = 3 * wpls; 11391 wpls4 = 4 * wpls; 11392 wpls5 = 5 * wpls; 11393 wpls6 = 6 * wpls; 11394 wpls7 = 7 * wpls; 11395 wpls8 = 8 * wpls; 11396 wpls9 = 9 * wpls; 11397 wpls10 = 10 * wpls; 11398 wpls11 = 11 * wpls; 11399 wpls12 = 12 * wpls; 11400 wpls13 = 13 * wpls; 11401 wpls14 = 14 * wpls; 11402 wpls15 = 15 * wpls; 11403 wpls16 = 16 * wpls; 11404 wpls17 = 17 * wpls; 11405 wpls18 = 18 * wpls; 11406 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11407 11408 for (i = 0; i < h; i++) { 11409 sptr = datas + i * wpls; 11410 dptr = datad + i * wpld; 11411 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11412 *dptr = (*(sptr - wpls18)) & 11413 (*(sptr - wpls17)) & 11414 (*(sptr - wpls16)) & 11415 (*(sptr - wpls15)) & 11416 (*(sptr - wpls14)) & 11417 (*(sptr - wpls13)) & 11418 (*(sptr - wpls12)) & 11419 (*(sptr - wpls11)) & 11420 (*(sptr - wpls10)) & 11421 (*(sptr - wpls9)) & 11422 (*(sptr - wpls8)) & 11423 (*(sptr - wpls7)) & 11424 (*(sptr - wpls6)) & 11425 (*(sptr - wpls5)) & 11426 (*(sptr - wpls4)) & 11427 (*(sptr - wpls3)) & 11428 (*(sptr - wpls2)) & 11429 (*(sptr - wpls)) & 11430 (*sptr) & 11431 (*(sptr + wpls)) & 11432 (*(sptr + wpls2)) & 11433 (*(sptr + wpls3)) & 11434 (*(sptr + wpls4)) & 11435 (*(sptr + wpls5)) & 11436 (*(sptr + wpls6)) & 11437 (*(sptr + wpls7)) & 11438 (*(sptr + wpls8)) & 11439 (*(sptr + wpls9)) & 11440 (*(sptr + wpls10)) & 11441 (*(sptr + wpls11)) & 11442 (*(sptr + wpls12)) & 11443 (*(sptr + wpls13)) & 11444 (*(sptr + wpls14)) & 11445 (*(sptr + wpls15)) & 11446 (*(sptr + wpls16)) & 11447 (*(sptr + wpls17)); 11448 } 11449 } 11450 } 11451 11452 static void 11453 fdilate_3_97(l_uint32 *datad, 11454 l_int32 w, 11455 l_int32 h, 11456 l_int32 wpld, 11457 l_uint32 *datas, 11458 l_int32 wpls) 11459 { 11460 l_int32 i; 11461 register l_int32 j, pwpls; 11462 register l_uint32 *sptr, *dptr; 11463 l_int32 wpls2, wpls3, wpls4; 11464 l_int32 wpls5, wpls6, wpls7, wpls8; 11465 l_int32 wpls9, wpls10, wpls11, wpls12; 11466 l_int32 wpls13, wpls14, wpls15, wpls16; 11467 l_int32 wpls17, wpls18; 11468 11469 wpls2 = 2 * wpls; 11470 wpls3 = 3 * wpls; 11471 wpls4 = 4 * wpls; 11472 wpls5 = 5 * wpls; 11473 wpls6 = 6 * wpls; 11474 wpls7 = 7 * wpls; 11475 wpls8 = 8 * wpls; 11476 wpls9 = 9 * wpls; 11477 wpls10 = 10 * wpls; 11478 wpls11 = 11 * wpls; 11479 wpls12 = 12 * wpls; 11480 wpls13 = 13 * wpls; 11481 wpls14 = 14 * wpls; 11482 wpls15 = 15 * wpls; 11483 wpls16 = 16 * wpls; 11484 wpls17 = 17 * wpls; 11485 wpls18 = 18 * wpls; 11486 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11487 11488 for (i = 0; i < h; i++) { 11489 sptr = datas + i * wpls; 11490 dptr = datad + i * wpld; 11491 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11492 *dptr = (*(sptr + wpls18)) | 11493 (*(sptr + wpls17)) | 11494 (*(sptr + wpls16)) | 11495 (*(sptr + wpls15)) | 11496 (*(sptr + wpls14)) | 11497 (*(sptr + wpls13)) | 11498 (*(sptr + wpls12)) | 11499 (*(sptr + wpls11)) | 11500 (*(sptr + wpls10)) | 11501 (*(sptr + wpls9)) | 11502 (*(sptr + wpls8)) | 11503 (*(sptr + wpls7)) | 11504 (*(sptr + wpls6)) | 11505 (*(sptr + wpls5)) | 11506 (*(sptr + wpls4)) | 11507 (*(sptr + wpls3)) | 11508 (*(sptr + wpls2)) | 11509 (*(sptr + wpls)) | 11510 (*sptr) | 11511 (*(sptr - wpls)) | 11512 (*(sptr - wpls2)) | 11513 (*(sptr - wpls3)) | 11514 (*(sptr - wpls4)) | 11515 (*(sptr - wpls5)) | 11516 (*(sptr - wpls6)) | 11517 (*(sptr - wpls7)) | 11518 (*(sptr - wpls8)) | 11519 (*(sptr - wpls9)) | 11520 (*(sptr - wpls10)) | 11521 (*(sptr - wpls11)) | 11522 (*(sptr - wpls12)) | 11523 (*(sptr - wpls13)) | 11524 (*(sptr - wpls14)) | 11525 (*(sptr - wpls15)) | 11526 (*(sptr - wpls16)) | 11527 (*(sptr - wpls17)) | 11528 (*(sptr - wpls18)); 11529 } 11530 } 11531 } 11532 11533 static void 11534 ferode_3_97(l_uint32 *datad, 11535 l_int32 w, 11536 l_int32 h, 11537 l_int32 wpld, 11538 l_uint32 *datas, 11539 l_int32 wpls) 11540 { 11541 l_int32 i; 11542 register l_int32 j, pwpls; 11543 register l_uint32 *sptr, *dptr; 11544 l_int32 wpls2, wpls3, wpls4; 11545 l_int32 wpls5, wpls6, wpls7, wpls8; 11546 l_int32 wpls9, wpls10, wpls11, wpls12; 11547 l_int32 wpls13, wpls14, wpls15, wpls16; 11548 l_int32 wpls17, wpls18; 11549 11550 wpls2 = 2 * wpls; 11551 wpls3 = 3 * wpls; 11552 wpls4 = 4 * wpls; 11553 wpls5 = 5 * wpls; 11554 wpls6 = 6 * wpls; 11555 wpls7 = 7 * wpls; 11556 wpls8 = 8 * wpls; 11557 wpls9 = 9 * wpls; 11558 wpls10 = 10 * wpls; 11559 wpls11 = 11 * wpls; 11560 wpls12 = 12 * wpls; 11561 wpls13 = 13 * wpls; 11562 wpls14 = 14 * wpls; 11563 wpls15 = 15 * wpls; 11564 wpls16 = 16 * wpls; 11565 wpls17 = 17 * wpls; 11566 wpls18 = 18 * wpls; 11567 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11568 11569 for (i = 0; i < h; i++) { 11570 sptr = datas + i * wpls; 11571 dptr = datad + i * wpld; 11572 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11573 *dptr = (*(sptr - wpls18)) & 11574 (*(sptr - wpls17)) & 11575 (*(sptr - wpls16)) & 11576 (*(sptr - wpls15)) & 11577 (*(sptr - wpls14)) & 11578 (*(sptr - wpls13)) & 11579 (*(sptr - wpls12)) & 11580 (*(sptr - wpls11)) & 11581 (*(sptr - wpls10)) & 11582 (*(sptr - wpls9)) & 11583 (*(sptr - wpls8)) & 11584 (*(sptr - wpls7)) & 11585 (*(sptr - wpls6)) & 11586 (*(sptr - wpls5)) & 11587 (*(sptr - wpls4)) & 11588 (*(sptr - wpls3)) & 11589 (*(sptr - wpls2)) & 11590 (*(sptr - wpls)) & 11591 (*sptr) & 11592 (*(sptr + wpls)) & 11593 (*(sptr + wpls2)) & 11594 (*(sptr + wpls3)) & 11595 (*(sptr + wpls4)) & 11596 (*(sptr + wpls5)) & 11597 (*(sptr + wpls6)) & 11598 (*(sptr + wpls7)) & 11599 (*(sptr + wpls8)) & 11600 (*(sptr + wpls9)) & 11601 (*(sptr + wpls10)) & 11602 (*(sptr + wpls11)) & 11603 (*(sptr + wpls12)) & 11604 (*(sptr + wpls13)) & 11605 (*(sptr + wpls14)) & 11606 (*(sptr + wpls15)) & 11607 (*(sptr + wpls16)) & 11608 (*(sptr + wpls17)) & 11609 (*(sptr + wpls18)); 11610 } 11611 } 11612 } 11613 11614 static void 11615 fdilate_3_98(l_uint32 *datad, 11616 l_int32 w, 11617 l_int32 h, 11618 l_int32 wpld, 11619 l_uint32 *datas, 11620 l_int32 wpls) 11621 { 11622 l_int32 i; 11623 register l_int32 j, pwpls; 11624 register l_uint32 *sptr, *dptr; 11625 l_int32 wpls2, wpls3, wpls4; 11626 l_int32 wpls5, wpls6, wpls7, wpls8; 11627 l_int32 wpls9, wpls10, wpls11, wpls12; 11628 l_int32 wpls13, wpls14, wpls15, wpls16; 11629 l_int32 wpls17, wpls18, wpls19; 11630 11631 wpls2 = 2 * wpls; 11632 wpls3 = 3 * wpls; 11633 wpls4 = 4 * wpls; 11634 wpls5 = 5 * wpls; 11635 wpls6 = 6 * wpls; 11636 wpls7 = 7 * wpls; 11637 wpls8 = 8 * wpls; 11638 wpls9 = 9 * wpls; 11639 wpls10 = 10 * wpls; 11640 wpls11 = 11 * wpls; 11641 wpls12 = 12 * wpls; 11642 wpls13 = 13 * wpls; 11643 wpls14 = 14 * wpls; 11644 wpls15 = 15 * wpls; 11645 wpls16 = 16 * wpls; 11646 wpls17 = 17 * wpls; 11647 wpls18 = 18 * wpls; 11648 wpls19 = 19 * wpls; 11649 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11650 11651 for (i = 0; i < h; i++) { 11652 sptr = datas + i * wpls; 11653 dptr = datad + i * wpld; 11654 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11655 *dptr = (*(sptr + wpls19)) | 11656 (*(sptr + wpls18)) | 11657 (*(sptr + wpls17)) | 11658 (*(sptr + wpls16)) | 11659 (*(sptr + wpls15)) | 11660 (*(sptr + wpls14)) | 11661 (*(sptr + wpls13)) | 11662 (*(sptr + wpls12)) | 11663 (*(sptr + wpls11)) | 11664 (*(sptr + wpls10)) | 11665 (*(sptr + wpls9)) | 11666 (*(sptr + wpls8)) | 11667 (*(sptr + wpls7)) | 11668 (*(sptr + wpls6)) | 11669 (*(sptr + wpls5)) | 11670 (*(sptr + wpls4)) | 11671 (*(sptr + wpls3)) | 11672 (*(sptr + wpls2)) | 11673 (*(sptr + wpls)) | 11674 (*sptr) | 11675 (*(sptr - wpls)) | 11676 (*(sptr - wpls2)) | 11677 (*(sptr - wpls3)) | 11678 (*(sptr - wpls4)) | 11679 (*(sptr - wpls5)) | 11680 (*(sptr - wpls6)) | 11681 (*(sptr - wpls7)) | 11682 (*(sptr - wpls8)) | 11683 (*(sptr - wpls9)) | 11684 (*(sptr - wpls10)) | 11685 (*(sptr - wpls11)) | 11686 (*(sptr - wpls12)) | 11687 (*(sptr - wpls13)) | 11688 (*(sptr - wpls14)) | 11689 (*(sptr - wpls15)) | 11690 (*(sptr - wpls16)) | 11691 (*(sptr - wpls17)) | 11692 (*(sptr - wpls18)); 11693 } 11694 } 11695 } 11696 11697 static void 11698 ferode_3_98(l_uint32 *datad, 11699 l_int32 w, 11700 l_int32 h, 11701 l_int32 wpld, 11702 l_uint32 *datas, 11703 l_int32 wpls) 11704 { 11705 l_int32 i; 11706 register l_int32 j, pwpls; 11707 register l_uint32 *sptr, *dptr; 11708 l_int32 wpls2, wpls3, wpls4; 11709 l_int32 wpls5, wpls6, wpls7, wpls8; 11710 l_int32 wpls9, wpls10, wpls11, wpls12; 11711 l_int32 wpls13, wpls14, wpls15, wpls16; 11712 l_int32 wpls17, wpls18, wpls19; 11713 11714 wpls2 = 2 * wpls; 11715 wpls3 = 3 * wpls; 11716 wpls4 = 4 * wpls; 11717 wpls5 = 5 * wpls; 11718 wpls6 = 6 * wpls; 11719 wpls7 = 7 * wpls; 11720 wpls8 = 8 * wpls; 11721 wpls9 = 9 * wpls; 11722 wpls10 = 10 * wpls; 11723 wpls11 = 11 * wpls; 11724 wpls12 = 12 * wpls; 11725 wpls13 = 13 * wpls; 11726 wpls14 = 14 * wpls; 11727 wpls15 = 15 * wpls; 11728 wpls16 = 16 * wpls; 11729 wpls17 = 17 * wpls; 11730 wpls18 = 18 * wpls; 11731 wpls19 = 19 * wpls; 11732 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11733 11734 for (i = 0; i < h; i++) { 11735 sptr = datas + i * wpls; 11736 dptr = datad + i * wpld; 11737 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11738 *dptr = (*(sptr - wpls19)) & 11739 (*(sptr - wpls18)) & 11740 (*(sptr - wpls17)) & 11741 (*(sptr - wpls16)) & 11742 (*(sptr - wpls15)) & 11743 (*(sptr - wpls14)) & 11744 (*(sptr - wpls13)) & 11745 (*(sptr - wpls12)) & 11746 (*(sptr - wpls11)) & 11747 (*(sptr - wpls10)) & 11748 (*(sptr - wpls9)) & 11749 (*(sptr - wpls8)) & 11750 (*(sptr - wpls7)) & 11751 (*(sptr - wpls6)) & 11752 (*(sptr - wpls5)) & 11753 (*(sptr - wpls4)) & 11754 (*(sptr - wpls3)) & 11755 (*(sptr - wpls2)) & 11756 (*(sptr - wpls)) & 11757 (*sptr) & 11758 (*(sptr + wpls)) & 11759 (*(sptr + wpls2)) & 11760 (*(sptr + wpls3)) & 11761 (*(sptr + wpls4)) & 11762 (*(sptr + wpls5)) & 11763 (*(sptr + wpls6)) & 11764 (*(sptr + wpls7)) & 11765 (*(sptr + wpls8)) & 11766 (*(sptr + wpls9)) & 11767 (*(sptr + wpls10)) & 11768 (*(sptr + wpls11)) & 11769 (*(sptr + wpls12)) & 11770 (*(sptr + wpls13)) & 11771 (*(sptr + wpls14)) & 11772 (*(sptr + wpls15)) & 11773 (*(sptr + wpls16)) & 11774 (*(sptr + wpls17)) & 11775 (*(sptr + wpls18)); 11776 } 11777 } 11778 } 11779 11780 static void 11781 fdilate_3_99(l_uint32 *datad, 11782 l_int32 w, 11783 l_int32 h, 11784 l_int32 wpld, 11785 l_uint32 *datas, 11786 l_int32 wpls) 11787 { 11788 l_int32 i; 11789 register l_int32 j, pwpls; 11790 register l_uint32 *sptr, *dptr; 11791 l_int32 wpls2, wpls3, wpls4; 11792 l_int32 wpls5, wpls6, wpls7, wpls8; 11793 l_int32 wpls9, wpls10, wpls11, wpls12; 11794 l_int32 wpls13, wpls14, wpls15, wpls16; 11795 l_int32 wpls17, wpls18, wpls19; 11796 11797 wpls2 = 2 * wpls; 11798 wpls3 = 3 * wpls; 11799 wpls4 = 4 * wpls; 11800 wpls5 = 5 * wpls; 11801 wpls6 = 6 * wpls; 11802 wpls7 = 7 * wpls; 11803 wpls8 = 8 * wpls; 11804 wpls9 = 9 * wpls; 11805 wpls10 = 10 * wpls; 11806 wpls11 = 11 * wpls; 11807 wpls12 = 12 * wpls; 11808 wpls13 = 13 * wpls; 11809 wpls14 = 14 * wpls; 11810 wpls15 = 15 * wpls; 11811 wpls16 = 16 * wpls; 11812 wpls17 = 17 * wpls; 11813 wpls18 = 18 * wpls; 11814 wpls19 = 19 * wpls; 11815 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11816 11817 for (i = 0; i < h; i++) { 11818 sptr = datas + i * wpls; 11819 dptr = datad + i * wpld; 11820 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11821 *dptr = (*(sptr + wpls19)) | 11822 (*(sptr + wpls18)) | 11823 (*(sptr + wpls17)) | 11824 (*(sptr + wpls16)) | 11825 (*(sptr + wpls15)) | 11826 (*(sptr + wpls14)) | 11827 (*(sptr + wpls13)) | 11828 (*(sptr + wpls12)) | 11829 (*(sptr + wpls11)) | 11830 (*(sptr + wpls10)) | 11831 (*(sptr + wpls9)) | 11832 (*(sptr + wpls8)) | 11833 (*(sptr + wpls7)) | 11834 (*(sptr + wpls6)) | 11835 (*(sptr + wpls5)) | 11836 (*(sptr + wpls4)) | 11837 (*(sptr + wpls3)) | 11838 (*(sptr + wpls2)) | 11839 (*(sptr + wpls)) | 11840 (*sptr) | 11841 (*(sptr - wpls)) | 11842 (*(sptr - wpls2)) | 11843 (*(sptr - wpls3)) | 11844 (*(sptr - wpls4)) | 11845 (*(sptr - wpls5)) | 11846 (*(sptr - wpls6)) | 11847 (*(sptr - wpls7)) | 11848 (*(sptr - wpls8)) | 11849 (*(sptr - wpls9)) | 11850 (*(sptr - wpls10)) | 11851 (*(sptr - wpls11)) | 11852 (*(sptr - wpls12)) | 11853 (*(sptr - wpls13)) | 11854 (*(sptr - wpls14)) | 11855 (*(sptr - wpls15)) | 11856 (*(sptr - wpls16)) | 11857 (*(sptr - wpls17)) | 11858 (*(sptr - wpls18)) | 11859 (*(sptr - wpls19)); 11860 } 11861 } 11862 } 11863 11864 static void 11865 ferode_3_99(l_uint32 *datad, 11866 l_int32 w, 11867 l_int32 h, 11868 l_int32 wpld, 11869 l_uint32 *datas, 11870 l_int32 wpls) 11871 { 11872 l_int32 i; 11873 register l_int32 j, pwpls; 11874 register l_uint32 *sptr, *dptr; 11875 l_int32 wpls2, wpls3, wpls4; 11876 l_int32 wpls5, wpls6, wpls7, wpls8; 11877 l_int32 wpls9, wpls10, wpls11, wpls12; 11878 l_int32 wpls13, wpls14, wpls15, wpls16; 11879 l_int32 wpls17, wpls18, wpls19; 11880 11881 wpls2 = 2 * wpls; 11882 wpls3 = 3 * wpls; 11883 wpls4 = 4 * wpls; 11884 wpls5 = 5 * wpls; 11885 wpls6 = 6 * wpls; 11886 wpls7 = 7 * wpls; 11887 wpls8 = 8 * wpls; 11888 wpls9 = 9 * wpls; 11889 wpls10 = 10 * wpls; 11890 wpls11 = 11 * wpls; 11891 wpls12 = 12 * wpls; 11892 wpls13 = 13 * wpls; 11893 wpls14 = 14 * wpls; 11894 wpls15 = 15 * wpls; 11895 wpls16 = 16 * wpls; 11896 wpls17 = 17 * wpls; 11897 wpls18 = 18 * wpls; 11898 wpls19 = 19 * wpls; 11899 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11900 11901 for (i = 0; i < h; i++) { 11902 sptr = datas + i * wpls; 11903 dptr = datad + i * wpld; 11904 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11905 *dptr = (*(sptr - wpls19)) & 11906 (*(sptr - wpls18)) & 11907 (*(sptr - wpls17)) & 11908 (*(sptr - wpls16)) & 11909 (*(sptr - wpls15)) & 11910 (*(sptr - wpls14)) & 11911 (*(sptr - wpls13)) & 11912 (*(sptr - wpls12)) & 11913 (*(sptr - wpls11)) & 11914 (*(sptr - wpls10)) & 11915 (*(sptr - wpls9)) & 11916 (*(sptr - wpls8)) & 11917 (*(sptr - wpls7)) & 11918 (*(sptr - wpls6)) & 11919 (*(sptr - wpls5)) & 11920 (*(sptr - wpls4)) & 11921 (*(sptr - wpls3)) & 11922 (*(sptr - wpls2)) & 11923 (*(sptr - wpls)) & 11924 (*sptr) & 11925 (*(sptr + wpls)) & 11926 (*(sptr + wpls2)) & 11927 (*(sptr + wpls3)) & 11928 (*(sptr + wpls4)) & 11929 (*(sptr + wpls5)) & 11930 (*(sptr + wpls6)) & 11931 (*(sptr + wpls7)) & 11932 (*(sptr + wpls8)) & 11933 (*(sptr + wpls9)) & 11934 (*(sptr + wpls10)) & 11935 (*(sptr + wpls11)) & 11936 (*(sptr + wpls12)) & 11937 (*(sptr + wpls13)) & 11938 (*(sptr + wpls14)) & 11939 (*(sptr + wpls15)) & 11940 (*(sptr + wpls16)) & 11941 (*(sptr + wpls17)) & 11942 (*(sptr + wpls18)) & 11943 (*(sptr + wpls19)); 11944 } 11945 } 11946 } 11947 11948 static void 11949 fdilate_3_100(l_uint32 *datad, 11950 l_int32 w, 11951 l_int32 h, 11952 l_int32 wpld, 11953 l_uint32 *datas, 11954 l_int32 wpls) 11955 { 11956 l_int32 i; 11957 register l_int32 j, pwpls; 11958 register l_uint32 *sptr, *dptr; 11959 l_int32 wpls2, wpls3, wpls4; 11960 l_int32 wpls5, wpls6, wpls7, wpls8; 11961 l_int32 wpls9, wpls10, wpls11, wpls12; 11962 l_int32 wpls13, wpls14, wpls15, wpls16; 11963 l_int32 wpls17, wpls18, wpls19, wpls20; 11964 11965 wpls2 = 2 * wpls; 11966 wpls3 = 3 * wpls; 11967 wpls4 = 4 * wpls; 11968 wpls5 = 5 * wpls; 11969 wpls6 = 6 * wpls; 11970 wpls7 = 7 * wpls; 11971 wpls8 = 8 * wpls; 11972 wpls9 = 9 * wpls; 11973 wpls10 = 10 * wpls; 11974 wpls11 = 11 * wpls; 11975 wpls12 = 12 * wpls; 11976 wpls13 = 13 * wpls; 11977 wpls14 = 14 * wpls; 11978 wpls15 = 15 * wpls; 11979 wpls16 = 16 * wpls; 11980 wpls17 = 17 * wpls; 11981 wpls18 = 18 * wpls; 11982 wpls19 = 19 * wpls; 11983 wpls20 = 20 * wpls; 11984 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 11985 11986 for (i = 0; i < h; i++) { 11987 sptr = datas + i * wpls; 11988 dptr = datad + i * wpld; 11989 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 11990 *dptr = (*(sptr + wpls20)) | 11991 (*(sptr + wpls19)) | 11992 (*(sptr + wpls18)) | 11993 (*(sptr + wpls17)) | 11994 (*(sptr + wpls16)) | 11995 (*(sptr + wpls15)) | 11996 (*(sptr + wpls14)) | 11997 (*(sptr + wpls13)) | 11998 (*(sptr + wpls12)) | 11999 (*(sptr + wpls11)) | 12000 (*(sptr + wpls10)) | 12001 (*(sptr + wpls9)) | 12002 (*(sptr + wpls8)) | 12003 (*(sptr + wpls7)) | 12004 (*(sptr + wpls6)) | 12005 (*(sptr + wpls5)) | 12006 (*(sptr + wpls4)) | 12007 (*(sptr + wpls3)) | 12008 (*(sptr + wpls2)) | 12009 (*(sptr + wpls)) | 12010 (*sptr) | 12011 (*(sptr - wpls)) | 12012 (*(sptr - wpls2)) | 12013 (*(sptr - wpls3)) | 12014 (*(sptr - wpls4)) | 12015 (*(sptr - wpls5)) | 12016 (*(sptr - wpls6)) | 12017 (*(sptr - wpls7)) | 12018 (*(sptr - wpls8)) | 12019 (*(sptr - wpls9)) | 12020 (*(sptr - wpls10)) | 12021 (*(sptr - wpls11)) | 12022 (*(sptr - wpls12)) | 12023 (*(sptr - wpls13)) | 12024 (*(sptr - wpls14)) | 12025 (*(sptr - wpls15)) | 12026 (*(sptr - wpls16)) | 12027 (*(sptr - wpls17)) | 12028 (*(sptr - wpls18)) | 12029 (*(sptr - wpls19)); 12030 } 12031 } 12032 } 12033 12034 static void 12035 ferode_3_100(l_uint32 *datad, 12036 l_int32 w, 12037 l_int32 h, 12038 l_int32 wpld, 12039 l_uint32 *datas, 12040 l_int32 wpls) 12041 { 12042 l_int32 i; 12043 register l_int32 j, pwpls; 12044 register l_uint32 *sptr, *dptr; 12045 l_int32 wpls2, wpls3, wpls4; 12046 l_int32 wpls5, wpls6, wpls7, wpls8; 12047 l_int32 wpls9, wpls10, wpls11, wpls12; 12048 l_int32 wpls13, wpls14, wpls15, wpls16; 12049 l_int32 wpls17, wpls18, wpls19, wpls20; 12050 12051 wpls2 = 2 * wpls; 12052 wpls3 = 3 * wpls; 12053 wpls4 = 4 * wpls; 12054 wpls5 = 5 * wpls; 12055 wpls6 = 6 * wpls; 12056 wpls7 = 7 * wpls; 12057 wpls8 = 8 * wpls; 12058 wpls9 = 9 * wpls; 12059 wpls10 = 10 * wpls; 12060 wpls11 = 11 * wpls; 12061 wpls12 = 12 * wpls; 12062 wpls13 = 13 * wpls; 12063 wpls14 = 14 * wpls; 12064 wpls15 = 15 * wpls; 12065 wpls16 = 16 * wpls; 12066 wpls17 = 17 * wpls; 12067 wpls18 = 18 * wpls; 12068 wpls19 = 19 * wpls; 12069 wpls20 = 20 * wpls; 12070 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12071 12072 for (i = 0; i < h; i++) { 12073 sptr = datas + i * wpls; 12074 dptr = datad + i * wpld; 12075 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12076 *dptr = (*(sptr - wpls20)) & 12077 (*(sptr - wpls19)) & 12078 (*(sptr - wpls18)) & 12079 (*(sptr - wpls17)) & 12080 (*(sptr - wpls16)) & 12081 (*(sptr - wpls15)) & 12082 (*(sptr - wpls14)) & 12083 (*(sptr - wpls13)) & 12084 (*(sptr - wpls12)) & 12085 (*(sptr - wpls11)) & 12086 (*(sptr - wpls10)) & 12087 (*(sptr - wpls9)) & 12088 (*(sptr - wpls8)) & 12089 (*(sptr - wpls7)) & 12090 (*(sptr - wpls6)) & 12091 (*(sptr - wpls5)) & 12092 (*(sptr - wpls4)) & 12093 (*(sptr - wpls3)) & 12094 (*(sptr - wpls2)) & 12095 (*(sptr - wpls)) & 12096 (*sptr) & 12097 (*(sptr + wpls)) & 12098 (*(sptr + wpls2)) & 12099 (*(sptr + wpls3)) & 12100 (*(sptr + wpls4)) & 12101 (*(sptr + wpls5)) & 12102 (*(sptr + wpls6)) & 12103 (*(sptr + wpls7)) & 12104 (*(sptr + wpls8)) & 12105 (*(sptr + wpls9)) & 12106 (*(sptr + wpls10)) & 12107 (*(sptr + wpls11)) & 12108 (*(sptr + wpls12)) & 12109 (*(sptr + wpls13)) & 12110 (*(sptr + wpls14)) & 12111 (*(sptr + wpls15)) & 12112 (*(sptr + wpls16)) & 12113 (*(sptr + wpls17)) & 12114 (*(sptr + wpls18)) & 12115 (*(sptr + wpls19)); 12116 } 12117 } 12118 } 12119 12120 static void 12121 fdilate_3_101(l_uint32 *datad, 12122 l_int32 w, 12123 l_int32 h, 12124 l_int32 wpld, 12125 l_uint32 *datas, 12126 l_int32 wpls) 12127 { 12128 l_int32 i; 12129 register l_int32 j, pwpls; 12130 register l_uint32 *sptr, *dptr; 12131 l_int32 wpls2, wpls3, wpls4; 12132 l_int32 wpls5, wpls6, wpls7, wpls8; 12133 l_int32 wpls9, wpls10, wpls11, wpls12; 12134 l_int32 wpls13, wpls14, wpls15, wpls16; 12135 l_int32 wpls17, wpls18, wpls19, wpls20; 12136 12137 wpls2 = 2 * wpls; 12138 wpls3 = 3 * wpls; 12139 wpls4 = 4 * wpls; 12140 wpls5 = 5 * wpls; 12141 wpls6 = 6 * wpls; 12142 wpls7 = 7 * wpls; 12143 wpls8 = 8 * wpls; 12144 wpls9 = 9 * wpls; 12145 wpls10 = 10 * wpls; 12146 wpls11 = 11 * wpls; 12147 wpls12 = 12 * wpls; 12148 wpls13 = 13 * wpls; 12149 wpls14 = 14 * wpls; 12150 wpls15 = 15 * wpls; 12151 wpls16 = 16 * wpls; 12152 wpls17 = 17 * wpls; 12153 wpls18 = 18 * wpls; 12154 wpls19 = 19 * wpls; 12155 wpls20 = 20 * wpls; 12156 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12157 12158 for (i = 0; i < h; i++) { 12159 sptr = datas + i * wpls; 12160 dptr = datad + i * wpld; 12161 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12162 *dptr = (*(sptr + wpls20)) | 12163 (*(sptr + wpls19)) | 12164 (*(sptr + wpls18)) | 12165 (*(sptr + wpls17)) | 12166 (*(sptr + wpls16)) | 12167 (*(sptr + wpls15)) | 12168 (*(sptr + wpls14)) | 12169 (*(sptr + wpls13)) | 12170 (*(sptr + wpls12)) | 12171 (*(sptr + wpls11)) | 12172 (*(sptr + wpls10)) | 12173 (*(sptr + wpls9)) | 12174 (*(sptr + wpls8)) | 12175 (*(sptr + wpls7)) | 12176 (*(sptr + wpls6)) | 12177 (*(sptr + wpls5)) | 12178 (*(sptr + wpls4)) | 12179 (*(sptr + wpls3)) | 12180 (*(sptr + wpls2)) | 12181 (*(sptr + wpls)) | 12182 (*sptr) | 12183 (*(sptr - wpls)) | 12184 (*(sptr - wpls2)) | 12185 (*(sptr - wpls3)) | 12186 (*(sptr - wpls4)) | 12187 (*(sptr - wpls5)) | 12188 (*(sptr - wpls6)) | 12189 (*(sptr - wpls7)) | 12190 (*(sptr - wpls8)) | 12191 (*(sptr - wpls9)) | 12192 (*(sptr - wpls10)) | 12193 (*(sptr - wpls11)) | 12194 (*(sptr - wpls12)) | 12195 (*(sptr - wpls13)) | 12196 (*(sptr - wpls14)) | 12197 (*(sptr - wpls15)) | 12198 (*(sptr - wpls16)) | 12199 (*(sptr - wpls17)) | 12200 (*(sptr - wpls18)) | 12201 (*(sptr - wpls19)) | 12202 (*(sptr - wpls20)); 12203 } 12204 } 12205 } 12206 12207 static void 12208 ferode_3_101(l_uint32 *datad, 12209 l_int32 w, 12210 l_int32 h, 12211 l_int32 wpld, 12212 l_uint32 *datas, 12213 l_int32 wpls) 12214 { 12215 l_int32 i; 12216 register l_int32 j, pwpls; 12217 register l_uint32 *sptr, *dptr; 12218 l_int32 wpls2, wpls3, wpls4; 12219 l_int32 wpls5, wpls6, wpls7, wpls8; 12220 l_int32 wpls9, wpls10, wpls11, wpls12; 12221 l_int32 wpls13, wpls14, wpls15, wpls16; 12222 l_int32 wpls17, wpls18, wpls19, wpls20; 12223 12224 wpls2 = 2 * wpls; 12225 wpls3 = 3 * wpls; 12226 wpls4 = 4 * wpls; 12227 wpls5 = 5 * wpls; 12228 wpls6 = 6 * wpls; 12229 wpls7 = 7 * wpls; 12230 wpls8 = 8 * wpls; 12231 wpls9 = 9 * wpls; 12232 wpls10 = 10 * wpls; 12233 wpls11 = 11 * wpls; 12234 wpls12 = 12 * wpls; 12235 wpls13 = 13 * wpls; 12236 wpls14 = 14 * wpls; 12237 wpls15 = 15 * wpls; 12238 wpls16 = 16 * wpls; 12239 wpls17 = 17 * wpls; 12240 wpls18 = 18 * wpls; 12241 wpls19 = 19 * wpls; 12242 wpls20 = 20 * wpls; 12243 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12244 12245 for (i = 0; i < h; i++) { 12246 sptr = datas + i * wpls; 12247 dptr = datad + i * wpld; 12248 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12249 *dptr = (*(sptr - wpls20)) & 12250 (*(sptr - wpls19)) & 12251 (*(sptr - wpls18)) & 12252 (*(sptr - wpls17)) & 12253 (*(sptr - wpls16)) & 12254 (*(sptr - wpls15)) & 12255 (*(sptr - wpls14)) & 12256 (*(sptr - wpls13)) & 12257 (*(sptr - wpls12)) & 12258 (*(sptr - wpls11)) & 12259 (*(sptr - wpls10)) & 12260 (*(sptr - wpls9)) & 12261 (*(sptr - wpls8)) & 12262 (*(sptr - wpls7)) & 12263 (*(sptr - wpls6)) & 12264 (*(sptr - wpls5)) & 12265 (*(sptr - wpls4)) & 12266 (*(sptr - wpls3)) & 12267 (*(sptr - wpls2)) & 12268 (*(sptr - wpls)) & 12269 (*sptr) & 12270 (*(sptr + wpls)) & 12271 (*(sptr + wpls2)) & 12272 (*(sptr + wpls3)) & 12273 (*(sptr + wpls4)) & 12274 (*(sptr + wpls5)) & 12275 (*(sptr + wpls6)) & 12276 (*(sptr + wpls7)) & 12277 (*(sptr + wpls8)) & 12278 (*(sptr + wpls9)) & 12279 (*(sptr + wpls10)) & 12280 (*(sptr + wpls11)) & 12281 (*(sptr + wpls12)) & 12282 (*(sptr + wpls13)) & 12283 (*(sptr + wpls14)) & 12284 (*(sptr + wpls15)) & 12285 (*(sptr + wpls16)) & 12286 (*(sptr + wpls17)) & 12287 (*(sptr + wpls18)) & 12288 (*(sptr + wpls19)) & 12289 (*(sptr + wpls20)); 12290 } 12291 } 12292 } 12293 12294 static void 12295 fdilate_3_102(l_uint32 *datad, 12296 l_int32 w, 12297 l_int32 h, 12298 l_int32 wpld, 12299 l_uint32 *datas, 12300 l_int32 wpls) 12301 { 12302 l_int32 i; 12303 register l_int32 j, pwpls; 12304 register l_uint32 *sptr, *dptr; 12305 l_int32 wpls2, wpls3, wpls4; 12306 l_int32 wpls5, wpls6, wpls7, wpls8; 12307 l_int32 wpls9, wpls10, wpls11, wpls12; 12308 l_int32 wpls13, wpls14, wpls15, wpls16; 12309 l_int32 wpls17, wpls18, wpls19, wpls20; 12310 l_int32 wpls21; 12311 12312 wpls2 = 2 * wpls; 12313 wpls3 = 3 * wpls; 12314 wpls4 = 4 * wpls; 12315 wpls5 = 5 * wpls; 12316 wpls6 = 6 * wpls; 12317 wpls7 = 7 * wpls; 12318 wpls8 = 8 * wpls; 12319 wpls9 = 9 * wpls; 12320 wpls10 = 10 * wpls; 12321 wpls11 = 11 * wpls; 12322 wpls12 = 12 * wpls; 12323 wpls13 = 13 * wpls; 12324 wpls14 = 14 * wpls; 12325 wpls15 = 15 * wpls; 12326 wpls16 = 16 * wpls; 12327 wpls17 = 17 * wpls; 12328 wpls18 = 18 * wpls; 12329 wpls19 = 19 * wpls; 12330 wpls20 = 20 * wpls; 12331 wpls21 = 21 * wpls; 12332 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12333 12334 for (i = 0; i < h; i++) { 12335 sptr = datas + i * wpls; 12336 dptr = datad + i * wpld; 12337 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12338 *dptr = (*(sptr + wpls21)) | 12339 (*(sptr + wpls20)) | 12340 (*(sptr + wpls19)) | 12341 (*(sptr + wpls18)) | 12342 (*(sptr + wpls17)) | 12343 (*(sptr + wpls16)) | 12344 (*(sptr + wpls15)) | 12345 (*(sptr + wpls14)) | 12346 (*(sptr + wpls13)) | 12347 (*(sptr + wpls12)) | 12348 (*(sptr + wpls11)) | 12349 (*(sptr + wpls10)) | 12350 (*(sptr + wpls9)) | 12351 (*(sptr + wpls8)) | 12352 (*(sptr + wpls7)) | 12353 (*(sptr + wpls6)) | 12354 (*(sptr + wpls5)) | 12355 (*(sptr + wpls4)) | 12356 (*(sptr + wpls3)) | 12357 (*(sptr + wpls2)) | 12358 (*(sptr + wpls)) | 12359 (*sptr) | 12360 (*(sptr - wpls)) | 12361 (*(sptr - wpls2)) | 12362 (*(sptr - wpls3)) | 12363 (*(sptr - wpls4)) | 12364 (*(sptr - wpls5)) | 12365 (*(sptr - wpls6)) | 12366 (*(sptr - wpls7)) | 12367 (*(sptr - wpls8)) | 12368 (*(sptr - wpls9)) | 12369 (*(sptr - wpls10)) | 12370 (*(sptr - wpls11)) | 12371 (*(sptr - wpls12)) | 12372 (*(sptr - wpls13)) | 12373 (*(sptr - wpls14)) | 12374 (*(sptr - wpls15)) | 12375 (*(sptr - wpls16)) | 12376 (*(sptr - wpls17)) | 12377 (*(sptr - wpls18)) | 12378 (*(sptr - wpls19)) | 12379 (*(sptr - wpls20)); 12380 } 12381 } 12382 } 12383 12384 static void 12385 ferode_3_102(l_uint32 *datad, 12386 l_int32 w, 12387 l_int32 h, 12388 l_int32 wpld, 12389 l_uint32 *datas, 12390 l_int32 wpls) 12391 { 12392 l_int32 i; 12393 register l_int32 j, pwpls; 12394 register l_uint32 *sptr, *dptr; 12395 l_int32 wpls2, wpls3, wpls4; 12396 l_int32 wpls5, wpls6, wpls7, wpls8; 12397 l_int32 wpls9, wpls10, wpls11, wpls12; 12398 l_int32 wpls13, wpls14, wpls15, wpls16; 12399 l_int32 wpls17, wpls18, wpls19, wpls20; 12400 l_int32 wpls21; 12401 12402 wpls2 = 2 * wpls; 12403 wpls3 = 3 * wpls; 12404 wpls4 = 4 * wpls; 12405 wpls5 = 5 * wpls; 12406 wpls6 = 6 * wpls; 12407 wpls7 = 7 * wpls; 12408 wpls8 = 8 * wpls; 12409 wpls9 = 9 * wpls; 12410 wpls10 = 10 * wpls; 12411 wpls11 = 11 * wpls; 12412 wpls12 = 12 * wpls; 12413 wpls13 = 13 * wpls; 12414 wpls14 = 14 * wpls; 12415 wpls15 = 15 * wpls; 12416 wpls16 = 16 * wpls; 12417 wpls17 = 17 * wpls; 12418 wpls18 = 18 * wpls; 12419 wpls19 = 19 * wpls; 12420 wpls20 = 20 * wpls; 12421 wpls21 = 21 * wpls; 12422 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12423 12424 for (i = 0; i < h; i++) { 12425 sptr = datas + i * wpls; 12426 dptr = datad + i * wpld; 12427 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12428 *dptr = (*(sptr - wpls21)) & 12429 (*(sptr - wpls20)) & 12430 (*(sptr - wpls19)) & 12431 (*(sptr - wpls18)) & 12432 (*(sptr - wpls17)) & 12433 (*(sptr - wpls16)) & 12434 (*(sptr - wpls15)) & 12435 (*(sptr - wpls14)) & 12436 (*(sptr - wpls13)) & 12437 (*(sptr - wpls12)) & 12438 (*(sptr - wpls11)) & 12439 (*(sptr - wpls10)) & 12440 (*(sptr - wpls9)) & 12441 (*(sptr - wpls8)) & 12442 (*(sptr - wpls7)) & 12443 (*(sptr - wpls6)) & 12444 (*(sptr - wpls5)) & 12445 (*(sptr - wpls4)) & 12446 (*(sptr - wpls3)) & 12447 (*(sptr - wpls2)) & 12448 (*(sptr - wpls)) & 12449 (*sptr) & 12450 (*(sptr + wpls)) & 12451 (*(sptr + wpls2)) & 12452 (*(sptr + wpls3)) & 12453 (*(sptr + wpls4)) & 12454 (*(sptr + wpls5)) & 12455 (*(sptr + wpls6)) & 12456 (*(sptr + wpls7)) & 12457 (*(sptr + wpls8)) & 12458 (*(sptr + wpls9)) & 12459 (*(sptr + wpls10)) & 12460 (*(sptr + wpls11)) & 12461 (*(sptr + wpls12)) & 12462 (*(sptr + wpls13)) & 12463 (*(sptr + wpls14)) & 12464 (*(sptr + wpls15)) & 12465 (*(sptr + wpls16)) & 12466 (*(sptr + wpls17)) & 12467 (*(sptr + wpls18)) & 12468 (*(sptr + wpls19)) & 12469 (*(sptr + wpls20)); 12470 } 12471 } 12472 } 12473 12474 static void 12475 fdilate_3_103(l_uint32 *datad, 12476 l_int32 w, 12477 l_int32 h, 12478 l_int32 wpld, 12479 l_uint32 *datas, 12480 l_int32 wpls) 12481 { 12482 l_int32 i; 12483 register l_int32 j, pwpls; 12484 register l_uint32 *sptr, *dptr; 12485 l_int32 wpls2, wpls3, wpls4; 12486 l_int32 wpls5, wpls6, wpls7, wpls8; 12487 l_int32 wpls9, wpls10, wpls11, wpls12; 12488 l_int32 wpls13, wpls14, wpls15, wpls16; 12489 l_int32 wpls17, wpls18, wpls19, wpls20; 12490 l_int32 wpls21; 12491 12492 wpls2 = 2 * wpls; 12493 wpls3 = 3 * wpls; 12494 wpls4 = 4 * wpls; 12495 wpls5 = 5 * wpls; 12496 wpls6 = 6 * wpls; 12497 wpls7 = 7 * wpls; 12498 wpls8 = 8 * wpls; 12499 wpls9 = 9 * wpls; 12500 wpls10 = 10 * wpls; 12501 wpls11 = 11 * wpls; 12502 wpls12 = 12 * wpls; 12503 wpls13 = 13 * wpls; 12504 wpls14 = 14 * wpls; 12505 wpls15 = 15 * wpls; 12506 wpls16 = 16 * wpls; 12507 wpls17 = 17 * wpls; 12508 wpls18 = 18 * wpls; 12509 wpls19 = 19 * wpls; 12510 wpls20 = 20 * wpls; 12511 wpls21 = 21 * wpls; 12512 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12513 12514 for (i = 0; i < h; i++) { 12515 sptr = datas + i * wpls; 12516 dptr = datad + i * wpld; 12517 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12518 *dptr = (*(sptr + wpls21)) | 12519 (*(sptr + wpls20)) | 12520 (*(sptr + wpls19)) | 12521 (*(sptr + wpls18)) | 12522 (*(sptr + wpls17)) | 12523 (*(sptr + wpls16)) | 12524 (*(sptr + wpls15)) | 12525 (*(sptr + wpls14)) | 12526 (*(sptr + wpls13)) | 12527 (*(sptr + wpls12)) | 12528 (*(sptr + wpls11)) | 12529 (*(sptr + wpls10)) | 12530 (*(sptr + wpls9)) | 12531 (*(sptr + wpls8)) | 12532 (*(sptr + wpls7)) | 12533 (*(sptr + wpls6)) | 12534 (*(sptr + wpls5)) | 12535 (*(sptr + wpls4)) | 12536 (*(sptr + wpls3)) | 12537 (*(sptr + wpls2)) | 12538 (*(sptr + wpls)) | 12539 (*sptr) | 12540 (*(sptr - wpls)) | 12541 (*(sptr - wpls2)) | 12542 (*(sptr - wpls3)) | 12543 (*(sptr - wpls4)) | 12544 (*(sptr - wpls5)) | 12545 (*(sptr - wpls6)) | 12546 (*(sptr - wpls7)) | 12547 (*(sptr - wpls8)) | 12548 (*(sptr - wpls9)) | 12549 (*(sptr - wpls10)) | 12550 (*(sptr - wpls11)) | 12551 (*(sptr - wpls12)) | 12552 (*(sptr - wpls13)) | 12553 (*(sptr - wpls14)) | 12554 (*(sptr - wpls15)) | 12555 (*(sptr - wpls16)) | 12556 (*(sptr - wpls17)) | 12557 (*(sptr - wpls18)) | 12558 (*(sptr - wpls19)) | 12559 (*(sptr - wpls20)) | 12560 (*(sptr - wpls21)); 12561 } 12562 } 12563 } 12564 12565 static void 12566 ferode_3_103(l_uint32 *datad, 12567 l_int32 w, 12568 l_int32 h, 12569 l_int32 wpld, 12570 l_uint32 *datas, 12571 l_int32 wpls) 12572 { 12573 l_int32 i; 12574 register l_int32 j, pwpls; 12575 register l_uint32 *sptr, *dptr; 12576 l_int32 wpls2, wpls3, wpls4; 12577 l_int32 wpls5, wpls6, wpls7, wpls8; 12578 l_int32 wpls9, wpls10, wpls11, wpls12; 12579 l_int32 wpls13, wpls14, wpls15, wpls16; 12580 l_int32 wpls17, wpls18, wpls19, wpls20; 12581 l_int32 wpls21; 12582 12583 wpls2 = 2 * wpls; 12584 wpls3 = 3 * wpls; 12585 wpls4 = 4 * wpls; 12586 wpls5 = 5 * wpls; 12587 wpls6 = 6 * wpls; 12588 wpls7 = 7 * wpls; 12589 wpls8 = 8 * wpls; 12590 wpls9 = 9 * wpls; 12591 wpls10 = 10 * wpls; 12592 wpls11 = 11 * wpls; 12593 wpls12 = 12 * wpls; 12594 wpls13 = 13 * wpls; 12595 wpls14 = 14 * wpls; 12596 wpls15 = 15 * wpls; 12597 wpls16 = 16 * wpls; 12598 wpls17 = 17 * wpls; 12599 wpls18 = 18 * wpls; 12600 wpls19 = 19 * wpls; 12601 wpls20 = 20 * wpls; 12602 wpls21 = 21 * wpls; 12603 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12604 12605 for (i = 0; i < h; i++) { 12606 sptr = datas + i * wpls; 12607 dptr = datad + i * wpld; 12608 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12609 *dptr = (*(sptr - wpls21)) & 12610 (*(sptr - wpls20)) & 12611 (*(sptr - wpls19)) & 12612 (*(sptr - wpls18)) & 12613 (*(sptr - wpls17)) & 12614 (*(sptr - wpls16)) & 12615 (*(sptr - wpls15)) & 12616 (*(sptr - wpls14)) & 12617 (*(sptr - wpls13)) & 12618 (*(sptr - wpls12)) & 12619 (*(sptr - wpls11)) & 12620 (*(sptr - wpls10)) & 12621 (*(sptr - wpls9)) & 12622 (*(sptr - wpls8)) & 12623 (*(sptr - wpls7)) & 12624 (*(sptr - wpls6)) & 12625 (*(sptr - wpls5)) & 12626 (*(sptr - wpls4)) & 12627 (*(sptr - wpls3)) & 12628 (*(sptr - wpls2)) & 12629 (*(sptr - wpls)) & 12630 (*sptr) & 12631 (*(sptr + wpls)) & 12632 (*(sptr + wpls2)) & 12633 (*(sptr + wpls3)) & 12634 (*(sptr + wpls4)) & 12635 (*(sptr + wpls5)) & 12636 (*(sptr + wpls6)) & 12637 (*(sptr + wpls7)) & 12638 (*(sptr + wpls8)) & 12639 (*(sptr + wpls9)) & 12640 (*(sptr + wpls10)) & 12641 (*(sptr + wpls11)) & 12642 (*(sptr + wpls12)) & 12643 (*(sptr + wpls13)) & 12644 (*(sptr + wpls14)) & 12645 (*(sptr + wpls15)) & 12646 (*(sptr + wpls16)) & 12647 (*(sptr + wpls17)) & 12648 (*(sptr + wpls18)) & 12649 (*(sptr + wpls19)) & 12650 (*(sptr + wpls20)) & 12651 (*(sptr + wpls21)); 12652 } 12653 } 12654 } 12655 12656 static void 12657 fdilate_3_104(l_uint32 *datad, 12658 l_int32 w, 12659 l_int32 h, 12660 l_int32 wpld, 12661 l_uint32 *datas, 12662 l_int32 wpls) 12663 { 12664 l_int32 i; 12665 register l_int32 j, pwpls; 12666 register l_uint32 *sptr, *dptr; 12667 l_int32 wpls2, wpls3, wpls4; 12668 l_int32 wpls5, wpls6, wpls7, wpls8; 12669 l_int32 wpls9, wpls10, wpls11, wpls12; 12670 l_int32 wpls13, wpls14, wpls15, wpls16; 12671 l_int32 wpls17, wpls18, wpls19, wpls20; 12672 l_int32 wpls21, wpls22; 12673 12674 wpls2 = 2 * wpls; 12675 wpls3 = 3 * wpls; 12676 wpls4 = 4 * wpls; 12677 wpls5 = 5 * wpls; 12678 wpls6 = 6 * wpls; 12679 wpls7 = 7 * wpls; 12680 wpls8 = 8 * wpls; 12681 wpls9 = 9 * wpls; 12682 wpls10 = 10 * wpls; 12683 wpls11 = 11 * wpls; 12684 wpls12 = 12 * wpls; 12685 wpls13 = 13 * wpls; 12686 wpls14 = 14 * wpls; 12687 wpls15 = 15 * wpls; 12688 wpls16 = 16 * wpls; 12689 wpls17 = 17 * wpls; 12690 wpls18 = 18 * wpls; 12691 wpls19 = 19 * wpls; 12692 wpls20 = 20 * wpls; 12693 wpls21 = 21 * wpls; 12694 wpls22 = 22 * wpls; 12695 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12696 12697 for (i = 0; i < h; i++) { 12698 sptr = datas + i * wpls; 12699 dptr = datad + i * wpld; 12700 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12701 *dptr = (*(sptr + wpls22)) | 12702 (*(sptr + wpls21)) | 12703 (*(sptr + wpls20)) | 12704 (*(sptr + wpls19)) | 12705 (*(sptr + wpls18)) | 12706 (*(sptr + wpls17)) | 12707 (*(sptr + wpls16)) | 12708 (*(sptr + wpls15)) | 12709 (*(sptr + wpls14)) | 12710 (*(sptr + wpls13)) | 12711 (*(sptr + wpls12)) | 12712 (*(sptr + wpls11)) | 12713 (*(sptr + wpls10)) | 12714 (*(sptr + wpls9)) | 12715 (*(sptr + wpls8)) | 12716 (*(sptr + wpls7)) | 12717 (*(sptr + wpls6)) | 12718 (*(sptr + wpls5)) | 12719 (*(sptr + wpls4)) | 12720 (*(sptr + wpls3)) | 12721 (*(sptr + wpls2)) | 12722 (*(sptr + wpls)) | 12723 (*sptr) | 12724 (*(sptr - wpls)) | 12725 (*(sptr - wpls2)) | 12726 (*(sptr - wpls3)) | 12727 (*(sptr - wpls4)) | 12728 (*(sptr - wpls5)) | 12729 (*(sptr - wpls6)) | 12730 (*(sptr - wpls7)) | 12731 (*(sptr - wpls8)) | 12732 (*(sptr - wpls9)) | 12733 (*(sptr - wpls10)) | 12734 (*(sptr - wpls11)) | 12735 (*(sptr - wpls12)) | 12736 (*(sptr - wpls13)) | 12737 (*(sptr - wpls14)) | 12738 (*(sptr - wpls15)) | 12739 (*(sptr - wpls16)) | 12740 (*(sptr - wpls17)) | 12741 (*(sptr - wpls18)) | 12742 (*(sptr - wpls19)) | 12743 (*(sptr - wpls20)) | 12744 (*(sptr - wpls21)); 12745 } 12746 } 12747 } 12748 12749 static void 12750 ferode_3_104(l_uint32 *datad, 12751 l_int32 w, 12752 l_int32 h, 12753 l_int32 wpld, 12754 l_uint32 *datas, 12755 l_int32 wpls) 12756 { 12757 l_int32 i; 12758 register l_int32 j, pwpls; 12759 register l_uint32 *sptr, *dptr; 12760 l_int32 wpls2, wpls3, wpls4; 12761 l_int32 wpls5, wpls6, wpls7, wpls8; 12762 l_int32 wpls9, wpls10, wpls11, wpls12; 12763 l_int32 wpls13, wpls14, wpls15, wpls16; 12764 l_int32 wpls17, wpls18, wpls19, wpls20; 12765 l_int32 wpls21, wpls22; 12766 12767 wpls2 = 2 * wpls; 12768 wpls3 = 3 * wpls; 12769 wpls4 = 4 * wpls; 12770 wpls5 = 5 * wpls; 12771 wpls6 = 6 * wpls; 12772 wpls7 = 7 * wpls; 12773 wpls8 = 8 * wpls; 12774 wpls9 = 9 * wpls; 12775 wpls10 = 10 * wpls; 12776 wpls11 = 11 * wpls; 12777 wpls12 = 12 * wpls; 12778 wpls13 = 13 * wpls; 12779 wpls14 = 14 * wpls; 12780 wpls15 = 15 * wpls; 12781 wpls16 = 16 * wpls; 12782 wpls17 = 17 * wpls; 12783 wpls18 = 18 * wpls; 12784 wpls19 = 19 * wpls; 12785 wpls20 = 20 * wpls; 12786 wpls21 = 21 * wpls; 12787 wpls22 = 22 * wpls; 12788 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12789 12790 for (i = 0; i < h; i++) { 12791 sptr = datas + i * wpls; 12792 dptr = datad + i * wpld; 12793 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12794 *dptr = (*(sptr - wpls22)) & 12795 (*(sptr - wpls21)) & 12796 (*(sptr - wpls20)) & 12797 (*(sptr - wpls19)) & 12798 (*(sptr - wpls18)) & 12799 (*(sptr - wpls17)) & 12800 (*(sptr - wpls16)) & 12801 (*(sptr - wpls15)) & 12802 (*(sptr - wpls14)) & 12803 (*(sptr - wpls13)) & 12804 (*(sptr - wpls12)) & 12805 (*(sptr - wpls11)) & 12806 (*(sptr - wpls10)) & 12807 (*(sptr - wpls9)) & 12808 (*(sptr - wpls8)) & 12809 (*(sptr - wpls7)) & 12810 (*(sptr - wpls6)) & 12811 (*(sptr - wpls5)) & 12812 (*(sptr - wpls4)) & 12813 (*(sptr - wpls3)) & 12814 (*(sptr - wpls2)) & 12815 (*(sptr - wpls)) & 12816 (*sptr) & 12817 (*(sptr + wpls)) & 12818 (*(sptr + wpls2)) & 12819 (*(sptr + wpls3)) & 12820 (*(sptr + wpls4)) & 12821 (*(sptr + wpls5)) & 12822 (*(sptr + wpls6)) & 12823 (*(sptr + wpls7)) & 12824 (*(sptr + wpls8)) & 12825 (*(sptr + wpls9)) & 12826 (*(sptr + wpls10)) & 12827 (*(sptr + wpls11)) & 12828 (*(sptr + wpls12)) & 12829 (*(sptr + wpls13)) & 12830 (*(sptr + wpls14)) & 12831 (*(sptr + wpls15)) & 12832 (*(sptr + wpls16)) & 12833 (*(sptr + wpls17)) & 12834 (*(sptr + wpls18)) & 12835 (*(sptr + wpls19)) & 12836 (*(sptr + wpls20)) & 12837 (*(sptr + wpls21)); 12838 } 12839 } 12840 } 12841 12842 static void 12843 fdilate_3_105(l_uint32 *datad, 12844 l_int32 w, 12845 l_int32 h, 12846 l_int32 wpld, 12847 l_uint32 *datas, 12848 l_int32 wpls) 12849 { 12850 l_int32 i; 12851 register l_int32 j, pwpls; 12852 register l_uint32 *sptr, *dptr; 12853 l_int32 wpls2, wpls3, wpls4; 12854 l_int32 wpls5, wpls6, wpls7, wpls8; 12855 l_int32 wpls9, wpls10, wpls11, wpls12; 12856 l_int32 wpls13, wpls14, wpls15, wpls16; 12857 l_int32 wpls17, wpls18, wpls19, wpls20; 12858 l_int32 wpls21, wpls22; 12859 12860 wpls2 = 2 * wpls; 12861 wpls3 = 3 * wpls; 12862 wpls4 = 4 * wpls; 12863 wpls5 = 5 * wpls; 12864 wpls6 = 6 * wpls; 12865 wpls7 = 7 * wpls; 12866 wpls8 = 8 * wpls; 12867 wpls9 = 9 * wpls; 12868 wpls10 = 10 * wpls; 12869 wpls11 = 11 * wpls; 12870 wpls12 = 12 * wpls; 12871 wpls13 = 13 * wpls; 12872 wpls14 = 14 * wpls; 12873 wpls15 = 15 * wpls; 12874 wpls16 = 16 * wpls; 12875 wpls17 = 17 * wpls; 12876 wpls18 = 18 * wpls; 12877 wpls19 = 19 * wpls; 12878 wpls20 = 20 * wpls; 12879 wpls21 = 21 * wpls; 12880 wpls22 = 22 * wpls; 12881 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12882 12883 for (i = 0; i < h; i++) { 12884 sptr = datas + i * wpls; 12885 dptr = datad + i * wpld; 12886 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12887 *dptr = (*(sptr + wpls22)) | 12888 (*(sptr + wpls21)) | 12889 (*(sptr + wpls20)) | 12890 (*(sptr + wpls19)) | 12891 (*(sptr + wpls18)) | 12892 (*(sptr + wpls17)) | 12893 (*(sptr + wpls16)) | 12894 (*(sptr + wpls15)) | 12895 (*(sptr + wpls14)) | 12896 (*(sptr + wpls13)) | 12897 (*(sptr + wpls12)) | 12898 (*(sptr + wpls11)) | 12899 (*(sptr + wpls10)) | 12900 (*(sptr + wpls9)) | 12901 (*(sptr + wpls8)) | 12902 (*(sptr + wpls7)) | 12903 (*(sptr + wpls6)) | 12904 (*(sptr + wpls5)) | 12905 (*(sptr + wpls4)) | 12906 (*(sptr + wpls3)) | 12907 (*(sptr + wpls2)) | 12908 (*(sptr + wpls)) | 12909 (*sptr) | 12910 (*(sptr - wpls)) | 12911 (*(sptr - wpls2)) | 12912 (*(sptr - wpls3)) | 12913 (*(sptr - wpls4)) | 12914 (*(sptr - wpls5)) | 12915 (*(sptr - wpls6)) | 12916 (*(sptr - wpls7)) | 12917 (*(sptr - wpls8)) | 12918 (*(sptr - wpls9)) | 12919 (*(sptr - wpls10)) | 12920 (*(sptr - wpls11)) | 12921 (*(sptr - wpls12)) | 12922 (*(sptr - wpls13)) | 12923 (*(sptr - wpls14)) | 12924 (*(sptr - wpls15)) | 12925 (*(sptr - wpls16)) | 12926 (*(sptr - wpls17)) | 12927 (*(sptr - wpls18)) | 12928 (*(sptr - wpls19)) | 12929 (*(sptr - wpls20)) | 12930 (*(sptr - wpls21)) | 12931 (*(sptr - wpls22)); 12932 } 12933 } 12934 } 12935 12936 static void 12937 ferode_3_105(l_uint32 *datad, 12938 l_int32 w, 12939 l_int32 h, 12940 l_int32 wpld, 12941 l_uint32 *datas, 12942 l_int32 wpls) 12943 { 12944 l_int32 i; 12945 register l_int32 j, pwpls; 12946 register l_uint32 *sptr, *dptr; 12947 l_int32 wpls2, wpls3, wpls4; 12948 l_int32 wpls5, wpls6, wpls7, wpls8; 12949 l_int32 wpls9, wpls10, wpls11, wpls12; 12950 l_int32 wpls13, wpls14, wpls15, wpls16; 12951 l_int32 wpls17, wpls18, wpls19, wpls20; 12952 l_int32 wpls21, wpls22; 12953 12954 wpls2 = 2 * wpls; 12955 wpls3 = 3 * wpls; 12956 wpls4 = 4 * wpls; 12957 wpls5 = 5 * wpls; 12958 wpls6 = 6 * wpls; 12959 wpls7 = 7 * wpls; 12960 wpls8 = 8 * wpls; 12961 wpls9 = 9 * wpls; 12962 wpls10 = 10 * wpls; 12963 wpls11 = 11 * wpls; 12964 wpls12 = 12 * wpls; 12965 wpls13 = 13 * wpls; 12966 wpls14 = 14 * wpls; 12967 wpls15 = 15 * wpls; 12968 wpls16 = 16 * wpls; 12969 wpls17 = 17 * wpls; 12970 wpls18 = 18 * wpls; 12971 wpls19 = 19 * wpls; 12972 wpls20 = 20 * wpls; 12973 wpls21 = 21 * wpls; 12974 wpls22 = 22 * wpls; 12975 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 12976 12977 for (i = 0; i < h; i++) { 12978 sptr = datas + i * wpls; 12979 dptr = datad + i * wpld; 12980 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 12981 *dptr = (*(sptr - wpls22)) & 12982 (*(sptr - wpls21)) & 12983 (*(sptr - wpls20)) & 12984 (*(sptr - wpls19)) & 12985 (*(sptr - wpls18)) & 12986 (*(sptr - wpls17)) & 12987 (*(sptr - wpls16)) & 12988 (*(sptr - wpls15)) & 12989 (*(sptr - wpls14)) & 12990 (*(sptr - wpls13)) & 12991 (*(sptr - wpls12)) & 12992 (*(sptr - wpls11)) & 12993 (*(sptr - wpls10)) & 12994 (*(sptr - wpls9)) & 12995 (*(sptr - wpls8)) & 12996 (*(sptr - wpls7)) & 12997 (*(sptr - wpls6)) & 12998 (*(sptr - wpls5)) & 12999 (*(sptr - wpls4)) & 13000 (*(sptr - wpls3)) & 13001 (*(sptr - wpls2)) & 13002 (*(sptr - wpls)) & 13003 (*sptr) & 13004 (*(sptr + wpls)) & 13005 (*(sptr + wpls2)) & 13006 (*(sptr + wpls3)) & 13007 (*(sptr + wpls4)) & 13008 (*(sptr + wpls5)) & 13009 (*(sptr + wpls6)) & 13010 (*(sptr + wpls7)) & 13011 (*(sptr + wpls8)) & 13012 (*(sptr + wpls9)) & 13013 (*(sptr + wpls10)) & 13014 (*(sptr + wpls11)) & 13015 (*(sptr + wpls12)) & 13016 (*(sptr + wpls13)) & 13017 (*(sptr + wpls14)) & 13018 (*(sptr + wpls15)) & 13019 (*(sptr + wpls16)) & 13020 (*(sptr + wpls17)) & 13021 (*(sptr + wpls18)) & 13022 (*(sptr + wpls19)) & 13023 (*(sptr + wpls20)) & 13024 (*(sptr + wpls21)) & 13025 (*(sptr + wpls22)); 13026 } 13027 } 13028 } 13029 13030 static void 13031 fdilate_3_106(l_uint32 *datad, 13032 l_int32 w, 13033 l_int32 h, 13034 l_int32 wpld, 13035 l_uint32 *datas, 13036 l_int32 wpls) 13037 { 13038 l_int32 i; 13039 register l_int32 j, pwpls; 13040 register l_uint32 *sptr, *dptr; 13041 l_int32 wpls2, wpls3, wpls4; 13042 l_int32 wpls5, wpls6, wpls7, wpls8; 13043 l_int32 wpls9, wpls10, wpls11, wpls12; 13044 l_int32 wpls13, wpls14, wpls15, wpls16; 13045 l_int32 wpls17, wpls18, wpls19, wpls20; 13046 l_int32 wpls21, wpls22, wpls23; 13047 13048 wpls2 = 2 * wpls; 13049 wpls3 = 3 * wpls; 13050 wpls4 = 4 * wpls; 13051 wpls5 = 5 * wpls; 13052 wpls6 = 6 * wpls; 13053 wpls7 = 7 * wpls; 13054 wpls8 = 8 * wpls; 13055 wpls9 = 9 * wpls; 13056 wpls10 = 10 * wpls; 13057 wpls11 = 11 * wpls; 13058 wpls12 = 12 * wpls; 13059 wpls13 = 13 * wpls; 13060 wpls14 = 14 * wpls; 13061 wpls15 = 15 * wpls; 13062 wpls16 = 16 * wpls; 13063 wpls17 = 17 * wpls; 13064 wpls18 = 18 * wpls; 13065 wpls19 = 19 * wpls; 13066 wpls20 = 20 * wpls; 13067 wpls21 = 21 * wpls; 13068 wpls22 = 22 * wpls; 13069 wpls23 = 23 * wpls; 13070 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13071 13072 for (i = 0; i < h; i++) { 13073 sptr = datas + i * wpls; 13074 dptr = datad + i * wpld; 13075 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13076 *dptr = (*(sptr + wpls23)) | 13077 (*(sptr + wpls22)) | 13078 (*(sptr + wpls21)) | 13079 (*(sptr + wpls20)) | 13080 (*(sptr + wpls19)) | 13081 (*(sptr + wpls18)) | 13082 (*(sptr + wpls17)) | 13083 (*(sptr + wpls16)) | 13084 (*(sptr + wpls15)) | 13085 (*(sptr + wpls14)) | 13086 (*(sptr + wpls13)) | 13087 (*(sptr + wpls12)) | 13088 (*(sptr + wpls11)) | 13089 (*(sptr + wpls10)) | 13090 (*(sptr + wpls9)) | 13091 (*(sptr + wpls8)) | 13092 (*(sptr + wpls7)) | 13093 (*(sptr + wpls6)) | 13094 (*(sptr + wpls5)) | 13095 (*(sptr + wpls4)) | 13096 (*(sptr + wpls3)) | 13097 (*(sptr + wpls2)) | 13098 (*(sptr + wpls)) | 13099 (*sptr) | 13100 (*(sptr - wpls)) | 13101 (*(sptr - wpls2)) | 13102 (*(sptr - wpls3)) | 13103 (*(sptr - wpls4)) | 13104 (*(sptr - wpls5)) | 13105 (*(sptr - wpls6)) | 13106 (*(sptr - wpls7)) | 13107 (*(sptr - wpls8)) | 13108 (*(sptr - wpls9)) | 13109 (*(sptr - wpls10)) | 13110 (*(sptr - wpls11)) | 13111 (*(sptr - wpls12)) | 13112 (*(sptr - wpls13)) | 13113 (*(sptr - wpls14)) | 13114 (*(sptr - wpls15)) | 13115 (*(sptr - wpls16)) | 13116 (*(sptr - wpls17)) | 13117 (*(sptr - wpls18)) | 13118 (*(sptr - wpls19)) | 13119 (*(sptr - wpls20)) | 13120 (*(sptr - wpls21)) | 13121 (*(sptr - wpls22)); 13122 } 13123 } 13124 } 13125 13126 static void 13127 ferode_3_106(l_uint32 *datad, 13128 l_int32 w, 13129 l_int32 h, 13130 l_int32 wpld, 13131 l_uint32 *datas, 13132 l_int32 wpls) 13133 { 13134 l_int32 i; 13135 register l_int32 j, pwpls; 13136 register l_uint32 *sptr, *dptr; 13137 l_int32 wpls2, wpls3, wpls4; 13138 l_int32 wpls5, wpls6, wpls7, wpls8; 13139 l_int32 wpls9, wpls10, wpls11, wpls12; 13140 l_int32 wpls13, wpls14, wpls15, wpls16; 13141 l_int32 wpls17, wpls18, wpls19, wpls20; 13142 l_int32 wpls21, wpls22, wpls23; 13143 13144 wpls2 = 2 * wpls; 13145 wpls3 = 3 * wpls; 13146 wpls4 = 4 * wpls; 13147 wpls5 = 5 * wpls; 13148 wpls6 = 6 * wpls; 13149 wpls7 = 7 * wpls; 13150 wpls8 = 8 * wpls; 13151 wpls9 = 9 * wpls; 13152 wpls10 = 10 * wpls; 13153 wpls11 = 11 * wpls; 13154 wpls12 = 12 * wpls; 13155 wpls13 = 13 * wpls; 13156 wpls14 = 14 * wpls; 13157 wpls15 = 15 * wpls; 13158 wpls16 = 16 * wpls; 13159 wpls17 = 17 * wpls; 13160 wpls18 = 18 * wpls; 13161 wpls19 = 19 * wpls; 13162 wpls20 = 20 * wpls; 13163 wpls21 = 21 * wpls; 13164 wpls22 = 22 * wpls; 13165 wpls23 = 23 * wpls; 13166 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13167 13168 for (i = 0; i < h; i++) { 13169 sptr = datas + i * wpls; 13170 dptr = datad + i * wpld; 13171 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13172 *dptr = (*(sptr - wpls23)) & 13173 (*(sptr - wpls22)) & 13174 (*(sptr - wpls21)) & 13175 (*(sptr - wpls20)) & 13176 (*(sptr - wpls19)) & 13177 (*(sptr - wpls18)) & 13178 (*(sptr - wpls17)) & 13179 (*(sptr - wpls16)) & 13180 (*(sptr - wpls15)) & 13181 (*(sptr - wpls14)) & 13182 (*(sptr - wpls13)) & 13183 (*(sptr - wpls12)) & 13184 (*(sptr - wpls11)) & 13185 (*(sptr - wpls10)) & 13186 (*(sptr - wpls9)) & 13187 (*(sptr - wpls8)) & 13188 (*(sptr - wpls7)) & 13189 (*(sptr - wpls6)) & 13190 (*(sptr - wpls5)) & 13191 (*(sptr - wpls4)) & 13192 (*(sptr - wpls3)) & 13193 (*(sptr - wpls2)) & 13194 (*(sptr - wpls)) & 13195 (*sptr) & 13196 (*(sptr + wpls)) & 13197 (*(sptr + wpls2)) & 13198 (*(sptr + wpls3)) & 13199 (*(sptr + wpls4)) & 13200 (*(sptr + wpls5)) & 13201 (*(sptr + wpls6)) & 13202 (*(sptr + wpls7)) & 13203 (*(sptr + wpls8)) & 13204 (*(sptr + wpls9)) & 13205 (*(sptr + wpls10)) & 13206 (*(sptr + wpls11)) & 13207 (*(sptr + wpls12)) & 13208 (*(sptr + wpls13)) & 13209 (*(sptr + wpls14)) & 13210 (*(sptr + wpls15)) & 13211 (*(sptr + wpls16)) & 13212 (*(sptr + wpls17)) & 13213 (*(sptr + wpls18)) & 13214 (*(sptr + wpls19)) & 13215 (*(sptr + wpls20)) & 13216 (*(sptr + wpls21)) & 13217 (*(sptr + wpls22)); 13218 } 13219 } 13220 } 13221 13222 static void 13223 fdilate_3_107(l_uint32 *datad, 13224 l_int32 w, 13225 l_int32 h, 13226 l_int32 wpld, 13227 l_uint32 *datas, 13228 l_int32 wpls) 13229 { 13230 l_int32 i; 13231 register l_int32 j, pwpls; 13232 register l_uint32 *sptr, *dptr; 13233 l_int32 wpls2, wpls3, wpls4; 13234 l_int32 wpls5, wpls6, wpls7, wpls8; 13235 l_int32 wpls9, wpls10, wpls11, wpls12; 13236 l_int32 wpls13, wpls14, wpls15, wpls16; 13237 l_int32 wpls17, wpls18, wpls19, wpls20; 13238 l_int32 wpls21, wpls22, wpls23; 13239 13240 wpls2 = 2 * wpls; 13241 wpls3 = 3 * wpls; 13242 wpls4 = 4 * wpls; 13243 wpls5 = 5 * wpls; 13244 wpls6 = 6 * wpls; 13245 wpls7 = 7 * wpls; 13246 wpls8 = 8 * wpls; 13247 wpls9 = 9 * wpls; 13248 wpls10 = 10 * wpls; 13249 wpls11 = 11 * wpls; 13250 wpls12 = 12 * wpls; 13251 wpls13 = 13 * wpls; 13252 wpls14 = 14 * wpls; 13253 wpls15 = 15 * wpls; 13254 wpls16 = 16 * wpls; 13255 wpls17 = 17 * wpls; 13256 wpls18 = 18 * wpls; 13257 wpls19 = 19 * wpls; 13258 wpls20 = 20 * wpls; 13259 wpls21 = 21 * wpls; 13260 wpls22 = 22 * wpls; 13261 wpls23 = 23 * wpls; 13262 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13263 13264 for (i = 0; i < h; i++) { 13265 sptr = datas + i * wpls; 13266 dptr = datad + i * wpld; 13267 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13268 *dptr = (*(sptr + wpls23)) | 13269 (*(sptr + wpls22)) | 13270 (*(sptr + wpls21)) | 13271 (*(sptr + wpls20)) | 13272 (*(sptr + wpls19)) | 13273 (*(sptr + wpls18)) | 13274 (*(sptr + wpls17)) | 13275 (*(sptr + wpls16)) | 13276 (*(sptr + wpls15)) | 13277 (*(sptr + wpls14)) | 13278 (*(sptr + wpls13)) | 13279 (*(sptr + wpls12)) | 13280 (*(sptr + wpls11)) | 13281 (*(sptr + wpls10)) | 13282 (*(sptr + wpls9)) | 13283 (*(sptr + wpls8)) | 13284 (*(sptr + wpls7)) | 13285 (*(sptr + wpls6)) | 13286 (*(sptr + wpls5)) | 13287 (*(sptr + wpls4)) | 13288 (*(sptr + wpls3)) | 13289 (*(sptr + wpls2)) | 13290 (*(sptr + wpls)) | 13291 (*sptr) | 13292 (*(sptr - wpls)) | 13293 (*(sptr - wpls2)) | 13294 (*(sptr - wpls3)) | 13295 (*(sptr - wpls4)) | 13296 (*(sptr - wpls5)) | 13297 (*(sptr - wpls6)) | 13298 (*(sptr - wpls7)) | 13299 (*(sptr - wpls8)) | 13300 (*(sptr - wpls9)) | 13301 (*(sptr - wpls10)) | 13302 (*(sptr - wpls11)) | 13303 (*(sptr - wpls12)) | 13304 (*(sptr - wpls13)) | 13305 (*(sptr - wpls14)) | 13306 (*(sptr - wpls15)) | 13307 (*(sptr - wpls16)) | 13308 (*(sptr - wpls17)) | 13309 (*(sptr - wpls18)) | 13310 (*(sptr - wpls19)) | 13311 (*(sptr - wpls20)) | 13312 (*(sptr - wpls21)) | 13313 (*(sptr - wpls22)) | 13314 (*(sptr - wpls23)); 13315 } 13316 } 13317 } 13318 13319 static void 13320 ferode_3_107(l_uint32 *datad, 13321 l_int32 w, 13322 l_int32 h, 13323 l_int32 wpld, 13324 l_uint32 *datas, 13325 l_int32 wpls) 13326 { 13327 l_int32 i; 13328 register l_int32 j, pwpls; 13329 register l_uint32 *sptr, *dptr; 13330 l_int32 wpls2, wpls3, wpls4; 13331 l_int32 wpls5, wpls6, wpls7, wpls8; 13332 l_int32 wpls9, wpls10, wpls11, wpls12; 13333 l_int32 wpls13, wpls14, wpls15, wpls16; 13334 l_int32 wpls17, wpls18, wpls19, wpls20; 13335 l_int32 wpls21, wpls22, wpls23; 13336 13337 wpls2 = 2 * wpls; 13338 wpls3 = 3 * wpls; 13339 wpls4 = 4 * wpls; 13340 wpls5 = 5 * wpls; 13341 wpls6 = 6 * wpls; 13342 wpls7 = 7 * wpls; 13343 wpls8 = 8 * wpls; 13344 wpls9 = 9 * wpls; 13345 wpls10 = 10 * wpls; 13346 wpls11 = 11 * wpls; 13347 wpls12 = 12 * wpls; 13348 wpls13 = 13 * wpls; 13349 wpls14 = 14 * wpls; 13350 wpls15 = 15 * wpls; 13351 wpls16 = 16 * wpls; 13352 wpls17 = 17 * wpls; 13353 wpls18 = 18 * wpls; 13354 wpls19 = 19 * wpls; 13355 wpls20 = 20 * wpls; 13356 wpls21 = 21 * wpls; 13357 wpls22 = 22 * wpls; 13358 wpls23 = 23 * wpls; 13359 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13360 13361 for (i = 0; i < h; i++) { 13362 sptr = datas + i * wpls; 13363 dptr = datad + i * wpld; 13364 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13365 *dptr = (*(sptr - wpls23)) & 13366 (*(sptr - wpls22)) & 13367 (*(sptr - wpls21)) & 13368 (*(sptr - wpls20)) & 13369 (*(sptr - wpls19)) & 13370 (*(sptr - wpls18)) & 13371 (*(sptr - wpls17)) & 13372 (*(sptr - wpls16)) & 13373 (*(sptr - wpls15)) & 13374 (*(sptr - wpls14)) & 13375 (*(sptr - wpls13)) & 13376 (*(sptr - wpls12)) & 13377 (*(sptr - wpls11)) & 13378 (*(sptr - wpls10)) & 13379 (*(sptr - wpls9)) & 13380 (*(sptr - wpls8)) & 13381 (*(sptr - wpls7)) & 13382 (*(sptr - wpls6)) & 13383 (*(sptr - wpls5)) & 13384 (*(sptr - wpls4)) & 13385 (*(sptr - wpls3)) & 13386 (*(sptr - wpls2)) & 13387 (*(sptr - wpls)) & 13388 (*sptr) & 13389 (*(sptr + wpls)) & 13390 (*(sptr + wpls2)) & 13391 (*(sptr + wpls3)) & 13392 (*(sptr + wpls4)) & 13393 (*(sptr + wpls5)) & 13394 (*(sptr + wpls6)) & 13395 (*(sptr + wpls7)) & 13396 (*(sptr + wpls8)) & 13397 (*(sptr + wpls9)) & 13398 (*(sptr + wpls10)) & 13399 (*(sptr + wpls11)) & 13400 (*(sptr + wpls12)) & 13401 (*(sptr + wpls13)) & 13402 (*(sptr + wpls14)) & 13403 (*(sptr + wpls15)) & 13404 (*(sptr + wpls16)) & 13405 (*(sptr + wpls17)) & 13406 (*(sptr + wpls18)) & 13407 (*(sptr + wpls19)) & 13408 (*(sptr + wpls20)) & 13409 (*(sptr + wpls21)) & 13410 (*(sptr + wpls22)) & 13411 (*(sptr + wpls23)); 13412 } 13413 } 13414 } 13415 13416 static void 13417 fdilate_3_108(l_uint32 *datad, 13418 l_int32 w, 13419 l_int32 h, 13420 l_int32 wpld, 13421 l_uint32 *datas, 13422 l_int32 wpls) 13423 { 13424 l_int32 i; 13425 register l_int32 j, pwpls; 13426 register l_uint32 *sptr, *dptr; 13427 l_int32 wpls2, wpls3, wpls4; 13428 l_int32 wpls5, wpls6, wpls7, wpls8; 13429 l_int32 wpls9, wpls10, wpls11, wpls12; 13430 l_int32 wpls13, wpls14, wpls15, wpls16; 13431 l_int32 wpls17, wpls18, wpls19, wpls20; 13432 l_int32 wpls21, wpls22, wpls23, wpls24; 13433 13434 wpls2 = 2 * wpls; 13435 wpls3 = 3 * wpls; 13436 wpls4 = 4 * wpls; 13437 wpls5 = 5 * wpls; 13438 wpls6 = 6 * wpls; 13439 wpls7 = 7 * wpls; 13440 wpls8 = 8 * wpls; 13441 wpls9 = 9 * wpls; 13442 wpls10 = 10 * wpls; 13443 wpls11 = 11 * wpls; 13444 wpls12 = 12 * wpls; 13445 wpls13 = 13 * wpls; 13446 wpls14 = 14 * wpls; 13447 wpls15 = 15 * wpls; 13448 wpls16 = 16 * wpls; 13449 wpls17 = 17 * wpls; 13450 wpls18 = 18 * wpls; 13451 wpls19 = 19 * wpls; 13452 wpls20 = 20 * wpls; 13453 wpls21 = 21 * wpls; 13454 wpls22 = 22 * wpls; 13455 wpls23 = 23 * wpls; 13456 wpls24 = 24 * wpls; 13457 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13458 13459 for (i = 0; i < h; i++) { 13460 sptr = datas + i * wpls; 13461 dptr = datad + i * wpld; 13462 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13463 *dptr = (*(sptr + wpls24)) | 13464 (*(sptr + wpls23)) | 13465 (*(sptr + wpls22)) | 13466 (*(sptr + wpls21)) | 13467 (*(sptr + wpls20)) | 13468 (*(sptr + wpls19)) | 13469 (*(sptr + wpls18)) | 13470 (*(sptr + wpls17)) | 13471 (*(sptr + wpls16)) | 13472 (*(sptr + wpls15)) | 13473 (*(sptr + wpls14)) | 13474 (*(sptr + wpls13)) | 13475 (*(sptr + wpls12)) | 13476 (*(sptr + wpls11)) | 13477 (*(sptr + wpls10)) | 13478 (*(sptr + wpls9)) | 13479 (*(sptr + wpls8)) | 13480 (*(sptr + wpls7)) | 13481 (*(sptr + wpls6)) | 13482 (*(sptr + wpls5)) | 13483 (*(sptr + wpls4)) | 13484 (*(sptr + wpls3)) | 13485 (*(sptr + wpls2)) | 13486 (*(sptr + wpls)) | 13487 (*sptr) | 13488 (*(sptr - wpls)) | 13489 (*(sptr - wpls2)) | 13490 (*(sptr - wpls3)) | 13491 (*(sptr - wpls4)) | 13492 (*(sptr - wpls5)) | 13493 (*(sptr - wpls6)) | 13494 (*(sptr - wpls7)) | 13495 (*(sptr - wpls8)) | 13496 (*(sptr - wpls9)) | 13497 (*(sptr - wpls10)) | 13498 (*(sptr - wpls11)) | 13499 (*(sptr - wpls12)) | 13500 (*(sptr - wpls13)) | 13501 (*(sptr - wpls14)) | 13502 (*(sptr - wpls15)) | 13503 (*(sptr - wpls16)) | 13504 (*(sptr - wpls17)) | 13505 (*(sptr - wpls18)) | 13506 (*(sptr - wpls19)) | 13507 (*(sptr - wpls20)) | 13508 (*(sptr - wpls21)) | 13509 (*(sptr - wpls22)) | 13510 (*(sptr - wpls23)); 13511 } 13512 } 13513 } 13514 13515 static void 13516 ferode_3_108(l_uint32 *datad, 13517 l_int32 w, 13518 l_int32 h, 13519 l_int32 wpld, 13520 l_uint32 *datas, 13521 l_int32 wpls) 13522 { 13523 l_int32 i; 13524 register l_int32 j, pwpls; 13525 register l_uint32 *sptr, *dptr; 13526 l_int32 wpls2, wpls3, wpls4; 13527 l_int32 wpls5, wpls6, wpls7, wpls8; 13528 l_int32 wpls9, wpls10, wpls11, wpls12; 13529 l_int32 wpls13, wpls14, wpls15, wpls16; 13530 l_int32 wpls17, wpls18, wpls19, wpls20; 13531 l_int32 wpls21, wpls22, wpls23, wpls24; 13532 13533 wpls2 = 2 * wpls; 13534 wpls3 = 3 * wpls; 13535 wpls4 = 4 * wpls; 13536 wpls5 = 5 * wpls; 13537 wpls6 = 6 * wpls; 13538 wpls7 = 7 * wpls; 13539 wpls8 = 8 * wpls; 13540 wpls9 = 9 * wpls; 13541 wpls10 = 10 * wpls; 13542 wpls11 = 11 * wpls; 13543 wpls12 = 12 * wpls; 13544 wpls13 = 13 * wpls; 13545 wpls14 = 14 * wpls; 13546 wpls15 = 15 * wpls; 13547 wpls16 = 16 * wpls; 13548 wpls17 = 17 * wpls; 13549 wpls18 = 18 * wpls; 13550 wpls19 = 19 * wpls; 13551 wpls20 = 20 * wpls; 13552 wpls21 = 21 * wpls; 13553 wpls22 = 22 * wpls; 13554 wpls23 = 23 * wpls; 13555 wpls24 = 24 * wpls; 13556 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13557 13558 for (i = 0; i < h; i++) { 13559 sptr = datas + i * wpls; 13560 dptr = datad + i * wpld; 13561 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13562 *dptr = (*(sptr - wpls24)) & 13563 (*(sptr - wpls23)) & 13564 (*(sptr - wpls22)) & 13565 (*(sptr - wpls21)) & 13566 (*(sptr - wpls20)) & 13567 (*(sptr - wpls19)) & 13568 (*(sptr - wpls18)) & 13569 (*(sptr - wpls17)) & 13570 (*(sptr - wpls16)) & 13571 (*(sptr - wpls15)) & 13572 (*(sptr - wpls14)) & 13573 (*(sptr - wpls13)) & 13574 (*(sptr - wpls12)) & 13575 (*(sptr - wpls11)) & 13576 (*(sptr - wpls10)) & 13577 (*(sptr - wpls9)) & 13578 (*(sptr - wpls8)) & 13579 (*(sptr - wpls7)) & 13580 (*(sptr - wpls6)) & 13581 (*(sptr - wpls5)) & 13582 (*(sptr - wpls4)) & 13583 (*(sptr - wpls3)) & 13584 (*(sptr - wpls2)) & 13585 (*(sptr - wpls)) & 13586 (*sptr) & 13587 (*(sptr + wpls)) & 13588 (*(sptr + wpls2)) & 13589 (*(sptr + wpls3)) & 13590 (*(sptr + wpls4)) & 13591 (*(sptr + wpls5)) & 13592 (*(sptr + wpls6)) & 13593 (*(sptr + wpls7)) & 13594 (*(sptr + wpls8)) & 13595 (*(sptr + wpls9)) & 13596 (*(sptr + wpls10)) & 13597 (*(sptr + wpls11)) & 13598 (*(sptr + wpls12)) & 13599 (*(sptr + wpls13)) & 13600 (*(sptr + wpls14)) & 13601 (*(sptr + wpls15)) & 13602 (*(sptr + wpls16)) & 13603 (*(sptr + wpls17)) & 13604 (*(sptr + wpls18)) & 13605 (*(sptr + wpls19)) & 13606 (*(sptr + wpls20)) & 13607 (*(sptr + wpls21)) & 13608 (*(sptr + wpls22)) & 13609 (*(sptr + wpls23)); 13610 } 13611 } 13612 } 13613 13614 static void 13615 fdilate_3_109(l_uint32 *datad, 13616 l_int32 w, 13617 l_int32 h, 13618 l_int32 wpld, 13619 l_uint32 *datas, 13620 l_int32 wpls) 13621 { 13622 l_int32 i; 13623 register l_int32 j, pwpls; 13624 register l_uint32 *sptr, *dptr; 13625 l_int32 wpls2, wpls3, wpls4; 13626 l_int32 wpls5, wpls6, wpls7, wpls8; 13627 l_int32 wpls9, wpls10, wpls11, wpls12; 13628 l_int32 wpls13, wpls14, wpls15, wpls16; 13629 l_int32 wpls17, wpls18, wpls19, wpls20; 13630 l_int32 wpls21, wpls22, wpls23, wpls24; 13631 13632 wpls2 = 2 * wpls; 13633 wpls3 = 3 * wpls; 13634 wpls4 = 4 * wpls; 13635 wpls5 = 5 * wpls; 13636 wpls6 = 6 * wpls; 13637 wpls7 = 7 * wpls; 13638 wpls8 = 8 * wpls; 13639 wpls9 = 9 * wpls; 13640 wpls10 = 10 * wpls; 13641 wpls11 = 11 * wpls; 13642 wpls12 = 12 * wpls; 13643 wpls13 = 13 * wpls; 13644 wpls14 = 14 * wpls; 13645 wpls15 = 15 * wpls; 13646 wpls16 = 16 * wpls; 13647 wpls17 = 17 * wpls; 13648 wpls18 = 18 * wpls; 13649 wpls19 = 19 * wpls; 13650 wpls20 = 20 * wpls; 13651 wpls21 = 21 * wpls; 13652 wpls22 = 22 * wpls; 13653 wpls23 = 23 * wpls; 13654 wpls24 = 24 * wpls; 13655 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13656 13657 for (i = 0; i < h; i++) { 13658 sptr = datas + i * wpls; 13659 dptr = datad + i * wpld; 13660 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13661 *dptr = (*(sptr + wpls24)) | 13662 (*(sptr + wpls23)) | 13663 (*(sptr + wpls22)) | 13664 (*(sptr + wpls21)) | 13665 (*(sptr + wpls20)) | 13666 (*(sptr + wpls19)) | 13667 (*(sptr + wpls18)) | 13668 (*(sptr + wpls17)) | 13669 (*(sptr + wpls16)) | 13670 (*(sptr + wpls15)) | 13671 (*(sptr + wpls14)) | 13672 (*(sptr + wpls13)) | 13673 (*(sptr + wpls12)) | 13674 (*(sptr + wpls11)) | 13675 (*(sptr + wpls10)) | 13676 (*(sptr + wpls9)) | 13677 (*(sptr + wpls8)) | 13678 (*(sptr + wpls7)) | 13679 (*(sptr + wpls6)) | 13680 (*(sptr + wpls5)) | 13681 (*(sptr + wpls4)) | 13682 (*(sptr + wpls3)) | 13683 (*(sptr + wpls2)) | 13684 (*(sptr + wpls)) | 13685 (*sptr) | 13686 (*(sptr - wpls)) | 13687 (*(sptr - wpls2)) | 13688 (*(sptr - wpls3)) | 13689 (*(sptr - wpls4)) | 13690 (*(sptr - wpls5)) | 13691 (*(sptr - wpls6)) | 13692 (*(sptr - wpls7)) | 13693 (*(sptr - wpls8)) | 13694 (*(sptr - wpls9)) | 13695 (*(sptr - wpls10)) | 13696 (*(sptr - wpls11)) | 13697 (*(sptr - wpls12)) | 13698 (*(sptr - wpls13)) | 13699 (*(sptr - wpls14)) | 13700 (*(sptr - wpls15)) | 13701 (*(sptr - wpls16)) | 13702 (*(sptr - wpls17)) | 13703 (*(sptr - wpls18)) | 13704 (*(sptr - wpls19)) | 13705 (*(sptr - wpls20)) | 13706 (*(sptr - wpls21)) | 13707 (*(sptr - wpls22)) | 13708 (*(sptr - wpls23)) | 13709 (*(sptr - wpls24)); 13710 } 13711 } 13712 } 13713 13714 static void 13715 ferode_3_109(l_uint32 *datad, 13716 l_int32 w, 13717 l_int32 h, 13718 l_int32 wpld, 13719 l_uint32 *datas, 13720 l_int32 wpls) 13721 { 13722 l_int32 i; 13723 register l_int32 j, pwpls; 13724 register l_uint32 *sptr, *dptr; 13725 l_int32 wpls2, wpls3, wpls4; 13726 l_int32 wpls5, wpls6, wpls7, wpls8; 13727 l_int32 wpls9, wpls10, wpls11, wpls12; 13728 l_int32 wpls13, wpls14, wpls15, wpls16; 13729 l_int32 wpls17, wpls18, wpls19, wpls20; 13730 l_int32 wpls21, wpls22, wpls23, wpls24; 13731 13732 wpls2 = 2 * wpls; 13733 wpls3 = 3 * wpls; 13734 wpls4 = 4 * wpls; 13735 wpls5 = 5 * wpls; 13736 wpls6 = 6 * wpls; 13737 wpls7 = 7 * wpls; 13738 wpls8 = 8 * wpls; 13739 wpls9 = 9 * wpls; 13740 wpls10 = 10 * wpls; 13741 wpls11 = 11 * wpls; 13742 wpls12 = 12 * wpls; 13743 wpls13 = 13 * wpls; 13744 wpls14 = 14 * wpls; 13745 wpls15 = 15 * wpls; 13746 wpls16 = 16 * wpls; 13747 wpls17 = 17 * wpls; 13748 wpls18 = 18 * wpls; 13749 wpls19 = 19 * wpls; 13750 wpls20 = 20 * wpls; 13751 wpls21 = 21 * wpls; 13752 wpls22 = 22 * wpls; 13753 wpls23 = 23 * wpls; 13754 wpls24 = 24 * wpls; 13755 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13756 13757 for (i = 0; i < h; i++) { 13758 sptr = datas + i * wpls; 13759 dptr = datad + i * wpld; 13760 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13761 *dptr = (*(sptr - wpls24)) & 13762 (*(sptr - wpls23)) & 13763 (*(sptr - wpls22)) & 13764 (*(sptr - wpls21)) & 13765 (*(sptr - wpls20)) & 13766 (*(sptr - wpls19)) & 13767 (*(sptr - wpls18)) & 13768 (*(sptr - wpls17)) & 13769 (*(sptr - wpls16)) & 13770 (*(sptr - wpls15)) & 13771 (*(sptr - wpls14)) & 13772 (*(sptr - wpls13)) & 13773 (*(sptr - wpls12)) & 13774 (*(sptr - wpls11)) & 13775 (*(sptr - wpls10)) & 13776 (*(sptr - wpls9)) & 13777 (*(sptr - wpls8)) & 13778 (*(sptr - wpls7)) & 13779 (*(sptr - wpls6)) & 13780 (*(sptr - wpls5)) & 13781 (*(sptr - wpls4)) & 13782 (*(sptr - wpls3)) & 13783 (*(sptr - wpls2)) & 13784 (*(sptr - wpls)) & 13785 (*sptr) & 13786 (*(sptr + wpls)) & 13787 (*(sptr + wpls2)) & 13788 (*(sptr + wpls3)) & 13789 (*(sptr + wpls4)) & 13790 (*(sptr + wpls5)) & 13791 (*(sptr + wpls6)) & 13792 (*(sptr + wpls7)) & 13793 (*(sptr + wpls8)) & 13794 (*(sptr + wpls9)) & 13795 (*(sptr + wpls10)) & 13796 (*(sptr + wpls11)) & 13797 (*(sptr + wpls12)) & 13798 (*(sptr + wpls13)) & 13799 (*(sptr + wpls14)) & 13800 (*(sptr + wpls15)) & 13801 (*(sptr + wpls16)) & 13802 (*(sptr + wpls17)) & 13803 (*(sptr + wpls18)) & 13804 (*(sptr + wpls19)) & 13805 (*(sptr + wpls20)) & 13806 (*(sptr + wpls21)) & 13807 (*(sptr + wpls22)) & 13808 (*(sptr + wpls23)) & 13809 (*(sptr + wpls24)); 13810 } 13811 } 13812 } 13813 13814 static void 13815 fdilate_3_110(l_uint32 *datad, 13816 l_int32 w, 13817 l_int32 h, 13818 l_int32 wpld, 13819 l_uint32 *datas, 13820 l_int32 wpls) 13821 { 13822 l_int32 i; 13823 register l_int32 j, pwpls; 13824 register l_uint32 *sptr, *dptr; 13825 l_int32 wpls2, wpls3, wpls4; 13826 l_int32 wpls5, wpls6, wpls7, wpls8; 13827 l_int32 wpls9, wpls10, wpls11, wpls12; 13828 l_int32 wpls13, wpls14, wpls15, wpls16; 13829 l_int32 wpls17, wpls18, wpls19, wpls20; 13830 l_int32 wpls21, wpls22, wpls23, wpls24; 13831 l_int32 wpls25; 13832 13833 wpls2 = 2 * wpls; 13834 wpls3 = 3 * wpls; 13835 wpls4 = 4 * wpls; 13836 wpls5 = 5 * wpls; 13837 wpls6 = 6 * wpls; 13838 wpls7 = 7 * wpls; 13839 wpls8 = 8 * wpls; 13840 wpls9 = 9 * wpls; 13841 wpls10 = 10 * wpls; 13842 wpls11 = 11 * wpls; 13843 wpls12 = 12 * wpls; 13844 wpls13 = 13 * wpls; 13845 wpls14 = 14 * wpls; 13846 wpls15 = 15 * wpls; 13847 wpls16 = 16 * wpls; 13848 wpls17 = 17 * wpls; 13849 wpls18 = 18 * wpls; 13850 wpls19 = 19 * wpls; 13851 wpls20 = 20 * wpls; 13852 wpls21 = 21 * wpls; 13853 wpls22 = 22 * wpls; 13854 wpls23 = 23 * wpls; 13855 wpls24 = 24 * wpls; 13856 wpls25 = 25 * wpls; 13857 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13858 13859 for (i = 0; i < h; i++) { 13860 sptr = datas + i * wpls; 13861 dptr = datad + i * wpld; 13862 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13863 *dptr = (*(sptr + wpls25)) | 13864 (*(sptr + wpls24)) | 13865 (*(sptr + wpls23)) | 13866 (*(sptr + wpls22)) | 13867 (*(sptr + wpls21)) | 13868 (*(sptr + wpls20)) | 13869 (*(sptr + wpls19)) | 13870 (*(sptr + wpls18)) | 13871 (*(sptr + wpls17)) | 13872 (*(sptr + wpls16)) | 13873 (*(sptr + wpls15)) | 13874 (*(sptr + wpls14)) | 13875 (*(sptr + wpls13)) | 13876 (*(sptr + wpls12)) | 13877 (*(sptr + wpls11)) | 13878 (*(sptr + wpls10)) | 13879 (*(sptr + wpls9)) | 13880 (*(sptr + wpls8)) | 13881 (*(sptr + wpls7)) | 13882 (*(sptr + wpls6)) | 13883 (*(sptr + wpls5)) | 13884 (*(sptr + wpls4)) | 13885 (*(sptr + wpls3)) | 13886 (*(sptr + wpls2)) | 13887 (*(sptr + wpls)) | 13888 (*sptr) | 13889 (*(sptr - wpls)) | 13890 (*(sptr - wpls2)) | 13891 (*(sptr - wpls3)) | 13892 (*(sptr - wpls4)) | 13893 (*(sptr - wpls5)) | 13894 (*(sptr - wpls6)) | 13895 (*(sptr - wpls7)) | 13896 (*(sptr - wpls8)) | 13897 (*(sptr - wpls9)) | 13898 (*(sptr - wpls10)) | 13899 (*(sptr - wpls11)) | 13900 (*(sptr - wpls12)) | 13901 (*(sptr - wpls13)) | 13902 (*(sptr - wpls14)) | 13903 (*(sptr - wpls15)) | 13904 (*(sptr - wpls16)) | 13905 (*(sptr - wpls17)) | 13906 (*(sptr - wpls18)) | 13907 (*(sptr - wpls19)) | 13908 (*(sptr - wpls20)) | 13909 (*(sptr - wpls21)) | 13910 (*(sptr - wpls22)) | 13911 (*(sptr - wpls23)) | 13912 (*(sptr - wpls24)); 13913 } 13914 } 13915 } 13916 13917 static void 13918 ferode_3_110(l_uint32 *datad, 13919 l_int32 w, 13920 l_int32 h, 13921 l_int32 wpld, 13922 l_uint32 *datas, 13923 l_int32 wpls) 13924 { 13925 l_int32 i; 13926 register l_int32 j, pwpls; 13927 register l_uint32 *sptr, *dptr; 13928 l_int32 wpls2, wpls3, wpls4; 13929 l_int32 wpls5, wpls6, wpls7, wpls8; 13930 l_int32 wpls9, wpls10, wpls11, wpls12; 13931 l_int32 wpls13, wpls14, wpls15, wpls16; 13932 l_int32 wpls17, wpls18, wpls19, wpls20; 13933 l_int32 wpls21, wpls22, wpls23, wpls24; 13934 l_int32 wpls25; 13935 13936 wpls2 = 2 * wpls; 13937 wpls3 = 3 * wpls; 13938 wpls4 = 4 * wpls; 13939 wpls5 = 5 * wpls; 13940 wpls6 = 6 * wpls; 13941 wpls7 = 7 * wpls; 13942 wpls8 = 8 * wpls; 13943 wpls9 = 9 * wpls; 13944 wpls10 = 10 * wpls; 13945 wpls11 = 11 * wpls; 13946 wpls12 = 12 * wpls; 13947 wpls13 = 13 * wpls; 13948 wpls14 = 14 * wpls; 13949 wpls15 = 15 * wpls; 13950 wpls16 = 16 * wpls; 13951 wpls17 = 17 * wpls; 13952 wpls18 = 18 * wpls; 13953 wpls19 = 19 * wpls; 13954 wpls20 = 20 * wpls; 13955 wpls21 = 21 * wpls; 13956 wpls22 = 22 * wpls; 13957 wpls23 = 23 * wpls; 13958 wpls24 = 24 * wpls; 13959 wpls25 = 25 * wpls; 13960 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 13961 13962 for (i = 0; i < h; i++) { 13963 sptr = datas + i * wpls; 13964 dptr = datad + i * wpld; 13965 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 13966 *dptr = (*(sptr - wpls25)) & 13967 (*(sptr - wpls24)) & 13968 (*(sptr - wpls23)) & 13969 (*(sptr - wpls22)) & 13970 (*(sptr - wpls21)) & 13971 (*(sptr - wpls20)) & 13972 (*(sptr - wpls19)) & 13973 (*(sptr - wpls18)) & 13974 (*(sptr - wpls17)) & 13975 (*(sptr - wpls16)) & 13976 (*(sptr - wpls15)) & 13977 (*(sptr - wpls14)) & 13978 (*(sptr - wpls13)) & 13979 (*(sptr - wpls12)) & 13980 (*(sptr - wpls11)) & 13981 (*(sptr - wpls10)) & 13982 (*(sptr - wpls9)) & 13983 (*(sptr - wpls8)) & 13984 (*(sptr - wpls7)) & 13985 (*(sptr - wpls6)) & 13986 (*(sptr - wpls5)) & 13987 (*(sptr - wpls4)) & 13988 (*(sptr - wpls3)) & 13989 (*(sptr - wpls2)) & 13990 (*(sptr - wpls)) & 13991 (*sptr) & 13992 (*(sptr + wpls)) & 13993 (*(sptr + wpls2)) & 13994 (*(sptr + wpls3)) & 13995 (*(sptr + wpls4)) & 13996 (*(sptr + wpls5)) & 13997 (*(sptr + wpls6)) & 13998 (*(sptr + wpls7)) & 13999 (*(sptr + wpls8)) & 14000 (*(sptr + wpls9)) & 14001 (*(sptr + wpls10)) & 14002 (*(sptr + wpls11)) & 14003 (*(sptr + wpls12)) & 14004 (*(sptr + wpls13)) & 14005 (*(sptr + wpls14)) & 14006 (*(sptr + wpls15)) & 14007 (*(sptr + wpls16)) & 14008 (*(sptr + wpls17)) & 14009 (*(sptr + wpls18)) & 14010 (*(sptr + wpls19)) & 14011 (*(sptr + wpls20)) & 14012 (*(sptr + wpls21)) & 14013 (*(sptr + wpls22)) & 14014 (*(sptr + wpls23)) & 14015 (*(sptr + wpls24)); 14016 } 14017 } 14018 } 14019 14020 static void 14021 fdilate_3_111(l_uint32 *datad, 14022 l_int32 w, 14023 l_int32 h, 14024 l_int32 wpld, 14025 l_uint32 *datas, 14026 l_int32 wpls) 14027 { 14028 l_int32 i; 14029 register l_int32 j, pwpls; 14030 register l_uint32 *sptr, *dptr; 14031 l_int32 wpls2, wpls3, wpls4; 14032 l_int32 wpls5, wpls6, wpls7, wpls8; 14033 l_int32 wpls9, wpls10, wpls11, wpls12; 14034 l_int32 wpls13, wpls14, wpls15, wpls16; 14035 l_int32 wpls17, wpls18, wpls19, wpls20; 14036 l_int32 wpls21, wpls22, wpls23, wpls24; 14037 l_int32 wpls25; 14038 14039 wpls2 = 2 * wpls; 14040 wpls3 = 3 * wpls; 14041 wpls4 = 4 * wpls; 14042 wpls5 = 5 * wpls; 14043 wpls6 = 6 * wpls; 14044 wpls7 = 7 * wpls; 14045 wpls8 = 8 * wpls; 14046 wpls9 = 9 * wpls; 14047 wpls10 = 10 * wpls; 14048 wpls11 = 11 * wpls; 14049 wpls12 = 12 * wpls; 14050 wpls13 = 13 * wpls; 14051 wpls14 = 14 * wpls; 14052 wpls15 = 15 * wpls; 14053 wpls16 = 16 * wpls; 14054 wpls17 = 17 * wpls; 14055 wpls18 = 18 * wpls; 14056 wpls19 = 19 * wpls; 14057 wpls20 = 20 * wpls; 14058 wpls21 = 21 * wpls; 14059 wpls22 = 22 * wpls; 14060 wpls23 = 23 * wpls; 14061 wpls24 = 24 * wpls; 14062 wpls25 = 25 * wpls; 14063 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14064 14065 for (i = 0; i < h; i++) { 14066 sptr = datas + i * wpls; 14067 dptr = datad + i * wpld; 14068 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14069 *dptr = (*(sptr + wpls25)) | 14070 (*(sptr + wpls24)) | 14071 (*(sptr + wpls23)) | 14072 (*(sptr + wpls22)) | 14073 (*(sptr + wpls21)) | 14074 (*(sptr + wpls20)) | 14075 (*(sptr + wpls19)) | 14076 (*(sptr + wpls18)) | 14077 (*(sptr + wpls17)) | 14078 (*(sptr + wpls16)) | 14079 (*(sptr + wpls15)) | 14080 (*(sptr + wpls14)) | 14081 (*(sptr + wpls13)) | 14082 (*(sptr + wpls12)) | 14083 (*(sptr + wpls11)) | 14084 (*(sptr + wpls10)) | 14085 (*(sptr + wpls9)) | 14086 (*(sptr + wpls8)) | 14087 (*(sptr + wpls7)) | 14088 (*(sptr + wpls6)) | 14089 (*(sptr + wpls5)) | 14090 (*(sptr + wpls4)) | 14091 (*(sptr + wpls3)) | 14092 (*(sptr + wpls2)) | 14093 (*(sptr + wpls)) | 14094 (*sptr) | 14095 (*(sptr - wpls)) | 14096 (*(sptr - wpls2)) | 14097 (*(sptr - wpls3)) | 14098 (*(sptr - wpls4)) | 14099 (*(sptr - wpls5)) | 14100 (*(sptr - wpls6)) | 14101 (*(sptr - wpls7)) | 14102 (*(sptr - wpls8)) | 14103 (*(sptr - wpls9)) | 14104 (*(sptr - wpls10)) | 14105 (*(sptr - wpls11)) | 14106 (*(sptr - wpls12)) | 14107 (*(sptr - wpls13)) | 14108 (*(sptr - wpls14)) | 14109 (*(sptr - wpls15)) | 14110 (*(sptr - wpls16)) | 14111 (*(sptr - wpls17)) | 14112 (*(sptr - wpls18)) | 14113 (*(sptr - wpls19)) | 14114 (*(sptr - wpls20)) | 14115 (*(sptr - wpls21)) | 14116 (*(sptr - wpls22)) | 14117 (*(sptr - wpls23)) | 14118 (*(sptr - wpls24)) | 14119 (*(sptr - wpls25)); 14120 } 14121 } 14122 } 14123 14124 static void 14125 ferode_3_111(l_uint32 *datad, 14126 l_int32 w, 14127 l_int32 h, 14128 l_int32 wpld, 14129 l_uint32 *datas, 14130 l_int32 wpls) 14131 { 14132 l_int32 i; 14133 register l_int32 j, pwpls; 14134 register l_uint32 *sptr, *dptr; 14135 l_int32 wpls2, wpls3, wpls4; 14136 l_int32 wpls5, wpls6, wpls7, wpls8; 14137 l_int32 wpls9, wpls10, wpls11, wpls12; 14138 l_int32 wpls13, wpls14, wpls15, wpls16; 14139 l_int32 wpls17, wpls18, wpls19, wpls20; 14140 l_int32 wpls21, wpls22, wpls23, wpls24; 14141 l_int32 wpls25; 14142 14143 wpls2 = 2 * wpls; 14144 wpls3 = 3 * wpls; 14145 wpls4 = 4 * wpls; 14146 wpls5 = 5 * wpls; 14147 wpls6 = 6 * wpls; 14148 wpls7 = 7 * wpls; 14149 wpls8 = 8 * wpls; 14150 wpls9 = 9 * wpls; 14151 wpls10 = 10 * wpls; 14152 wpls11 = 11 * wpls; 14153 wpls12 = 12 * wpls; 14154 wpls13 = 13 * wpls; 14155 wpls14 = 14 * wpls; 14156 wpls15 = 15 * wpls; 14157 wpls16 = 16 * wpls; 14158 wpls17 = 17 * wpls; 14159 wpls18 = 18 * wpls; 14160 wpls19 = 19 * wpls; 14161 wpls20 = 20 * wpls; 14162 wpls21 = 21 * wpls; 14163 wpls22 = 22 * wpls; 14164 wpls23 = 23 * wpls; 14165 wpls24 = 24 * wpls; 14166 wpls25 = 25 * wpls; 14167 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14168 14169 for (i = 0; i < h; i++) { 14170 sptr = datas + i * wpls; 14171 dptr = datad + i * wpld; 14172 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14173 *dptr = (*(sptr - wpls25)) & 14174 (*(sptr - wpls24)) & 14175 (*(sptr - wpls23)) & 14176 (*(sptr - wpls22)) & 14177 (*(sptr - wpls21)) & 14178 (*(sptr - wpls20)) & 14179 (*(sptr - wpls19)) & 14180 (*(sptr - wpls18)) & 14181 (*(sptr - wpls17)) & 14182 (*(sptr - wpls16)) & 14183 (*(sptr - wpls15)) & 14184 (*(sptr - wpls14)) & 14185 (*(sptr - wpls13)) & 14186 (*(sptr - wpls12)) & 14187 (*(sptr - wpls11)) & 14188 (*(sptr - wpls10)) & 14189 (*(sptr - wpls9)) & 14190 (*(sptr - wpls8)) & 14191 (*(sptr - wpls7)) & 14192 (*(sptr - wpls6)) & 14193 (*(sptr - wpls5)) & 14194 (*(sptr - wpls4)) & 14195 (*(sptr - wpls3)) & 14196 (*(sptr - wpls2)) & 14197 (*(sptr - wpls)) & 14198 (*sptr) & 14199 (*(sptr + wpls)) & 14200 (*(sptr + wpls2)) & 14201 (*(sptr + wpls3)) & 14202 (*(sptr + wpls4)) & 14203 (*(sptr + wpls5)) & 14204 (*(sptr + wpls6)) & 14205 (*(sptr + wpls7)) & 14206 (*(sptr + wpls8)) & 14207 (*(sptr + wpls9)) & 14208 (*(sptr + wpls10)) & 14209 (*(sptr + wpls11)) & 14210 (*(sptr + wpls12)) & 14211 (*(sptr + wpls13)) & 14212 (*(sptr + wpls14)) & 14213 (*(sptr + wpls15)) & 14214 (*(sptr + wpls16)) & 14215 (*(sptr + wpls17)) & 14216 (*(sptr + wpls18)) & 14217 (*(sptr + wpls19)) & 14218 (*(sptr + wpls20)) & 14219 (*(sptr + wpls21)) & 14220 (*(sptr + wpls22)) & 14221 (*(sptr + wpls23)) & 14222 (*(sptr + wpls24)) & 14223 (*(sptr + wpls25)); 14224 } 14225 } 14226 } 14227 14228 static void 14229 fdilate_3_112(l_uint32 *datad, 14230 l_int32 w, 14231 l_int32 h, 14232 l_int32 wpld, 14233 l_uint32 *datas, 14234 l_int32 wpls) 14235 { 14236 l_int32 i; 14237 register l_int32 j, pwpls; 14238 register l_uint32 *sptr, *dptr; 14239 l_int32 wpls2, wpls3, wpls4; 14240 l_int32 wpls5, wpls6, wpls7, wpls8; 14241 l_int32 wpls9, wpls10, wpls11, wpls12; 14242 l_int32 wpls13, wpls14, wpls15, wpls16; 14243 l_int32 wpls17, wpls18, wpls19, wpls20; 14244 l_int32 wpls21, wpls22, wpls23, wpls24; 14245 l_int32 wpls25, wpls26; 14246 14247 wpls2 = 2 * wpls; 14248 wpls3 = 3 * wpls; 14249 wpls4 = 4 * wpls; 14250 wpls5 = 5 * wpls; 14251 wpls6 = 6 * wpls; 14252 wpls7 = 7 * wpls; 14253 wpls8 = 8 * wpls; 14254 wpls9 = 9 * wpls; 14255 wpls10 = 10 * wpls; 14256 wpls11 = 11 * wpls; 14257 wpls12 = 12 * wpls; 14258 wpls13 = 13 * wpls; 14259 wpls14 = 14 * wpls; 14260 wpls15 = 15 * wpls; 14261 wpls16 = 16 * wpls; 14262 wpls17 = 17 * wpls; 14263 wpls18 = 18 * wpls; 14264 wpls19 = 19 * wpls; 14265 wpls20 = 20 * wpls; 14266 wpls21 = 21 * wpls; 14267 wpls22 = 22 * wpls; 14268 wpls23 = 23 * wpls; 14269 wpls24 = 24 * wpls; 14270 wpls25 = 25 * wpls; 14271 wpls26 = 26 * wpls; 14272 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14273 14274 for (i = 0; i < h; i++) { 14275 sptr = datas + i * wpls; 14276 dptr = datad + i * wpld; 14277 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14278 *dptr = (*(sptr + wpls26)) | 14279 (*(sptr + wpls25)) | 14280 (*(sptr + wpls24)) | 14281 (*(sptr + wpls23)) | 14282 (*(sptr + wpls22)) | 14283 (*(sptr + wpls21)) | 14284 (*(sptr + wpls20)) | 14285 (*(sptr + wpls19)) | 14286 (*(sptr + wpls18)) | 14287 (*(sptr + wpls17)) | 14288 (*(sptr + wpls16)) | 14289 (*(sptr + wpls15)) | 14290 (*(sptr + wpls14)) | 14291 (*(sptr + wpls13)) | 14292 (*(sptr + wpls12)) | 14293 (*(sptr + wpls11)) | 14294 (*(sptr + wpls10)) | 14295 (*(sptr + wpls9)) | 14296 (*(sptr + wpls8)) | 14297 (*(sptr + wpls7)) | 14298 (*(sptr + wpls6)) | 14299 (*(sptr + wpls5)) | 14300 (*(sptr + wpls4)) | 14301 (*(sptr + wpls3)) | 14302 (*(sptr + wpls2)) | 14303 (*(sptr + wpls)) | 14304 (*sptr) | 14305 (*(sptr - wpls)) | 14306 (*(sptr - wpls2)) | 14307 (*(sptr - wpls3)) | 14308 (*(sptr - wpls4)) | 14309 (*(sptr - wpls5)) | 14310 (*(sptr - wpls6)) | 14311 (*(sptr - wpls7)) | 14312 (*(sptr - wpls8)) | 14313 (*(sptr - wpls9)) | 14314 (*(sptr - wpls10)) | 14315 (*(sptr - wpls11)) | 14316 (*(sptr - wpls12)) | 14317 (*(sptr - wpls13)) | 14318 (*(sptr - wpls14)) | 14319 (*(sptr - wpls15)) | 14320 (*(sptr - wpls16)) | 14321 (*(sptr - wpls17)) | 14322 (*(sptr - wpls18)) | 14323 (*(sptr - wpls19)) | 14324 (*(sptr - wpls20)) | 14325 (*(sptr - wpls21)) | 14326 (*(sptr - wpls22)) | 14327 (*(sptr - wpls23)) | 14328 (*(sptr - wpls24)) | 14329 (*(sptr - wpls25)); 14330 } 14331 } 14332 } 14333 14334 static void 14335 ferode_3_112(l_uint32 *datad, 14336 l_int32 w, 14337 l_int32 h, 14338 l_int32 wpld, 14339 l_uint32 *datas, 14340 l_int32 wpls) 14341 { 14342 l_int32 i; 14343 register l_int32 j, pwpls; 14344 register l_uint32 *sptr, *dptr; 14345 l_int32 wpls2, wpls3, wpls4; 14346 l_int32 wpls5, wpls6, wpls7, wpls8; 14347 l_int32 wpls9, wpls10, wpls11, wpls12; 14348 l_int32 wpls13, wpls14, wpls15, wpls16; 14349 l_int32 wpls17, wpls18, wpls19, wpls20; 14350 l_int32 wpls21, wpls22, wpls23, wpls24; 14351 l_int32 wpls25, wpls26; 14352 14353 wpls2 = 2 * wpls; 14354 wpls3 = 3 * wpls; 14355 wpls4 = 4 * wpls; 14356 wpls5 = 5 * wpls; 14357 wpls6 = 6 * wpls; 14358 wpls7 = 7 * wpls; 14359 wpls8 = 8 * wpls; 14360 wpls9 = 9 * wpls; 14361 wpls10 = 10 * wpls; 14362 wpls11 = 11 * wpls; 14363 wpls12 = 12 * wpls; 14364 wpls13 = 13 * wpls; 14365 wpls14 = 14 * wpls; 14366 wpls15 = 15 * wpls; 14367 wpls16 = 16 * wpls; 14368 wpls17 = 17 * wpls; 14369 wpls18 = 18 * wpls; 14370 wpls19 = 19 * wpls; 14371 wpls20 = 20 * wpls; 14372 wpls21 = 21 * wpls; 14373 wpls22 = 22 * wpls; 14374 wpls23 = 23 * wpls; 14375 wpls24 = 24 * wpls; 14376 wpls25 = 25 * wpls; 14377 wpls26 = 26 * wpls; 14378 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14379 14380 for (i = 0; i < h; i++) { 14381 sptr = datas + i * wpls; 14382 dptr = datad + i * wpld; 14383 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14384 *dptr = (*(sptr - wpls26)) & 14385 (*(sptr - wpls25)) & 14386 (*(sptr - wpls24)) & 14387 (*(sptr - wpls23)) & 14388 (*(sptr - wpls22)) & 14389 (*(sptr - wpls21)) & 14390 (*(sptr - wpls20)) & 14391 (*(sptr - wpls19)) & 14392 (*(sptr - wpls18)) & 14393 (*(sptr - wpls17)) & 14394 (*(sptr - wpls16)) & 14395 (*(sptr - wpls15)) & 14396 (*(sptr - wpls14)) & 14397 (*(sptr - wpls13)) & 14398 (*(sptr - wpls12)) & 14399 (*(sptr - wpls11)) & 14400 (*(sptr - wpls10)) & 14401 (*(sptr - wpls9)) & 14402 (*(sptr - wpls8)) & 14403 (*(sptr - wpls7)) & 14404 (*(sptr - wpls6)) & 14405 (*(sptr - wpls5)) & 14406 (*(sptr - wpls4)) & 14407 (*(sptr - wpls3)) & 14408 (*(sptr - wpls2)) & 14409 (*(sptr - wpls)) & 14410 (*sptr) & 14411 (*(sptr + wpls)) & 14412 (*(sptr + wpls2)) & 14413 (*(sptr + wpls3)) & 14414 (*(sptr + wpls4)) & 14415 (*(sptr + wpls5)) & 14416 (*(sptr + wpls6)) & 14417 (*(sptr + wpls7)) & 14418 (*(sptr + wpls8)) & 14419 (*(sptr + wpls9)) & 14420 (*(sptr + wpls10)) & 14421 (*(sptr + wpls11)) & 14422 (*(sptr + wpls12)) & 14423 (*(sptr + wpls13)) & 14424 (*(sptr + wpls14)) & 14425 (*(sptr + wpls15)) & 14426 (*(sptr + wpls16)) & 14427 (*(sptr + wpls17)) & 14428 (*(sptr + wpls18)) & 14429 (*(sptr + wpls19)) & 14430 (*(sptr + wpls20)) & 14431 (*(sptr + wpls21)) & 14432 (*(sptr + wpls22)) & 14433 (*(sptr + wpls23)) & 14434 (*(sptr + wpls24)) & 14435 (*(sptr + wpls25)); 14436 } 14437 } 14438 } 14439 14440 static void 14441 fdilate_3_113(l_uint32 *datad, 14442 l_int32 w, 14443 l_int32 h, 14444 l_int32 wpld, 14445 l_uint32 *datas, 14446 l_int32 wpls) 14447 { 14448 l_int32 i; 14449 register l_int32 j, pwpls; 14450 register l_uint32 *sptr, *dptr; 14451 l_int32 wpls2, wpls3, wpls4; 14452 l_int32 wpls5, wpls6, wpls7, wpls8; 14453 l_int32 wpls9, wpls10, wpls11, wpls12; 14454 l_int32 wpls13, wpls14, wpls15, wpls16; 14455 l_int32 wpls17, wpls18, wpls19, wpls20; 14456 l_int32 wpls21, wpls22, wpls23, wpls24; 14457 l_int32 wpls25, wpls26; 14458 14459 wpls2 = 2 * wpls; 14460 wpls3 = 3 * wpls; 14461 wpls4 = 4 * wpls; 14462 wpls5 = 5 * wpls; 14463 wpls6 = 6 * wpls; 14464 wpls7 = 7 * wpls; 14465 wpls8 = 8 * wpls; 14466 wpls9 = 9 * wpls; 14467 wpls10 = 10 * wpls; 14468 wpls11 = 11 * wpls; 14469 wpls12 = 12 * wpls; 14470 wpls13 = 13 * wpls; 14471 wpls14 = 14 * wpls; 14472 wpls15 = 15 * wpls; 14473 wpls16 = 16 * wpls; 14474 wpls17 = 17 * wpls; 14475 wpls18 = 18 * wpls; 14476 wpls19 = 19 * wpls; 14477 wpls20 = 20 * wpls; 14478 wpls21 = 21 * wpls; 14479 wpls22 = 22 * wpls; 14480 wpls23 = 23 * wpls; 14481 wpls24 = 24 * wpls; 14482 wpls25 = 25 * wpls; 14483 wpls26 = 26 * wpls; 14484 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14485 14486 for (i = 0; i < h; i++) { 14487 sptr = datas + i * wpls; 14488 dptr = datad + i * wpld; 14489 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14490 *dptr = (*(sptr + wpls26)) | 14491 (*(sptr + wpls25)) | 14492 (*(sptr + wpls24)) | 14493 (*(sptr + wpls23)) | 14494 (*(sptr + wpls22)) | 14495 (*(sptr + wpls21)) | 14496 (*(sptr + wpls20)) | 14497 (*(sptr + wpls19)) | 14498 (*(sptr + wpls18)) | 14499 (*(sptr + wpls17)) | 14500 (*(sptr + wpls16)) | 14501 (*(sptr + wpls15)) | 14502 (*(sptr + wpls14)) | 14503 (*(sptr + wpls13)) | 14504 (*(sptr + wpls12)) | 14505 (*(sptr + wpls11)) | 14506 (*(sptr + wpls10)) | 14507 (*(sptr + wpls9)) | 14508 (*(sptr + wpls8)) | 14509 (*(sptr + wpls7)) | 14510 (*(sptr + wpls6)) | 14511 (*(sptr + wpls5)) | 14512 (*(sptr + wpls4)) | 14513 (*(sptr + wpls3)) | 14514 (*(sptr + wpls2)) | 14515 (*(sptr + wpls)) | 14516 (*sptr) | 14517 (*(sptr - wpls)) | 14518 (*(sptr - wpls2)) | 14519 (*(sptr - wpls3)) | 14520 (*(sptr - wpls4)) | 14521 (*(sptr - wpls5)) | 14522 (*(sptr - wpls6)) | 14523 (*(sptr - wpls7)) | 14524 (*(sptr - wpls8)) | 14525 (*(sptr - wpls9)) | 14526 (*(sptr - wpls10)) | 14527 (*(sptr - wpls11)) | 14528 (*(sptr - wpls12)) | 14529 (*(sptr - wpls13)) | 14530 (*(sptr - wpls14)) | 14531 (*(sptr - wpls15)) | 14532 (*(sptr - wpls16)) | 14533 (*(sptr - wpls17)) | 14534 (*(sptr - wpls18)) | 14535 (*(sptr - wpls19)) | 14536 (*(sptr - wpls20)) | 14537 (*(sptr - wpls21)) | 14538 (*(sptr - wpls22)) | 14539 (*(sptr - wpls23)) | 14540 (*(sptr - wpls24)) | 14541 (*(sptr - wpls25)) | 14542 (*(sptr - wpls26)); 14543 } 14544 } 14545 } 14546 14547 static void 14548 ferode_3_113(l_uint32 *datad, 14549 l_int32 w, 14550 l_int32 h, 14551 l_int32 wpld, 14552 l_uint32 *datas, 14553 l_int32 wpls) 14554 { 14555 l_int32 i; 14556 register l_int32 j, pwpls; 14557 register l_uint32 *sptr, *dptr; 14558 l_int32 wpls2, wpls3, wpls4; 14559 l_int32 wpls5, wpls6, wpls7, wpls8; 14560 l_int32 wpls9, wpls10, wpls11, wpls12; 14561 l_int32 wpls13, wpls14, wpls15, wpls16; 14562 l_int32 wpls17, wpls18, wpls19, wpls20; 14563 l_int32 wpls21, wpls22, wpls23, wpls24; 14564 l_int32 wpls25, wpls26; 14565 14566 wpls2 = 2 * wpls; 14567 wpls3 = 3 * wpls; 14568 wpls4 = 4 * wpls; 14569 wpls5 = 5 * wpls; 14570 wpls6 = 6 * wpls; 14571 wpls7 = 7 * wpls; 14572 wpls8 = 8 * wpls; 14573 wpls9 = 9 * wpls; 14574 wpls10 = 10 * wpls; 14575 wpls11 = 11 * wpls; 14576 wpls12 = 12 * wpls; 14577 wpls13 = 13 * wpls; 14578 wpls14 = 14 * wpls; 14579 wpls15 = 15 * wpls; 14580 wpls16 = 16 * wpls; 14581 wpls17 = 17 * wpls; 14582 wpls18 = 18 * wpls; 14583 wpls19 = 19 * wpls; 14584 wpls20 = 20 * wpls; 14585 wpls21 = 21 * wpls; 14586 wpls22 = 22 * wpls; 14587 wpls23 = 23 * wpls; 14588 wpls24 = 24 * wpls; 14589 wpls25 = 25 * wpls; 14590 wpls26 = 26 * wpls; 14591 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14592 14593 for (i = 0; i < h; i++) { 14594 sptr = datas + i * wpls; 14595 dptr = datad + i * wpld; 14596 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14597 *dptr = (*(sptr - wpls26)) & 14598 (*(sptr - wpls25)) & 14599 (*(sptr - wpls24)) & 14600 (*(sptr - wpls23)) & 14601 (*(sptr - wpls22)) & 14602 (*(sptr - wpls21)) & 14603 (*(sptr - wpls20)) & 14604 (*(sptr - wpls19)) & 14605 (*(sptr - wpls18)) & 14606 (*(sptr - wpls17)) & 14607 (*(sptr - wpls16)) & 14608 (*(sptr - wpls15)) & 14609 (*(sptr - wpls14)) & 14610 (*(sptr - wpls13)) & 14611 (*(sptr - wpls12)) & 14612 (*(sptr - wpls11)) & 14613 (*(sptr - wpls10)) & 14614 (*(sptr - wpls9)) & 14615 (*(sptr - wpls8)) & 14616 (*(sptr - wpls7)) & 14617 (*(sptr - wpls6)) & 14618 (*(sptr - wpls5)) & 14619 (*(sptr - wpls4)) & 14620 (*(sptr - wpls3)) & 14621 (*(sptr - wpls2)) & 14622 (*(sptr - wpls)) & 14623 (*sptr) & 14624 (*(sptr + wpls)) & 14625 (*(sptr + wpls2)) & 14626 (*(sptr + wpls3)) & 14627 (*(sptr + wpls4)) & 14628 (*(sptr + wpls5)) & 14629 (*(sptr + wpls6)) & 14630 (*(sptr + wpls7)) & 14631 (*(sptr + wpls8)) & 14632 (*(sptr + wpls9)) & 14633 (*(sptr + wpls10)) & 14634 (*(sptr + wpls11)) & 14635 (*(sptr + wpls12)) & 14636 (*(sptr + wpls13)) & 14637 (*(sptr + wpls14)) & 14638 (*(sptr + wpls15)) & 14639 (*(sptr + wpls16)) & 14640 (*(sptr + wpls17)) & 14641 (*(sptr + wpls18)) & 14642 (*(sptr + wpls19)) & 14643 (*(sptr + wpls20)) & 14644 (*(sptr + wpls21)) & 14645 (*(sptr + wpls22)) & 14646 (*(sptr + wpls23)) & 14647 (*(sptr + wpls24)) & 14648 (*(sptr + wpls25)) & 14649 (*(sptr + wpls26)); 14650 } 14651 } 14652 } 14653 14654 static void 14655 fdilate_3_114(l_uint32 *datad, 14656 l_int32 w, 14657 l_int32 h, 14658 l_int32 wpld, 14659 l_uint32 *datas, 14660 l_int32 wpls) 14661 { 14662 l_int32 i; 14663 register l_int32 j, pwpls; 14664 register l_uint32 *sptr, *dptr; 14665 l_int32 wpls2, wpls3, wpls4; 14666 l_int32 wpls5, wpls6, wpls7, wpls8; 14667 l_int32 wpls9, wpls10, wpls11, wpls12; 14668 l_int32 wpls13, wpls14, wpls15, wpls16; 14669 l_int32 wpls17, wpls18, wpls19, wpls20; 14670 l_int32 wpls21, wpls22, wpls23, wpls24; 14671 l_int32 wpls25, wpls26, wpls27; 14672 14673 wpls2 = 2 * wpls; 14674 wpls3 = 3 * wpls; 14675 wpls4 = 4 * wpls; 14676 wpls5 = 5 * wpls; 14677 wpls6 = 6 * wpls; 14678 wpls7 = 7 * wpls; 14679 wpls8 = 8 * wpls; 14680 wpls9 = 9 * wpls; 14681 wpls10 = 10 * wpls; 14682 wpls11 = 11 * wpls; 14683 wpls12 = 12 * wpls; 14684 wpls13 = 13 * wpls; 14685 wpls14 = 14 * wpls; 14686 wpls15 = 15 * wpls; 14687 wpls16 = 16 * wpls; 14688 wpls17 = 17 * wpls; 14689 wpls18 = 18 * wpls; 14690 wpls19 = 19 * wpls; 14691 wpls20 = 20 * wpls; 14692 wpls21 = 21 * wpls; 14693 wpls22 = 22 * wpls; 14694 wpls23 = 23 * wpls; 14695 wpls24 = 24 * wpls; 14696 wpls25 = 25 * wpls; 14697 wpls26 = 26 * wpls; 14698 wpls27 = 27 * wpls; 14699 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14700 14701 for (i = 0; i < h; i++) { 14702 sptr = datas + i * wpls; 14703 dptr = datad + i * wpld; 14704 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14705 *dptr = (*(sptr + wpls27)) | 14706 (*(sptr + wpls26)) | 14707 (*(sptr + wpls25)) | 14708 (*(sptr + wpls24)) | 14709 (*(sptr + wpls23)) | 14710 (*(sptr + wpls22)) | 14711 (*(sptr + wpls21)) | 14712 (*(sptr + wpls20)) | 14713 (*(sptr + wpls19)) | 14714 (*(sptr + wpls18)) | 14715 (*(sptr + wpls17)) | 14716 (*(sptr + wpls16)) | 14717 (*(sptr + wpls15)) | 14718 (*(sptr + wpls14)) | 14719 (*(sptr + wpls13)) | 14720 (*(sptr + wpls12)) | 14721 (*(sptr + wpls11)) | 14722 (*(sptr + wpls10)) | 14723 (*(sptr + wpls9)) | 14724 (*(sptr + wpls8)) | 14725 (*(sptr + wpls7)) | 14726 (*(sptr + wpls6)) | 14727 (*(sptr + wpls5)) | 14728 (*(sptr + wpls4)) | 14729 (*(sptr + wpls3)) | 14730 (*(sptr + wpls2)) | 14731 (*(sptr + wpls)) | 14732 (*sptr) | 14733 (*(sptr - wpls)) | 14734 (*(sptr - wpls2)) | 14735 (*(sptr - wpls3)) | 14736 (*(sptr - wpls4)) | 14737 (*(sptr - wpls5)) | 14738 (*(sptr - wpls6)) | 14739 (*(sptr - wpls7)) | 14740 (*(sptr - wpls8)) | 14741 (*(sptr - wpls9)) | 14742 (*(sptr - wpls10)) | 14743 (*(sptr - wpls11)) | 14744 (*(sptr - wpls12)) | 14745 (*(sptr - wpls13)) | 14746 (*(sptr - wpls14)) | 14747 (*(sptr - wpls15)) | 14748 (*(sptr - wpls16)) | 14749 (*(sptr - wpls17)) | 14750 (*(sptr - wpls18)) | 14751 (*(sptr - wpls19)) | 14752 (*(sptr - wpls20)) | 14753 (*(sptr - wpls21)) | 14754 (*(sptr - wpls22)) | 14755 (*(sptr - wpls23)) | 14756 (*(sptr - wpls24)) | 14757 (*(sptr - wpls25)) | 14758 (*(sptr - wpls26)); 14759 } 14760 } 14761 } 14762 14763 static void 14764 ferode_3_114(l_uint32 *datad, 14765 l_int32 w, 14766 l_int32 h, 14767 l_int32 wpld, 14768 l_uint32 *datas, 14769 l_int32 wpls) 14770 { 14771 l_int32 i; 14772 register l_int32 j, pwpls; 14773 register l_uint32 *sptr, *dptr; 14774 l_int32 wpls2, wpls3, wpls4; 14775 l_int32 wpls5, wpls6, wpls7, wpls8; 14776 l_int32 wpls9, wpls10, wpls11, wpls12; 14777 l_int32 wpls13, wpls14, wpls15, wpls16; 14778 l_int32 wpls17, wpls18, wpls19, wpls20; 14779 l_int32 wpls21, wpls22, wpls23, wpls24; 14780 l_int32 wpls25, wpls26, wpls27; 14781 14782 wpls2 = 2 * wpls; 14783 wpls3 = 3 * wpls; 14784 wpls4 = 4 * wpls; 14785 wpls5 = 5 * wpls; 14786 wpls6 = 6 * wpls; 14787 wpls7 = 7 * wpls; 14788 wpls8 = 8 * wpls; 14789 wpls9 = 9 * wpls; 14790 wpls10 = 10 * wpls; 14791 wpls11 = 11 * wpls; 14792 wpls12 = 12 * wpls; 14793 wpls13 = 13 * wpls; 14794 wpls14 = 14 * wpls; 14795 wpls15 = 15 * wpls; 14796 wpls16 = 16 * wpls; 14797 wpls17 = 17 * wpls; 14798 wpls18 = 18 * wpls; 14799 wpls19 = 19 * wpls; 14800 wpls20 = 20 * wpls; 14801 wpls21 = 21 * wpls; 14802 wpls22 = 22 * wpls; 14803 wpls23 = 23 * wpls; 14804 wpls24 = 24 * wpls; 14805 wpls25 = 25 * wpls; 14806 wpls26 = 26 * wpls; 14807 wpls27 = 27 * wpls; 14808 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14809 14810 for (i = 0; i < h; i++) { 14811 sptr = datas + i * wpls; 14812 dptr = datad + i * wpld; 14813 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14814 *dptr = (*(sptr - wpls27)) & 14815 (*(sptr - wpls26)) & 14816 (*(sptr - wpls25)) & 14817 (*(sptr - wpls24)) & 14818 (*(sptr - wpls23)) & 14819 (*(sptr - wpls22)) & 14820 (*(sptr - wpls21)) & 14821 (*(sptr - wpls20)) & 14822 (*(sptr - wpls19)) & 14823 (*(sptr - wpls18)) & 14824 (*(sptr - wpls17)) & 14825 (*(sptr - wpls16)) & 14826 (*(sptr - wpls15)) & 14827 (*(sptr - wpls14)) & 14828 (*(sptr - wpls13)) & 14829 (*(sptr - wpls12)) & 14830 (*(sptr - wpls11)) & 14831 (*(sptr - wpls10)) & 14832 (*(sptr - wpls9)) & 14833 (*(sptr - wpls8)) & 14834 (*(sptr - wpls7)) & 14835 (*(sptr - wpls6)) & 14836 (*(sptr - wpls5)) & 14837 (*(sptr - wpls4)) & 14838 (*(sptr - wpls3)) & 14839 (*(sptr - wpls2)) & 14840 (*(sptr - wpls)) & 14841 (*sptr) & 14842 (*(sptr + wpls)) & 14843 (*(sptr + wpls2)) & 14844 (*(sptr + wpls3)) & 14845 (*(sptr + wpls4)) & 14846 (*(sptr + wpls5)) & 14847 (*(sptr + wpls6)) & 14848 (*(sptr + wpls7)) & 14849 (*(sptr + wpls8)) & 14850 (*(sptr + wpls9)) & 14851 (*(sptr + wpls10)) & 14852 (*(sptr + wpls11)) & 14853 (*(sptr + wpls12)) & 14854 (*(sptr + wpls13)) & 14855 (*(sptr + wpls14)) & 14856 (*(sptr + wpls15)) & 14857 (*(sptr + wpls16)) & 14858 (*(sptr + wpls17)) & 14859 (*(sptr + wpls18)) & 14860 (*(sptr + wpls19)) & 14861 (*(sptr + wpls20)) & 14862 (*(sptr + wpls21)) & 14863 (*(sptr + wpls22)) & 14864 (*(sptr + wpls23)) & 14865 (*(sptr + wpls24)) & 14866 (*(sptr + wpls25)) & 14867 (*(sptr + wpls26)); 14868 } 14869 } 14870 } 14871 14872 static void 14873 fdilate_3_115(l_uint32 *datad, 14874 l_int32 w, 14875 l_int32 h, 14876 l_int32 wpld, 14877 l_uint32 *datas, 14878 l_int32 wpls) 14879 { 14880 l_int32 i; 14881 register l_int32 j, pwpls; 14882 register l_uint32 *sptr, *dptr; 14883 l_int32 wpls2, wpls3, wpls4; 14884 l_int32 wpls5, wpls6, wpls7, wpls8; 14885 l_int32 wpls9, wpls10, wpls11, wpls12; 14886 l_int32 wpls13, wpls14, wpls15, wpls16; 14887 l_int32 wpls17, wpls18, wpls19, wpls20; 14888 l_int32 wpls21, wpls22, wpls23, wpls24; 14889 l_int32 wpls25, wpls26, wpls27; 14890 14891 wpls2 = 2 * wpls; 14892 wpls3 = 3 * wpls; 14893 wpls4 = 4 * wpls; 14894 wpls5 = 5 * wpls; 14895 wpls6 = 6 * wpls; 14896 wpls7 = 7 * wpls; 14897 wpls8 = 8 * wpls; 14898 wpls9 = 9 * wpls; 14899 wpls10 = 10 * wpls; 14900 wpls11 = 11 * wpls; 14901 wpls12 = 12 * wpls; 14902 wpls13 = 13 * wpls; 14903 wpls14 = 14 * wpls; 14904 wpls15 = 15 * wpls; 14905 wpls16 = 16 * wpls; 14906 wpls17 = 17 * wpls; 14907 wpls18 = 18 * wpls; 14908 wpls19 = 19 * wpls; 14909 wpls20 = 20 * wpls; 14910 wpls21 = 21 * wpls; 14911 wpls22 = 22 * wpls; 14912 wpls23 = 23 * wpls; 14913 wpls24 = 24 * wpls; 14914 wpls25 = 25 * wpls; 14915 wpls26 = 26 * wpls; 14916 wpls27 = 27 * wpls; 14917 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 14918 14919 for (i = 0; i < h; i++) { 14920 sptr = datas + i * wpls; 14921 dptr = datad + i * wpld; 14922 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 14923 *dptr = (*(sptr + wpls27)) | 14924 (*(sptr + wpls26)) | 14925 (*(sptr + wpls25)) | 14926 (*(sptr + wpls24)) | 14927 (*(sptr + wpls23)) | 14928 (*(sptr + wpls22)) | 14929 (*(sptr + wpls21)) | 14930 (*(sptr + wpls20)) | 14931 (*(sptr + wpls19)) | 14932 (*(sptr + wpls18)) | 14933 (*(sptr + wpls17)) | 14934 (*(sptr + wpls16)) | 14935 (*(sptr + wpls15)) | 14936 (*(sptr + wpls14)) | 14937 (*(sptr + wpls13)) | 14938 (*(sptr + wpls12)) | 14939 (*(sptr + wpls11)) | 14940 (*(sptr + wpls10)) | 14941 (*(sptr + wpls9)) | 14942 (*(sptr + wpls8)) | 14943 (*(sptr + wpls7)) | 14944 (*(sptr + wpls6)) | 14945 (*(sptr + wpls5)) | 14946 (*(sptr + wpls4)) | 14947 (*(sptr + wpls3)) | 14948 (*(sptr + wpls2)) | 14949 (*(sptr + wpls)) | 14950 (*sptr) | 14951 (*(sptr - wpls)) | 14952 (*(sptr - wpls2)) | 14953 (*(sptr - wpls3)) | 14954 (*(sptr - wpls4)) | 14955 (*(sptr - wpls5)) | 14956 (*(sptr - wpls6)) | 14957 (*(sptr - wpls7)) | 14958 (*(sptr - wpls8)) | 14959 (*(sptr - wpls9)) | 14960 (*(sptr - wpls10)) | 14961 (*(sptr - wpls11)) | 14962 (*(sptr - wpls12)) | 14963 (*(sptr - wpls13)) | 14964 (*(sptr - wpls14)) | 14965 (*(sptr - wpls15)) | 14966 (*(sptr - wpls16)) | 14967 (*(sptr - wpls17)) | 14968 (*(sptr - wpls18)) | 14969 (*(sptr - wpls19)) | 14970 (*(sptr - wpls20)) | 14971 (*(sptr - wpls21)) | 14972 (*(sptr - wpls22)) | 14973 (*(sptr - wpls23)) | 14974 (*(sptr - wpls24)) | 14975 (*(sptr - wpls25)) | 14976 (*(sptr - wpls26)) | 14977 (*(sptr - wpls27)); 14978 } 14979 } 14980 } 14981 14982 static void 14983 ferode_3_115(l_uint32 *datad, 14984 l_int32 w, 14985 l_int32 h, 14986 l_int32 wpld, 14987 l_uint32 *datas, 14988 l_int32 wpls) 14989 { 14990 l_int32 i; 14991 register l_int32 j, pwpls; 14992 register l_uint32 *sptr, *dptr; 14993 l_int32 wpls2, wpls3, wpls4; 14994 l_int32 wpls5, wpls6, wpls7, wpls8; 14995 l_int32 wpls9, wpls10, wpls11, wpls12; 14996 l_int32 wpls13, wpls14, wpls15, wpls16; 14997 l_int32 wpls17, wpls18, wpls19, wpls20; 14998 l_int32 wpls21, wpls22, wpls23, wpls24; 14999 l_int32 wpls25, wpls26, wpls27; 15000 15001 wpls2 = 2 * wpls; 15002 wpls3 = 3 * wpls; 15003 wpls4 = 4 * wpls; 15004 wpls5 = 5 * wpls; 15005 wpls6 = 6 * wpls; 15006 wpls7 = 7 * wpls; 15007 wpls8 = 8 * wpls; 15008 wpls9 = 9 * wpls; 15009 wpls10 = 10 * wpls; 15010 wpls11 = 11 * wpls; 15011 wpls12 = 12 * wpls; 15012 wpls13 = 13 * wpls; 15013 wpls14 = 14 * wpls; 15014 wpls15 = 15 * wpls; 15015 wpls16 = 16 * wpls; 15016 wpls17 = 17 * wpls; 15017 wpls18 = 18 * wpls; 15018 wpls19 = 19 * wpls; 15019 wpls20 = 20 * wpls; 15020 wpls21 = 21 * wpls; 15021 wpls22 = 22 * wpls; 15022 wpls23 = 23 * wpls; 15023 wpls24 = 24 * wpls; 15024 wpls25 = 25 * wpls; 15025 wpls26 = 26 * wpls; 15026 wpls27 = 27 * wpls; 15027 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15028 15029 for (i = 0; i < h; i++) { 15030 sptr = datas + i * wpls; 15031 dptr = datad + i * wpld; 15032 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15033 *dptr = (*(sptr - wpls27)) & 15034 (*(sptr - wpls26)) & 15035 (*(sptr - wpls25)) & 15036 (*(sptr - wpls24)) & 15037 (*(sptr - wpls23)) & 15038 (*(sptr - wpls22)) & 15039 (*(sptr - wpls21)) & 15040 (*(sptr - wpls20)) & 15041 (*(sptr - wpls19)) & 15042 (*(sptr - wpls18)) & 15043 (*(sptr - wpls17)) & 15044 (*(sptr - wpls16)) & 15045 (*(sptr - wpls15)) & 15046 (*(sptr - wpls14)) & 15047 (*(sptr - wpls13)) & 15048 (*(sptr - wpls12)) & 15049 (*(sptr - wpls11)) & 15050 (*(sptr - wpls10)) & 15051 (*(sptr - wpls9)) & 15052 (*(sptr - wpls8)) & 15053 (*(sptr - wpls7)) & 15054 (*(sptr - wpls6)) & 15055 (*(sptr - wpls5)) & 15056 (*(sptr - wpls4)) & 15057 (*(sptr - wpls3)) & 15058 (*(sptr - wpls2)) & 15059 (*(sptr - wpls)) & 15060 (*sptr) & 15061 (*(sptr + wpls)) & 15062 (*(sptr + wpls2)) & 15063 (*(sptr + wpls3)) & 15064 (*(sptr + wpls4)) & 15065 (*(sptr + wpls5)) & 15066 (*(sptr + wpls6)) & 15067 (*(sptr + wpls7)) & 15068 (*(sptr + wpls8)) & 15069 (*(sptr + wpls9)) & 15070 (*(sptr + wpls10)) & 15071 (*(sptr + wpls11)) & 15072 (*(sptr + wpls12)) & 15073 (*(sptr + wpls13)) & 15074 (*(sptr + wpls14)) & 15075 (*(sptr + wpls15)) & 15076 (*(sptr + wpls16)) & 15077 (*(sptr + wpls17)) & 15078 (*(sptr + wpls18)) & 15079 (*(sptr + wpls19)) & 15080 (*(sptr + wpls20)) & 15081 (*(sptr + wpls21)) & 15082 (*(sptr + wpls22)) & 15083 (*(sptr + wpls23)) & 15084 (*(sptr + wpls24)) & 15085 (*(sptr + wpls25)) & 15086 (*(sptr + wpls26)) & 15087 (*(sptr + wpls27)); 15088 } 15089 } 15090 } 15091 15092 static void 15093 fdilate_3_116(l_uint32 *datad, 15094 l_int32 w, 15095 l_int32 h, 15096 l_int32 wpld, 15097 l_uint32 *datas, 15098 l_int32 wpls) 15099 { 15100 l_int32 i; 15101 register l_int32 j, pwpls; 15102 register l_uint32 *sptr, *dptr; 15103 l_int32 wpls2, wpls3, wpls4; 15104 l_int32 wpls5, wpls6, wpls7, wpls8; 15105 l_int32 wpls9, wpls10, wpls11, wpls12; 15106 l_int32 wpls13, wpls14, wpls15, wpls16; 15107 l_int32 wpls17, wpls18, wpls19, wpls20; 15108 l_int32 wpls21, wpls22, wpls23, wpls24; 15109 l_int32 wpls25, wpls26, wpls27, wpls28; 15110 15111 wpls2 = 2 * wpls; 15112 wpls3 = 3 * wpls; 15113 wpls4 = 4 * wpls; 15114 wpls5 = 5 * wpls; 15115 wpls6 = 6 * wpls; 15116 wpls7 = 7 * wpls; 15117 wpls8 = 8 * wpls; 15118 wpls9 = 9 * wpls; 15119 wpls10 = 10 * wpls; 15120 wpls11 = 11 * wpls; 15121 wpls12 = 12 * wpls; 15122 wpls13 = 13 * wpls; 15123 wpls14 = 14 * wpls; 15124 wpls15 = 15 * wpls; 15125 wpls16 = 16 * wpls; 15126 wpls17 = 17 * wpls; 15127 wpls18 = 18 * wpls; 15128 wpls19 = 19 * wpls; 15129 wpls20 = 20 * wpls; 15130 wpls21 = 21 * wpls; 15131 wpls22 = 22 * wpls; 15132 wpls23 = 23 * wpls; 15133 wpls24 = 24 * wpls; 15134 wpls25 = 25 * wpls; 15135 wpls26 = 26 * wpls; 15136 wpls27 = 27 * wpls; 15137 wpls28 = 28 * wpls; 15138 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15139 15140 for (i = 0; i < h; i++) { 15141 sptr = datas + i * wpls; 15142 dptr = datad + i * wpld; 15143 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15144 *dptr = (*(sptr + wpls28)) | 15145 (*(sptr + wpls27)) | 15146 (*(sptr + wpls26)) | 15147 (*(sptr + wpls25)) | 15148 (*(sptr + wpls24)) | 15149 (*(sptr + wpls23)) | 15150 (*(sptr + wpls22)) | 15151 (*(sptr + wpls21)) | 15152 (*(sptr + wpls20)) | 15153 (*(sptr + wpls19)) | 15154 (*(sptr + wpls18)) | 15155 (*(sptr + wpls17)) | 15156 (*(sptr + wpls16)) | 15157 (*(sptr + wpls15)) | 15158 (*(sptr + wpls14)) | 15159 (*(sptr + wpls13)) | 15160 (*(sptr + wpls12)) | 15161 (*(sptr + wpls11)) | 15162 (*(sptr + wpls10)) | 15163 (*(sptr + wpls9)) | 15164 (*(sptr + wpls8)) | 15165 (*(sptr + wpls7)) | 15166 (*(sptr + wpls6)) | 15167 (*(sptr + wpls5)) | 15168 (*(sptr + wpls4)) | 15169 (*(sptr + wpls3)) | 15170 (*(sptr + wpls2)) | 15171 (*(sptr + wpls)) | 15172 (*sptr) | 15173 (*(sptr - wpls)) | 15174 (*(sptr - wpls2)) | 15175 (*(sptr - wpls3)) | 15176 (*(sptr - wpls4)) | 15177 (*(sptr - wpls5)) | 15178 (*(sptr - wpls6)) | 15179 (*(sptr - wpls7)) | 15180 (*(sptr - wpls8)) | 15181 (*(sptr - wpls9)) | 15182 (*(sptr - wpls10)) | 15183 (*(sptr - wpls11)) | 15184 (*(sptr - wpls12)) | 15185 (*(sptr - wpls13)) | 15186 (*(sptr - wpls14)) | 15187 (*(sptr - wpls15)) | 15188 (*(sptr - wpls16)) | 15189 (*(sptr - wpls17)) | 15190 (*(sptr - wpls18)) | 15191 (*(sptr - wpls19)) | 15192 (*(sptr - wpls20)) | 15193 (*(sptr - wpls21)) | 15194 (*(sptr - wpls22)) | 15195 (*(sptr - wpls23)) | 15196 (*(sptr - wpls24)) | 15197 (*(sptr - wpls25)) | 15198 (*(sptr - wpls26)) | 15199 (*(sptr - wpls27)); 15200 } 15201 } 15202 } 15203 15204 static void 15205 ferode_3_116(l_uint32 *datad, 15206 l_int32 w, 15207 l_int32 h, 15208 l_int32 wpld, 15209 l_uint32 *datas, 15210 l_int32 wpls) 15211 { 15212 l_int32 i; 15213 register l_int32 j, pwpls; 15214 register l_uint32 *sptr, *dptr; 15215 l_int32 wpls2, wpls3, wpls4; 15216 l_int32 wpls5, wpls6, wpls7, wpls8; 15217 l_int32 wpls9, wpls10, wpls11, wpls12; 15218 l_int32 wpls13, wpls14, wpls15, wpls16; 15219 l_int32 wpls17, wpls18, wpls19, wpls20; 15220 l_int32 wpls21, wpls22, wpls23, wpls24; 15221 l_int32 wpls25, wpls26, wpls27, wpls28; 15222 15223 wpls2 = 2 * wpls; 15224 wpls3 = 3 * wpls; 15225 wpls4 = 4 * wpls; 15226 wpls5 = 5 * wpls; 15227 wpls6 = 6 * wpls; 15228 wpls7 = 7 * wpls; 15229 wpls8 = 8 * wpls; 15230 wpls9 = 9 * wpls; 15231 wpls10 = 10 * wpls; 15232 wpls11 = 11 * wpls; 15233 wpls12 = 12 * wpls; 15234 wpls13 = 13 * wpls; 15235 wpls14 = 14 * wpls; 15236 wpls15 = 15 * wpls; 15237 wpls16 = 16 * wpls; 15238 wpls17 = 17 * wpls; 15239 wpls18 = 18 * wpls; 15240 wpls19 = 19 * wpls; 15241 wpls20 = 20 * wpls; 15242 wpls21 = 21 * wpls; 15243 wpls22 = 22 * wpls; 15244 wpls23 = 23 * wpls; 15245 wpls24 = 24 * wpls; 15246 wpls25 = 25 * wpls; 15247 wpls26 = 26 * wpls; 15248 wpls27 = 27 * wpls; 15249 wpls28 = 28 * wpls; 15250 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15251 15252 for (i = 0; i < h; i++) { 15253 sptr = datas + i * wpls; 15254 dptr = datad + i * wpld; 15255 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15256 *dptr = (*(sptr - wpls28)) & 15257 (*(sptr - wpls27)) & 15258 (*(sptr - wpls26)) & 15259 (*(sptr - wpls25)) & 15260 (*(sptr - wpls24)) & 15261 (*(sptr - wpls23)) & 15262 (*(sptr - wpls22)) & 15263 (*(sptr - wpls21)) & 15264 (*(sptr - wpls20)) & 15265 (*(sptr - wpls19)) & 15266 (*(sptr - wpls18)) & 15267 (*(sptr - wpls17)) & 15268 (*(sptr - wpls16)) & 15269 (*(sptr - wpls15)) & 15270 (*(sptr - wpls14)) & 15271 (*(sptr - wpls13)) & 15272 (*(sptr - wpls12)) & 15273 (*(sptr - wpls11)) & 15274 (*(sptr - wpls10)) & 15275 (*(sptr - wpls9)) & 15276 (*(sptr - wpls8)) & 15277 (*(sptr - wpls7)) & 15278 (*(sptr - wpls6)) & 15279 (*(sptr - wpls5)) & 15280 (*(sptr - wpls4)) & 15281 (*(sptr - wpls3)) & 15282 (*(sptr - wpls2)) & 15283 (*(sptr - wpls)) & 15284 (*sptr) & 15285 (*(sptr + wpls)) & 15286 (*(sptr + wpls2)) & 15287 (*(sptr + wpls3)) & 15288 (*(sptr + wpls4)) & 15289 (*(sptr + wpls5)) & 15290 (*(sptr + wpls6)) & 15291 (*(sptr + wpls7)) & 15292 (*(sptr + wpls8)) & 15293 (*(sptr + wpls9)) & 15294 (*(sptr + wpls10)) & 15295 (*(sptr + wpls11)) & 15296 (*(sptr + wpls12)) & 15297 (*(sptr + wpls13)) & 15298 (*(sptr + wpls14)) & 15299 (*(sptr + wpls15)) & 15300 (*(sptr + wpls16)) & 15301 (*(sptr + wpls17)) & 15302 (*(sptr + wpls18)) & 15303 (*(sptr + wpls19)) & 15304 (*(sptr + wpls20)) & 15305 (*(sptr + wpls21)) & 15306 (*(sptr + wpls22)) & 15307 (*(sptr + wpls23)) & 15308 (*(sptr + wpls24)) & 15309 (*(sptr + wpls25)) & 15310 (*(sptr + wpls26)) & 15311 (*(sptr + wpls27)); 15312 } 15313 } 15314 } 15315 15316 static void 15317 fdilate_3_117(l_uint32 *datad, 15318 l_int32 w, 15319 l_int32 h, 15320 l_int32 wpld, 15321 l_uint32 *datas, 15322 l_int32 wpls) 15323 { 15324 l_int32 i; 15325 register l_int32 j, pwpls; 15326 register l_uint32 *sptr, *dptr; 15327 l_int32 wpls2, wpls3, wpls4; 15328 l_int32 wpls5, wpls6, wpls7, wpls8; 15329 l_int32 wpls9, wpls10, wpls11, wpls12; 15330 l_int32 wpls13, wpls14, wpls15, wpls16; 15331 l_int32 wpls17, wpls18, wpls19, wpls20; 15332 l_int32 wpls21, wpls22, wpls23, wpls24; 15333 l_int32 wpls25, wpls26, wpls27, wpls28; 15334 15335 wpls2 = 2 * wpls; 15336 wpls3 = 3 * wpls; 15337 wpls4 = 4 * wpls; 15338 wpls5 = 5 * wpls; 15339 wpls6 = 6 * wpls; 15340 wpls7 = 7 * wpls; 15341 wpls8 = 8 * wpls; 15342 wpls9 = 9 * wpls; 15343 wpls10 = 10 * wpls; 15344 wpls11 = 11 * wpls; 15345 wpls12 = 12 * wpls; 15346 wpls13 = 13 * wpls; 15347 wpls14 = 14 * wpls; 15348 wpls15 = 15 * wpls; 15349 wpls16 = 16 * wpls; 15350 wpls17 = 17 * wpls; 15351 wpls18 = 18 * wpls; 15352 wpls19 = 19 * wpls; 15353 wpls20 = 20 * wpls; 15354 wpls21 = 21 * wpls; 15355 wpls22 = 22 * wpls; 15356 wpls23 = 23 * wpls; 15357 wpls24 = 24 * wpls; 15358 wpls25 = 25 * wpls; 15359 wpls26 = 26 * wpls; 15360 wpls27 = 27 * wpls; 15361 wpls28 = 28 * wpls; 15362 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15363 15364 for (i = 0; i < h; i++) { 15365 sptr = datas + i * wpls; 15366 dptr = datad + i * wpld; 15367 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15368 *dptr = (*(sptr + wpls28)) | 15369 (*(sptr + wpls27)) | 15370 (*(sptr + wpls26)) | 15371 (*(sptr + wpls25)) | 15372 (*(sptr + wpls24)) | 15373 (*(sptr + wpls23)) | 15374 (*(sptr + wpls22)) | 15375 (*(sptr + wpls21)) | 15376 (*(sptr + wpls20)) | 15377 (*(sptr + wpls19)) | 15378 (*(sptr + wpls18)) | 15379 (*(sptr + wpls17)) | 15380 (*(sptr + wpls16)) | 15381 (*(sptr + wpls15)) | 15382 (*(sptr + wpls14)) | 15383 (*(sptr + wpls13)) | 15384 (*(sptr + wpls12)) | 15385 (*(sptr + wpls11)) | 15386 (*(sptr + wpls10)) | 15387 (*(sptr + wpls9)) | 15388 (*(sptr + wpls8)) | 15389 (*(sptr + wpls7)) | 15390 (*(sptr + wpls6)) | 15391 (*(sptr + wpls5)) | 15392 (*(sptr + wpls4)) | 15393 (*(sptr + wpls3)) | 15394 (*(sptr + wpls2)) | 15395 (*(sptr + wpls)) | 15396 (*sptr) | 15397 (*(sptr - wpls)) | 15398 (*(sptr - wpls2)) | 15399 (*(sptr - wpls3)) | 15400 (*(sptr - wpls4)) | 15401 (*(sptr - wpls5)) | 15402 (*(sptr - wpls6)) | 15403 (*(sptr - wpls7)) | 15404 (*(sptr - wpls8)) | 15405 (*(sptr - wpls9)) | 15406 (*(sptr - wpls10)) | 15407 (*(sptr - wpls11)) | 15408 (*(sptr - wpls12)) | 15409 (*(sptr - wpls13)) | 15410 (*(sptr - wpls14)) | 15411 (*(sptr - wpls15)) | 15412 (*(sptr - wpls16)) | 15413 (*(sptr - wpls17)) | 15414 (*(sptr - wpls18)) | 15415 (*(sptr - wpls19)) | 15416 (*(sptr - wpls20)) | 15417 (*(sptr - wpls21)) | 15418 (*(sptr - wpls22)) | 15419 (*(sptr - wpls23)) | 15420 (*(sptr - wpls24)) | 15421 (*(sptr - wpls25)) | 15422 (*(sptr - wpls26)) | 15423 (*(sptr - wpls27)) | 15424 (*(sptr - wpls28)); 15425 } 15426 } 15427 } 15428 15429 static void 15430 ferode_3_117(l_uint32 *datad, 15431 l_int32 w, 15432 l_int32 h, 15433 l_int32 wpld, 15434 l_uint32 *datas, 15435 l_int32 wpls) 15436 { 15437 l_int32 i; 15438 register l_int32 j, pwpls; 15439 register l_uint32 *sptr, *dptr; 15440 l_int32 wpls2, wpls3, wpls4; 15441 l_int32 wpls5, wpls6, wpls7, wpls8; 15442 l_int32 wpls9, wpls10, wpls11, wpls12; 15443 l_int32 wpls13, wpls14, wpls15, wpls16; 15444 l_int32 wpls17, wpls18, wpls19, wpls20; 15445 l_int32 wpls21, wpls22, wpls23, wpls24; 15446 l_int32 wpls25, wpls26, wpls27, wpls28; 15447 15448 wpls2 = 2 * wpls; 15449 wpls3 = 3 * wpls; 15450 wpls4 = 4 * wpls; 15451 wpls5 = 5 * wpls; 15452 wpls6 = 6 * wpls; 15453 wpls7 = 7 * wpls; 15454 wpls8 = 8 * wpls; 15455 wpls9 = 9 * wpls; 15456 wpls10 = 10 * wpls; 15457 wpls11 = 11 * wpls; 15458 wpls12 = 12 * wpls; 15459 wpls13 = 13 * wpls; 15460 wpls14 = 14 * wpls; 15461 wpls15 = 15 * wpls; 15462 wpls16 = 16 * wpls; 15463 wpls17 = 17 * wpls; 15464 wpls18 = 18 * wpls; 15465 wpls19 = 19 * wpls; 15466 wpls20 = 20 * wpls; 15467 wpls21 = 21 * wpls; 15468 wpls22 = 22 * wpls; 15469 wpls23 = 23 * wpls; 15470 wpls24 = 24 * wpls; 15471 wpls25 = 25 * wpls; 15472 wpls26 = 26 * wpls; 15473 wpls27 = 27 * wpls; 15474 wpls28 = 28 * wpls; 15475 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15476 15477 for (i = 0; i < h; i++) { 15478 sptr = datas + i * wpls; 15479 dptr = datad + i * wpld; 15480 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15481 *dptr = (*(sptr - wpls28)) & 15482 (*(sptr - wpls27)) & 15483 (*(sptr - wpls26)) & 15484 (*(sptr - wpls25)) & 15485 (*(sptr - wpls24)) & 15486 (*(sptr - wpls23)) & 15487 (*(sptr - wpls22)) & 15488 (*(sptr - wpls21)) & 15489 (*(sptr - wpls20)) & 15490 (*(sptr - wpls19)) & 15491 (*(sptr - wpls18)) & 15492 (*(sptr - wpls17)) & 15493 (*(sptr - wpls16)) & 15494 (*(sptr - wpls15)) & 15495 (*(sptr - wpls14)) & 15496 (*(sptr - wpls13)) & 15497 (*(sptr - wpls12)) & 15498 (*(sptr - wpls11)) & 15499 (*(sptr - wpls10)) & 15500 (*(sptr - wpls9)) & 15501 (*(sptr - wpls8)) & 15502 (*(sptr - wpls7)) & 15503 (*(sptr - wpls6)) & 15504 (*(sptr - wpls5)) & 15505 (*(sptr - wpls4)) & 15506 (*(sptr - wpls3)) & 15507 (*(sptr - wpls2)) & 15508 (*(sptr - wpls)) & 15509 (*sptr) & 15510 (*(sptr + wpls)) & 15511 (*(sptr + wpls2)) & 15512 (*(sptr + wpls3)) & 15513 (*(sptr + wpls4)) & 15514 (*(sptr + wpls5)) & 15515 (*(sptr + wpls6)) & 15516 (*(sptr + wpls7)) & 15517 (*(sptr + wpls8)) & 15518 (*(sptr + wpls9)) & 15519 (*(sptr + wpls10)) & 15520 (*(sptr + wpls11)) & 15521 (*(sptr + wpls12)) & 15522 (*(sptr + wpls13)) & 15523 (*(sptr + wpls14)) & 15524 (*(sptr + wpls15)) & 15525 (*(sptr + wpls16)) & 15526 (*(sptr + wpls17)) & 15527 (*(sptr + wpls18)) & 15528 (*(sptr + wpls19)) & 15529 (*(sptr + wpls20)) & 15530 (*(sptr + wpls21)) & 15531 (*(sptr + wpls22)) & 15532 (*(sptr + wpls23)) & 15533 (*(sptr + wpls24)) & 15534 (*(sptr + wpls25)) & 15535 (*(sptr + wpls26)) & 15536 (*(sptr + wpls27)) & 15537 (*(sptr + wpls28)); 15538 } 15539 } 15540 } 15541 15542 static void 15543 fdilate_3_118(l_uint32 *datad, 15544 l_int32 w, 15545 l_int32 h, 15546 l_int32 wpld, 15547 l_uint32 *datas, 15548 l_int32 wpls) 15549 { 15550 l_int32 i; 15551 register l_int32 j, pwpls; 15552 register l_uint32 *sptr, *dptr; 15553 l_int32 wpls2, wpls3, wpls4; 15554 l_int32 wpls5, wpls6, wpls7, wpls8; 15555 l_int32 wpls9, wpls10, wpls11, wpls12; 15556 l_int32 wpls13, wpls14, wpls15, wpls16; 15557 l_int32 wpls17, wpls18, wpls19, wpls20; 15558 l_int32 wpls21, wpls22, wpls23, wpls24; 15559 l_int32 wpls25, wpls26, wpls27, wpls28; 15560 l_int32 wpls29; 15561 15562 wpls2 = 2 * wpls; 15563 wpls3 = 3 * wpls; 15564 wpls4 = 4 * wpls; 15565 wpls5 = 5 * wpls; 15566 wpls6 = 6 * wpls; 15567 wpls7 = 7 * wpls; 15568 wpls8 = 8 * wpls; 15569 wpls9 = 9 * wpls; 15570 wpls10 = 10 * wpls; 15571 wpls11 = 11 * wpls; 15572 wpls12 = 12 * wpls; 15573 wpls13 = 13 * wpls; 15574 wpls14 = 14 * wpls; 15575 wpls15 = 15 * wpls; 15576 wpls16 = 16 * wpls; 15577 wpls17 = 17 * wpls; 15578 wpls18 = 18 * wpls; 15579 wpls19 = 19 * wpls; 15580 wpls20 = 20 * wpls; 15581 wpls21 = 21 * wpls; 15582 wpls22 = 22 * wpls; 15583 wpls23 = 23 * wpls; 15584 wpls24 = 24 * wpls; 15585 wpls25 = 25 * wpls; 15586 wpls26 = 26 * wpls; 15587 wpls27 = 27 * wpls; 15588 wpls28 = 28 * wpls; 15589 wpls29 = 29 * wpls; 15590 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15591 15592 for (i = 0; i < h; i++) { 15593 sptr = datas + i * wpls; 15594 dptr = datad + i * wpld; 15595 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15596 *dptr = (*(sptr + wpls29)) | 15597 (*(sptr + wpls28)) | 15598 (*(sptr + wpls27)) | 15599 (*(sptr + wpls26)) | 15600 (*(sptr + wpls25)) | 15601 (*(sptr + wpls24)) | 15602 (*(sptr + wpls23)) | 15603 (*(sptr + wpls22)) | 15604 (*(sptr + wpls21)) | 15605 (*(sptr + wpls20)) | 15606 (*(sptr + wpls19)) | 15607 (*(sptr + wpls18)) | 15608 (*(sptr + wpls17)) | 15609 (*(sptr + wpls16)) | 15610 (*(sptr + wpls15)) | 15611 (*(sptr + wpls14)) | 15612 (*(sptr + wpls13)) | 15613 (*(sptr + wpls12)) | 15614 (*(sptr + wpls11)) | 15615 (*(sptr + wpls10)) | 15616 (*(sptr + wpls9)) | 15617 (*(sptr + wpls8)) | 15618 (*(sptr + wpls7)) | 15619 (*(sptr + wpls6)) | 15620 (*(sptr + wpls5)) | 15621 (*(sptr + wpls4)) | 15622 (*(sptr + wpls3)) | 15623 (*(sptr + wpls2)) | 15624 (*(sptr + wpls)) | 15625 (*sptr) | 15626 (*(sptr - wpls)) | 15627 (*(sptr - wpls2)) | 15628 (*(sptr - wpls3)) | 15629 (*(sptr - wpls4)) | 15630 (*(sptr - wpls5)) | 15631 (*(sptr - wpls6)) | 15632 (*(sptr - wpls7)) | 15633 (*(sptr - wpls8)) | 15634 (*(sptr - wpls9)) | 15635 (*(sptr - wpls10)) | 15636 (*(sptr - wpls11)) | 15637 (*(sptr - wpls12)) | 15638 (*(sptr - wpls13)) | 15639 (*(sptr - wpls14)) | 15640 (*(sptr - wpls15)) | 15641 (*(sptr - wpls16)) | 15642 (*(sptr - wpls17)) | 15643 (*(sptr - wpls18)) | 15644 (*(sptr - wpls19)) | 15645 (*(sptr - wpls20)) | 15646 (*(sptr - wpls21)) | 15647 (*(sptr - wpls22)) | 15648 (*(sptr - wpls23)) | 15649 (*(sptr - wpls24)) | 15650 (*(sptr - wpls25)) | 15651 (*(sptr - wpls26)) | 15652 (*(sptr - wpls27)) | 15653 (*(sptr - wpls28)); 15654 } 15655 } 15656 } 15657 15658 static void 15659 ferode_3_118(l_uint32 *datad, 15660 l_int32 w, 15661 l_int32 h, 15662 l_int32 wpld, 15663 l_uint32 *datas, 15664 l_int32 wpls) 15665 { 15666 l_int32 i; 15667 register l_int32 j, pwpls; 15668 register l_uint32 *sptr, *dptr; 15669 l_int32 wpls2, wpls3, wpls4; 15670 l_int32 wpls5, wpls6, wpls7, wpls8; 15671 l_int32 wpls9, wpls10, wpls11, wpls12; 15672 l_int32 wpls13, wpls14, wpls15, wpls16; 15673 l_int32 wpls17, wpls18, wpls19, wpls20; 15674 l_int32 wpls21, wpls22, wpls23, wpls24; 15675 l_int32 wpls25, wpls26, wpls27, wpls28; 15676 l_int32 wpls29; 15677 15678 wpls2 = 2 * wpls; 15679 wpls3 = 3 * wpls; 15680 wpls4 = 4 * wpls; 15681 wpls5 = 5 * wpls; 15682 wpls6 = 6 * wpls; 15683 wpls7 = 7 * wpls; 15684 wpls8 = 8 * wpls; 15685 wpls9 = 9 * wpls; 15686 wpls10 = 10 * wpls; 15687 wpls11 = 11 * wpls; 15688 wpls12 = 12 * wpls; 15689 wpls13 = 13 * wpls; 15690 wpls14 = 14 * wpls; 15691 wpls15 = 15 * wpls; 15692 wpls16 = 16 * wpls; 15693 wpls17 = 17 * wpls; 15694 wpls18 = 18 * wpls; 15695 wpls19 = 19 * wpls; 15696 wpls20 = 20 * wpls; 15697 wpls21 = 21 * wpls; 15698 wpls22 = 22 * wpls; 15699 wpls23 = 23 * wpls; 15700 wpls24 = 24 * wpls; 15701 wpls25 = 25 * wpls; 15702 wpls26 = 26 * wpls; 15703 wpls27 = 27 * wpls; 15704 wpls28 = 28 * wpls; 15705 wpls29 = 29 * wpls; 15706 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15707 15708 for (i = 0; i < h; i++) { 15709 sptr = datas + i * wpls; 15710 dptr = datad + i * wpld; 15711 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15712 *dptr = (*(sptr - wpls29)) & 15713 (*(sptr - wpls28)) & 15714 (*(sptr - wpls27)) & 15715 (*(sptr - wpls26)) & 15716 (*(sptr - wpls25)) & 15717 (*(sptr - wpls24)) & 15718 (*(sptr - wpls23)) & 15719 (*(sptr - wpls22)) & 15720 (*(sptr - wpls21)) & 15721 (*(sptr - wpls20)) & 15722 (*(sptr - wpls19)) & 15723 (*(sptr - wpls18)) & 15724 (*(sptr - wpls17)) & 15725 (*(sptr - wpls16)) & 15726 (*(sptr - wpls15)) & 15727 (*(sptr - wpls14)) & 15728 (*(sptr - wpls13)) & 15729 (*(sptr - wpls12)) & 15730 (*(sptr - wpls11)) & 15731 (*(sptr - wpls10)) & 15732 (*(sptr - wpls9)) & 15733 (*(sptr - wpls8)) & 15734 (*(sptr - wpls7)) & 15735 (*(sptr - wpls6)) & 15736 (*(sptr - wpls5)) & 15737 (*(sptr - wpls4)) & 15738 (*(sptr - wpls3)) & 15739 (*(sptr - wpls2)) & 15740 (*(sptr - wpls)) & 15741 (*sptr) & 15742 (*(sptr + wpls)) & 15743 (*(sptr + wpls2)) & 15744 (*(sptr + wpls3)) & 15745 (*(sptr + wpls4)) & 15746 (*(sptr + wpls5)) & 15747 (*(sptr + wpls6)) & 15748 (*(sptr + wpls7)) & 15749 (*(sptr + wpls8)) & 15750 (*(sptr + wpls9)) & 15751 (*(sptr + wpls10)) & 15752 (*(sptr + wpls11)) & 15753 (*(sptr + wpls12)) & 15754 (*(sptr + wpls13)) & 15755 (*(sptr + wpls14)) & 15756 (*(sptr + wpls15)) & 15757 (*(sptr + wpls16)) & 15758 (*(sptr + wpls17)) & 15759 (*(sptr + wpls18)) & 15760 (*(sptr + wpls19)) & 15761 (*(sptr + wpls20)) & 15762 (*(sptr + wpls21)) & 15763 (*(sptr + wpls22)) & 15764 (*(sptr + wpls23)) & 15765 (*(sptr + wpls24)) & 15766 (*(sptr + wpls25)) & 15767 (*(sptr + wpls26)) & 15768 (*(sptr + wpls27)) & 15769 (*(sptr + wpls28)); 15770 } 15771 } 15772 } 15773 15774 static void 15775 fdilate_3_119(l_uint32 *datad, 15776 l_int32 w, 15777 l_int32 h, 15778 l_int32 wpld, 15779 l_uint32 *datas, 15780 l_int32 wpls) 15781 { 15782 l_int32 i; 15783 register l_int32 j, pwpls; 15784 register l_uint32 *sptr, *dptr; 15785 l_int32 wpls2, wpls3, wpls4; 15786 l_int32 wpls5, wpls6, wpls7, wpls8; 15787 l_int32 wpls9, wpls10, wpls11, wpls12; 15788 l_int32 wpls13, wpls14, wpls15, wpls16; 15789 l_int32 wpls17, wpls18, wpls19, wpls20; 15790 l_int32 wpls21, wpls22, wpls23, wpls24; 15791 l_int32 wpls25, wpls26, wpls27, wpls28; 15792 l_int32 wpls29; 15793 15794 wpls2 = 2 * wpls; 15795 wpls3 = 3 * wpls; 15796 wpls4 = 4 * wpls; 15797 wpls5 = 5 * wpls; 15798 wpls6 = 6 * wpls; 15799 wpls7 = 7 * wpls; 15800 wpls8 = 8 * wpls; 15801 wpls9 = 9 * wpls; 15802 wpls10 = 10 * wpls; 15803 wpls11 = 11 * wpls; 15804 wpls12 = 12 * wpls; 15805 wpls13 = 13 * wpls; 15806 wpls14 = 14 * wpls; 15807 wpls15 = 15 * wpls; 15808 wpls16 = 16 * wpls; 15809 wpls17 = 17 * wpls; 15810 wpls18 = 18 * wpls; 15811 wpls19 = 19 * wpls; 15812 wpls20 = 20 * wpls; 15813 wpls21 = 21 * wpls; 15814 wpls22 = 22 * wpls; 15815 wpls23 = 23 * wpls; 15816 wpls24 = 24 * wpls; 15817 wpls25 = 25 * wpls; 15818 wpls26 = 26 * wpls; 15819 wpls27 = 27 * wpls; 15820 wpls28 = 28 * wpls; 15821 wpls29 = 29 * wpls; 15822 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15823 15824 for (i = 0; i < h; i++) { 15825 sptr = datas + i * wpls; 15826 dptr = datad + i * wpld; 15827 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15828 *dptr = (*(sptr + wpls29)) | 15829 (*(sptr + wpls28)) | 15830 (*(sptr + wpls27)) | 15831 (*(sptr + wpls26)) | 15832 (*(sptr + wpls25)) | 15833 (*(sptr + wpls24)) | 15834 (*(sptr + wpls23)) | 15835 (*(sptr + wpls22)) | 15836 (*(sptr + wpls21)) | 15837 (*(sptr + wpls20)) | 15838 (*(sptr + wpls19)) | 15839 (*(sptr + wpls18)) | 15840 (*(sptr + wpls17)) | 15841 (*(sptr + wpls16)) | 15842 (*(sptr + wpls15)) | 15843 (*(sptr + wpls14)) | 15844 (*(sptr + wpls13)) | 15845 (*(sptr + wpls12)) | 15846 (*(sptr + wpls11)) | 15847 (*(sptr + wpls10)) | 15848 (*(sptr + wpls9)) | 15849 (*(sptr + wpls8)) | 15850 (*(sptr + wpls7)) | 15851 (*(sptr + wpls6)) | 15852 (*(sptr + wpls5)) | 15853 (*(sptr + wpls4)) | 15854 (*(sptr + wpls3)) | 15855 (*(sptr + wpls2)) | 15856 (*(sptr + wpls)) | 15857 (*sptr) | 15858 (*(sptr - wpls)) | 15859 (*(sptr - wpls2)) | 15860 (*(sptr - wpls3)) | 15861 (*(sptr - wpls4)) | 15862 (*(sptr - wpls5)) | 15863 (*(sptr - wpls6)) | 15864 (*(sptr - wpls7)) | 15865 (*(sptr - wpls8)) | 15866 (*(sptr - wpls9)) | 15867 (*(sptr - wpls10)) | 15868 (*(sptr - wpls11)) | 15869 (*(sptr - wpls12)) | 15870 (*(sptr - wpls13)) | 15871 (*(sptr - wpls14)) | 15872 (*(sptr - wpls15)) | 15873 (*(sptr - wpls16)) | 15874 (*(sptr - wpls17)) | 15875 (*(sptr - wpls18)) | 15876 (*(sptr - wpls19)) | 15877 (*(sptr - wpls20)) | 15878 (*(sptr - wpls21)) | 15879 (*(sptr - wpls22)) | 15880 (*(sptr - wpls23)) | 15881 (*(sptr - wpls24)) | 15882 (*(sptr - wpls25)) | 15883 (*(sptr - wpls26)) | 15884 (*(sptr - wpls27)) | 15885 (*(sptr - wpls28)) | 15886 (*(sptr - wpls29)); 15887 } 15888 } 15889 } 15890 15891 static void 15892 ferode_3_119(l_uint32 *datad, 15893 l_int32 w, 15894 l_int32 h, 15895 l_int32 wpld, 15896 l_uint32 *datas, 15897 l_int32 wpls) 15898 { 15899 l_int32 i; 15900 register l_int32 j, pwpls; 15901 register l_uint32 *sptr, *dptr; 15902 l_int32 wpls2, wpls3, wpls4; 15903 l_int32 wpls5, wpls6, wpls7, wpls8; 15904 l_int32 wpls9, wpls10, wpls11, wpls12; 15905 l_int32 wpls13, wpls14, wpls15, wpls16; 15906 l_int32 wpls17, wpls18, wpls19, wpls20; 15907 l_int32 wpls21, wpls22, wpls23, wpls24; 15908 l_int32 wpls25, wpls26, wpls27, wpls28; 15909 l_int32 wpls29; 15910 15911 wpls2 = 2 * wpls; 15912 wpls3 = 3 * wpls; 15913 wpls4 = 4 * wpls; 15914 wpls5 = 5 * wpls; 15915 wpls6 = 6 * wpls; 15916 wpls7 = 7 * wpls; 15917 wpls8 = 8 * wpls; 15918 wpls9 = 9 * wpls; 15919 wpls10 = 10 * wpls; 15920 wpls11 = 11 * wpls; 15921 wpls12 = 12 * wpls; 15922 wpls13 = 13 * wpls; 15923 wpls14 = 14 * wpls; 15924 wpls15 = 15 * wpls; 15925 wpls16 = 16 * wpls; 15926 wpls17 = 17 * wpls; 15927 wpls18 = 18 * wpls; 15928 wpls19 = 19 * wpls; 15929 wpls20 = 20 * wpls; 15930 wpls21 = 21 * wpls; 15931 wpls22 = 22 * wpls; 15932 wpls23 = 23 * wpls; 15933 wpls24 = 24 * wpls; 15934 wpls25 = 25 * wpls; 15935 wpls26 = 26 * wpls; 15936 wpls27 = 27 * wpls; 15937 wpls28 = 28 * wpls; 15938 wpls29 = 29 * wpls; 15939 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 15940 15941 for (i = 0; i < h; i++) { 15942 sptr = datas + i * wpls; 15943 dptr = datad + i * wpld; 15944 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 15945 *dptr = (*(sptr - wpls29)) & 15946 (*(sptr - wpls28)) & 15947 (*(sptr - wpls27)) & 15948 (*(sptr - wpls26)) & 15949 (*(sptr - wpls25)) & 15950 (*(sptr - wpls24)) & 15951 (*(sptr - wpls23)) & 15952 (*(sptr - wpls22)) & 15953 (*(sptr - wpls21)) & 15954 (*(sptr - wpls20)) & 15955 (*(sptr - wpls19)) & 15956 (*(sptr - wpls18)) & 15957 (*(sptr - wpls17)) & 15958 (*(sptr - wpls16)) & 15959 (*(sptr - wpls15)) & 15960 (*(sptr - wpls14)) & 15961 (*(sptr - wpls13)) & 15962 (*(sptr - wpls12)) & 15963 (*(sptr - wpls11)) & 15964 (*(sptr - wpls10)) & 15965 (*(sptr - wpls9)) & 15966 (*(sptr - wpls8)) & 15967 (*(sptr - wpls7)) & 15968 (*(sptr - wpls6)) & 15969 (*(sptr - wpls5)) & 15970 (*(sptr - wpls4)) & 15971 (*(sptr - wpls3)) & 15972 (*(sptr - wpls2)) & 15973 (*(sptr - wpls)) & 15974 (*sptr) & 15975 (*(sptr + wpls)) & 15976 (*(sptr + wpls2)) & 15977 (*(sptr + wpls3)) & 15978 (*(sptr + wpls4)) & 15979 (*(sptr + wpls5)) & 15980 (*(sptr + wpls6)) & 15981 (*(sptr + wpls7)) & 15982 (*(sptr + wpls8)) & 15983 (*(sptr + wpls9)) & 15984 (*(sptr + wpls10)) & 15985 (*(sptr + wpls11)) & 15986 (*(sptr + wpls12)) & 15987 (*(sptr + wpls13)) & 15988 (*(sptr + wpls14)) & 15989 (*(sptr + wpls15)) & 15990 (*(sptr + wpls16)) & 15991 (*(sptr + wpls17)) & 15992 (*(sptr + wpls18)) & 15993 (*(sptr + wpls19)) & 15994 (*(sptr + wpls20)) & 15995 (*(sptr + wpls21)) & 15996 (*(sptr + wpls22)) & 15997 (*(sptr + wpls23)) & 15998 (*(sptr + wpls24)) & 15999 (*(sptr + wpls25)) & 16000 (*(sptr + wpls26)) & 16001 (*(sptr + wpls27)) & 16002 (*(sptr + wpls28)) & 16003 (*(sptr + wpls29)); 16004 } 16005 } 16006 } 16007 16008 static void 16009 fdilate_3_120(l_uint32 *datad, 16010 l_int32 w, 16011 l_int32 h, 16012 l_int32 wpld, 16013 l_uint32 *datas, 16014 l_int32 wpls) 16015 { 16016 l_int32 i; 16017 register l_int32 j, pwpls; 16018 register l_uint32 *sptr, *dptr; 16019 l_int32 wpls2, wpls3, wpls4; 16020 l_int32 wpls5, wpls6, wpls7, wpls8; 16021 l_int32 wpls9, wpls10, wpls11, wpls12; 16022 l_int32 wpls13, wpls14, wpls15, wpls16; 16023 l_int32 wpls17, wpls18, wpls19, wpls20; 16024 l_int32 wpls21, wpls22, wpls23, wpls24; 16025 l_int32 wpls25, wpls26, wpls27, wpls28; 16026 l_int32 wpls29, wpls30; 16027 16028 wpls2 = 2 * wpls; 16029 wpls3 = 3 * wpls; 16030 wpls4 = 4 * wpls; 16031 wpls5 = 5 * wpls; 16032 wpls6 = 6 * wpls; 16033 wpls7 = 7 * wpls; 16034 wpls8 = 8 * wpls; 16035 wpls9 = 9 * wpls; 16036 wpls10 = 10 * wpls; 16037 wpls11 = 11 * wpls; 16038 wpls12 = 12 * wpls; 16039 wpls13 = 13 * wpls; 16040 wpls14 = 14 * wpls; 16041 wpls15 = 15 * wpls; 16042 wpls16 = 16 * wpls; 16043 wpls17 = 17 * wpls; 16044 wpls18 = 18 * wpls; 16045 wpls19 = 19 * wpls; 16046 wpls20 = 20 * wpls; 16047 wpls21 = 21 * wpls; 16048 wpls22 = 22 * wpls; 16049 wpls23 = 23 * wpls; 16050 wpls24 = 24 * wpls; 16051 wpls25 = 25 * wpls; 16052 wpls26 = 26 * wpls; 16053 wpls27 = 27 * wpls; 16054 wpls28 = 28 * wpls; 16055 wpls29 = 29 * wpls; 16056 wpls30 = 30 * wpls; 16057 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16058 16059 for (i = 0; i < h; i++) { 16060 sptr = datas + i * wpls; 16061 dptr = datad + i * wpld; 16062 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16063 *dptr = (*(sptr + wpls30)) | 16064 (*(sptr + wpls29)) | 16065 (*(sptr + wpls28)) | 16066 (*(sptr + wpls27)) | 16067 (*(sptr + wpls26)) | 16068 (*(sptr + wpls25)) | 16069 (*(sptr + wpls24)) | 16070 (*(sptr + wpls23)) | 16071 (*(sptr + wpls22)) | 16072 (*(sptr + wpls21)) | 16073 (*(sptr + wpls20)) | 16074 (*(sptr + wpls19)) | 16075 (*(sptr + wpls18)) | 16076 (*(sptr + wpls17)) | 16077 (*(sptr + wpls16)) | 16078 (*(sptr + wpls15)) | 16079 (*(sptr + wpls14)) | 16080 (*(sptr + wpls13)) | 16081 (*(sptr + wpls12)) | 16082 (*(sptr + wpls11)) | 16083 (*(sptr + wpls10)) | 16084 (*(sptr + wpls9)) | 16085 (*(sptr + wpls8)) | 16086 (*(sptr + wpls7)) | 16087 (*(sptr + wpls6)) | 16088 (*(sptr + wpls5)) | 16089 (*(sptr + wpls4)) | 16090 (*(sptr + wpls3)) | 16091 (*(sptr + wpls2)) | 16092 (*(sptr + wpls)) | 16093 (*sptr) | 16094 (*(sptr - wpls)) | 16095 (*(sptr - wpls2)) | 16096 (*(sptr - wpls3)) | 16097 (*(sptr - wpls4)) | 16098 (*(sptr - wpls5)) | 16099 (*(sptr - wpls6)) | 16100 (*(sptr - wpls7)) | 16101 (*(sptr - wpls8)) | 16102 (*(sptr - wpls9)) | 16103 (*(sptr - wpls10)) | 16104 (*(sptr - wpls11)) | 16105 (*(sptr - wpls12)) | 16106 (*(sptr - wpls13)) | 16107 (*(sptr - wpls14)) | 16108 (*(sptr - wpls15)) | 16109 (*(sptr - wpls16)) | 16110 (*(sptr - wpls17)) | 16111 (*(sptr - wpls18)) | 16112 (*(sptr - wpls19)) | 16113 (*(sptr - wpls20)) | 16114 (*(sptr - wpls21)) | 16115 (*(sptr - wpls22)) | 16116 (*(sptr - wpls23)) | 16117 (*(sptr - wpls24)) | 16118 (*(sptr - wpls25)) | 16119 (*(sptr - wpls26)) | 16120 (*(sptr - wpls27)) | 16121 (*(sptr - wpls28)) | 16122 (*(sptr - wpls29)); 16123 } 16124 } 16125 } 16126 16127 static void 16128 ferode_3_120(l_uint32 *datad, 16129 l_int32 w, 16130 l_int32 h, 16131 l_int32 wpld, 16132 l_uint32 *datas, 16133 l_int32 wpls) 16134 { 16135 l_int32 i; 16136 register l_int32 j, pwpls; 16137 register l_uint32 *sptr, *dptr; 16138 l_int32 wpls2, wpls3, wpls4; 16139 l_int32 wpls5, wpls6, wpls7, wpls8; 16140 l_int32 wpls9, wpls10, wpls11, wpls12; 16141 l_int32 wpls13, wpls14, wpls15, wpls16; 16142 l_int32 wpls17, wpls18, wpls19, wpls20; 16143 l_int32 wpls21, wpls22, wpls23, wpls24; 16144 l_int32 wpls25, wpls26, wpls27, wpls28; 16145 l_int32 wpls29, wpls30; 16146 16147 wpls2 = 2 * wpls; 16148 wpls3 = 3 * wpls; 16149 wpls4 = 4 * wpls; 16150 wpls5 = 5 * wpls; 16151 wpls6 = 6 * wpls; 16152 wpls7 = 7 * wpls; 16153 wpls8 = 8 * wpls; 16154 wpls9 = 9 * wpls; 16155 wpls10 = 10 * wpls; 16156 wpls11 = 11 * wpls; 16157 wpls12 = 12 * wpls; 16158 wpls13 = 13 * wpls; 16159 wpls14 = 14 * wpls; 16160 wpls15 = 15 * wpls; 16161 wpls16 = 16 * wpls; 16162 wpls17 = 17 * wpls; 16163 wpls18 = 18 * wpls; 16164 wpls19 = 19 * wpls; 16165 wpls20 = 20 * wpls; 16166 wpls21 = 21 * wpls; 16167 wpls22 = 22 * wpls; 16168 wpls23 = 23 * wpls; 16169 wpls24 = 24 * wpls; 16170 wpls25 = 25 * wpls; 16171 wpls26 = 26 * wpls; 16172 wpls27 = 27 * wpls; 16173 wpls28 = 28 * wpls; 16174 wpls29 = 29 * wpls; 16175 wpls30 = 30 * wpls; 16176 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16177 16178 for (i = 0; i < h; i++) { 16179 sptr = datas + i * wpls; 16180 dptr = datad + i * wpld; 16181 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16182 *dptr = (*(sptr - wpls30)) & 16183 (*(sptr - wpls29)) & 16184 (*(sptr - wpls28)) & 16185 (*(sptr - wpls27)) & 16186 (*(sptr - wpls26)) & 16187 (*(sptr - wpls25)) & 16188 (*(sptr - wpls24)) & 16189 (*(sptr - wpls23)) & 16190 (*(sptr - wpls22)) & 16191 (*(sptr - wpls21)) & 16192 (*(sptr - wpls20)) & 16193 (*(sptr - wpls19)) & 16194 (*(sptr - wpls18)) & 16195 (*(sptr - wpls17)) & 16196 (*(sptr - wpls16)) & 16197 (*(sptr - wpls15)) & 16198 (*(sptr - wpls14)) & 16199 (*(sptr - wpls13)) & 16200 (*(sptr - wpls12)) & 16201 (*(sptr - wpls11)) & 16202 (*(sptr - wpls10)) & 16203 (*(sptr - wpls9)) & 16204 (*(sptr - wpls8)) & 16205 (*(sptr - wpls7)) & 16206 (*(sptr - wpls6)) & 16207 (*(sptr - wpls5)) & 16208 (*(sptr - wpls4)) & 16209 (*(sptr - wpls3)) & 16210 (*(sptr - wpls2)) & 16211 (*(sptr - wpls)) & 16212 (*sptr) & 16213 (*(sptr + wpls)) & 16214 (*(sptr + wpls2)) & 16215 (*(sptr + wpls3)) & 16216 (*(sptr + wpls4)) & 16217 (*(sptr + wpls5)) & 16218 (*(sptr + wpls6)) & 16219 (*(sptr + wpls7)) & 16220 (*(sptr + wpls8)) & 16221 (*(sptr + wpls9)) & 16222 (*(sptr + wpls10)) & 16223 (*(sptr + wpls11)) & 16224 (*(sptr + wpls12)) & 16225 (*(sptr + wpls13)) & 16226 (*(sptr + wpls14)) & 16227 (*(sptr + wpls15)) & 16228 (*(sptr + wpls16)) & 16229 (*(sptr + wpls17)) & 16230 (*(sptr + wpls18)) & 16231 (*(sptr + wpls19)) & 16232 (*(sptr + wpls20)) & 16233 (*(sptr + wpls21)) & 16234 (*(sptr + wpls22)) & 16235 (*(sptr + wpls23)) & 16236 (*(sptr + wpls24)) & 16237 (*(sptr + wpls25)) & 16238 (*(sptr + wpls26)) & 16239 (*(sptr + wpls27)) & 16240 (*(sptr + wpls28)) & 16241 (*(sptr + wpls29)); 16242 } 16243 } 16244 } 16245 16246 static void 16247 fdilate_3_121(l_uint32 *datad, 16248 l_int32 w, 16249 l_int32 h, 16250 l_int32 wpld, 16251 l_uint32 *datas, 16252 l_int32 wpls) 16253 { 16254 l_int32 i; 16255 register l_int32 j, pwpls; 16256 register l_uint32 *sptr, *dptr; 16257 l_int32 wpls2, wpls3, wpls4; 16258 l_int32 wpls5, wpls6, wpls7, wpls8; 16259 l_int32 wpls9, wpls10, wpls11, wpls12; 16260 l_int32 wpls13, wpls14, wpls15, wpls16; 16261 l_int32 wpls17, wpls18, wpls19, wpls20; 16262 l_int32 wpls21, wpls22, wpls23, wpls24; 16263 l_int32 wpls25, wpls26, wpls27, wpls28; 16264 l_int32 wpls29, wpls30; 16265 16266 wpls2 = 2 * wpls; 16267 wpls3 = 3 * wpls; 16268 wpls4 = 4 * wpls; 16269 wpls5 = 5 * wpls; 16270 wpls6 = 6 * wpls; 16271 wpls7 = 7 * wpls; 16272 wpls8 = 8 * wpls; 16273 wpls9 = 9 * wpls; 16274 wpls10 = 10 * wpls; 16275 wpls11 = 11 * wpls; 16276 wpls12 = 12 * wpls; 16277 wpls13 = 13 * wpls; 16278 wpls14 = 14 * wpls; 16279 wpls15 = 15 * wpls; 16280 wpls16 = 16 * wpls; 16281 wpls17 = 17 * wpls; 16282 wpls18 = 18 * wpls; 16283 wpls19 = 19 * wpls; 16284 wpls20 = 20 * wpls; 16285 wpls21 = 21 * wpls; 16286 wpls22 = 22 * wpls; 16287 wpls23 = 23 * wpls; 16288 wpls24 = 24 * wpls; 16289 wpls25 = 25 * wpls; 16290 wpls26 = 26 * wpls; 16291 wpls27 = 27 * wpls; 16292 wpls28 = 28 * wpls; 16293 wpls29 = 29 * wpls; 16294 wpls30 = 30 * wpls; 16295 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16296 16297 for (i = 0; i < h; i++) { 16298 sptr = datas + i * wpls; 16299 dptr = datad + i * wpld; 16300 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16301 *dptr = (*(sptr + wpls30)) | 16302 (*(sptr + wpls29)) | 16303 (*(sptr + wpls28)) | 16304 (*(sptr + wpls27)) | 16305 (*(sptr + wpls26)) | 16306 (*(sptr + wpls25)) | 16307 (*(sptr + wpls24)) | 16308 (*(sptr + wpls23)) | 16309 (*(sptr + wpls22)) | 16310 (*(sptr + wpls21)) | 16311 (*(sptr + wpls20)) | 16312 (*(sptr + wpls19)) | 16313 (*(sptr + wpls18)) | 16314 (*(sptr + wpls17)) | 16315 (*(sptr + wpls16)) | 16316 (*(sptr + wpls15)) | 16317 (*(sptr + wpls14)) | 16318 (*(sptr + wpls13)) | 16319 (*(sptr + wpls12)) | 16320 (*(sptr + wpls11)) | 16321 (*(sptr + wpls10)) | 16322 (*(sptr + wpls9)) | 16323 (*(sptr + wpls8)) | 16324 (*(sptr + wpls7)) | 16325 (*(sptr + wpls6)) | 16326 (*(sptr + wpls5)) | 16327 (*(sptr + wpls4)) | 16328 (*(sptr + wpls3)) | 16329 (*(sptr + wpls2)) | 16330 (*(sptr + wpls)) | 16331 (*sptr) | 16332 (*(sptr - wpls)) | 16333 (*(sptr - wpls2)) | 16334 (*(sptr - wpls3)) | 16335 (*(sptr - wpls4)) | 16336 (*(sptr - wpls5)) | 16337 (*(sptr - wpls6)) | 16338 (*(sptr - wpls7)) | 16339 (*(sptr - wpls8)) | 16340 (*(sptr - wpls9)) | 16341 (*(sptr - wpls10)) | 16342 (*(sptr - wpls11)) | 16343 (*(sptr - wpls12)) | 16344 (*(sptr - wpls13)) | 16345 (*(sptr - wpls14)) | 16346 (*(sptr - wpls15)) | 16347 (*(sptr - wpls16)) | 16348 (*(sptr - wpls17)) | 16349 (*(sptr - wpls18)) | 16350 (*(sptr - wpls19)) | 16351 (*(sptr - wpls20)) | 16352 (*(sptr - wpls21)) | 16353 (*(sptr - wpls22)) | 16354 (*(sptr - wpls23)) | 16355 (*(sptr - wpls24)) | 16356 (*(sptr - wpls25)) | 16357 (*(sptr - wpls26)) | 16358 (*(sptr - wpls27)) | 16359 (*(sptr - wpls28)) | 16360 (*(sptr - wpls29)) | 16361 (*(sptr - wpls30)); 16362 } 16363 } 16364 } 16365 16366 static void 16367 ferode_3_121(l_uint32 *datad, 16368 l_int32 w, 16369 l_int32 h, 16370 l_int32 wpld, 16371 l_uint32 *datas, 16372 l_int32 wpls) 16373 { 16374 l_int32 i; 16375 register l_int32 j, pwpls; 16376 register l_uint32 *sptr, *dptr; 16377 l_int32 wpls2, wpls3, wpls4; 16378 l_int32 wpls5, wpls6, wpls7, wpls8; 16379 l_int32 wpls9, wpls10, wpls11, wpls12; 16380 l_int32 wpls13, wpls14, wpls15, wpls16; 16381 l_int32 wpls17, wpls18, wpls19, wpls20; 16382 l_int32 wpls21, wpls22, wpls23, wpls24; 16383 l_int32 wpls25, wpls26, wpls27, wpls28; 16384 l_int32 wpls29, wpls30; 16385 16386 wpls2 = 2 * wpls; 16387 wpls3 = 3 * wpls; 16388 wpls4 = 4 * wpls; 16389 wpls5 = 5 * wpls; 16390 wpls6 = 6 * wpls; 16391 wpls7 = 7 * wpls; 16392 wpls8 = 8 * wpls; 16393 wpls9 = 9 * wpls; 16394 wpls10 = 10 * wpls; 16395 wpls11 = 11 * wpls; 16396 wpls12 = 12 * wpls; 16397 wpls13 = 13 * wpls; 16398 wpls14 = 14 * wpls; 16399 wpls15 = 15 * wpls; 16400 wpls16 = 16 * wpls; 16401 wpls17 = 17 * wpls; 16402 wpls18 = 18 * wpls; 16403 wpls19 = 19 * wpls; 16404 wpls20 = 20 * wpls; 16405 wpls21 = 21 * wpls; 16406 wpls22 = 22 * wpls; 16407 wpls23 = 23 * wpls; 16408 wpls24 = 24 * wpls; 16409 wpls25 = 25 * wpls; 16410 wpls26 = 26 * wpls; 16411 wpls27 = 27 * wpls; 16412 wpls28 = 28 * wpls; 16413 wpls29 = 29 * wpls; 16414 wpls30 = 30 * wpls; 16415 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16416 16417 for (i = 0; i < h; i++) { 16418 sptr = datas + i * wpls; 16419 dptr = datad + i * wpld; 16420 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16421 *dptr = (*(sptr - wpls30)) & 16422 (*(sptr - wpls29)) & 16423 (*(sptr - wpls28)) & 16424 (*(sptr - wpls27)) & 16425 (*(sptr - wpls26)) & 16426 (*(sptr - wpls25)) & 16427 (*(sptr - wpls24)) & 16428 (*(sptr - wpls23)) & 16429 (*(sptr - wpls22)) & 16430 (*(sptr - wpls21)) & 16431 (*(sptr - wpls20)) & 16432 (*(sptr - wpls19)) & 16433 (*(sptr - wpls18)) & 16434 (*(sptr - wpls17)) & 16435 (*(sptr - wpls16)) & 16436 (*(sptr - wpls15)) & 16437 (*(sptr - wpls14)) & 16438 (*(sptr - wpls13)) & 16439 (*(sptr - wpls12)) & 16440 (*(sptr - wpls11)) & 16441 (*(sptr - wpls10)) & 16442 (*(sptr - wpls9)) & 16443 (*(sptr - wpls8)) & 16444 (*(sptr - wpls7)) & 16445 (*(sptr - wpls6)) & 16446 (*(sptr - wpls5)) & 16447 (*(sptr - wpls4)) & 16448 (*(sptr - wpls3)) & 16449 (*(sptr - wpls2)) & 16450 (*(sptr - wpls)) & 16451 (*sptr) & 16452 (*(sptr + wpls)) & 16453 (*(sptr + wpls2)) & 16454 (*(sptr + wpls3)) & 16455 (*(sptr + wpls4)) & 16456 (*(sptr + wpls5)) & 16457 (*(sptr + wpls6)) & 16458 (*(sptr + wpls7)) & 16459 (*(sptr + wpls8)) & 16460 (*(sptr + wpls9)) & 16461 (*(sptr + wpls10)) & 16462 (*(sptr + wpls11)) & 16463 (*(sptr + wpls12)) & 16464 (*(sptr + wpls13)) & 16465 (*(sptr + wpls14)) & 16466 (*(sptr + wpls15)) & 16467 (*(sptr + wpls16)) & 16468 (*(sptr + wpls17)) & 16469 (*(sptr + wpls18)) & 16470 (*(sptr + wpls19)) & 16471 (*(sptr + wpls20)) & 16472 (*(sptr + wpls21)) & 16473 (*(sptr + wpls22)) & 16474 (*(sptr + wpls23)) & 16475 (*(sptr + wpls24)) & 16476 (*(sptr + wpls25)) & 16477 (*(sptr + wpls26)) & 16478 (*(sptr + wpls27)) & 16479 (*(sptr + wpls28)) & 16480 (*(sptr + wpls29)) & 16481 (*(sptr + wpls30)); 16482 } 16483 } 16484 } 16485 16486 static void 16487 fdilate_3_122(l_uint32 *datad, 16488 l_int32 w, 16489 l_int32 h, 16490 l_int32 wpld, 16491 l_uint32 *datas, 16492 l_int32 wpls) 16493 { 16494 l_int32 i; 16495 register l_int32 j, pwpls; 16496 register l_uint32 *sptr, *dptr; 16497 l_int32 wpls2, wpls3, wpls4; 16498 l_int32 wpls5, wpls6, wpls7, wpls8; 16499 l_int32 wpls9, wpls10, wpls11, wpls12; 16500 l_int32 wpls13, wpls14, wpls15, wpls16; 16501 l_int32 wpls17, wpls18, wpls19, wpls20; 16502 l_int32 wpls21, wpls22, wpls23, wpls24; 16503 l_int32 wpls25, wpls26, wpls27, wpls28; 16504 l_int32 wpls29, wpls30, wpls31; 16505 16506 wpls2 = 2 * wpls; 16507 wpls3 = 3 * wpls; 16508 wpls4 = 4 * wpls; 16509 wpls5 = 5 * wpls; 16510 wpls6 = 6 * wpls; 16511 wpls7 = 7 * wpls; 16512 wpls8 = 8 * wpls; 16513 wpls9 = 9 * wpls; 16514 wpls10 = 10 * wpls; 16515 wpls11 = 11 * wpls; 16516 wpls12 = 12 * wpls; 16517 wpls13 = 13 * wpls; 16518 wpls14 = 14 * wpls; 16519 wpls15 = 15 * wpls; 16520 wpls16 = 16 * wpls; 16521 wpls17 = 17 * wpls; 16522 wpls18 = 18 * wpls; 16523 wpls19 = 19 * wpls; 16524 wpls20 = 20 * wpls; 16525 wpls21 = 21 * wpls; 16526 wpls22 = 22 * wpls; 16527 wpls23 = 23 * wpls; 16528 wpls24 = 24 * wpls; 16529 wpls25 = 25 * wpls; 16530 wpls26 = 26 * wpls; 16531 wpls27 = 27 * wpls; 16532 wpls28 = 28 * wpls; 16533 wpls29 = 29 * wpls; 16534 wpls30 = 30 * wpls; 16535 wpls31 = 31 * wpls; 16536 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16537 16538 for (i = 0; i < h; i++) { 16539 sptr = datas + i * wpls; 16540 dptr = datad + i * wpld; 16541 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16542 *dptr = (*(sptr + wpls31)) | 16543 (*(sptr + wpls30)) | 16544 (*(sptr + wpls29)) | 16545 (*(sptr + wpls28)) | 16546 (*(sptr + wpls27)) | 16547 (*(sptr + wpls26)) | 16548 (*(sptr + wpls25)) | 16549 (*(sptr + wpls24)) | 16550 (*(sptr + wpls23)) | 16551 (*(sptr + wpls22)) | 16552 (*(sptr + wpls21)) | 16553 (*(sptr + wpls20)) | 16554 (*(sptr + wpls19)) | 16555 (*(sptr + wpls18)) | 16556 (*(sptr + wpls17)) | 16557 (*(sptr + wpls16)) | 16558 (*(sptr + wpls15)) | 16559 (*(sptr + wpls14)) | 16560 (*(sptr + wpls13)) | 16561 (*(sptr + wpls12)) | 16562 (*(sptr + wpls11)) | 16563 (*(sptr + wpls10)) | 16564 (*(sptr + wpls9)) | 16565 (*(sptr + wpls8)) | 16566 (*(sptr + wpls7)) | 16567 (*(sptr + wpls6)) | 16568 (*(sptr + wpls5)) | 16569 (*(sptr + wpls4)) | 16570 (*(sptr + wpls3)) | 16571 (*(sptr + wpls2)) | 16572 (*(sptr + wpls)) | 16573 (*sptr) | 16574 (*(sptr - wpls)) | 16575 (*(sptr - wpls2)) | 16576 (*(sptr - wpls3)) | 16577 (*(sptr - wpls4)) | 16578 (*(sptr - wpls5)) | 16579 (*(sptr - wpls6)) | 16580 (*(sptr - wpls7)) | 16581 (*(sptr - wpls8)) | 16582 (*(sptr - wpls9)) | 16583 (*(sptr - wpls10)) | 16584 (*(sptr - wpls11)) | 16585 (*(sptr - wpls12)) | 16586 (*(sptr - wpls13)) | 16587 (*(sptr - wpls14)) | 16588 (*(sptr - wpls15)) | 16589 (*(sptr - wpls16)) | 16590 (*(sptr - wpls17)) | 16591 (*(sptr - wpls18)) | 16592 (*(sptr - wpls19)) | 16593 (*(sptr - wpls20)) | 16594 (*(sptr - wpls21)) | 16595 (*(sptr - wpls22)) | 16596 (*(sptr - wpls23)) | 16597 (*(sptr - wpls24)) | 16598 (*(sptr - wpls25)) | 16599 (*(sptr - wpls26)) | 16600 (*(sptr - wpls27)) | 16601 (*(sptr - wpls28)) | 16602 (*(sptr - wpls29)) | 16603 (*(sptr - wpls30)); 16604 } 16605 } 16606 } 16607 16608 static void 16609 ferode_3_122(l_uint32 *datad, 16610 l_int32 w, 16611 l_int32 h, 16612 l_int32 wpld, 16613 l_uint32 *datas, 16614 l_int32 wpls) 16615 { 16616 l_int32 i; 16617 register l_int32 j, pwpls; 16618 register l_uint32 *sptr, *dptr; 16619 l_int32 wpls2, wpls3, wpls4; 16620 l_int32 wpls5, wpls6, wpls7, wpls8; 16621 l_int32 wpls9, wpls10, wpls11, wpls12; 16622 l_int32 wpls13, wpls14, wpls15, wpls16; 16623 l_int32 wpls17, wpls18, wpls19, wpls20; 16624 l_int32 wpls21, wpls22, wpls23, wpls24; 16625 l_int32 wpls25, wpls26, wpls27, wpls28; 16626 l_int32 wpls29, wpls30, wpls31; 16627 16628 wpls2 = 2 * wpls; 16629 wpls3 = 3 * wpls; 16630 wpls4 = 4 * wpls; 16631 wpls5 = 5 * wpls; 16632 wpls6 = 6 * wpls; 16633 wpls7 = 7 * wpls; 16634 wpls8 = 8 * wpls; 16635 wpls9 = 9 * wpls; 16636 wpls10 = 10 * wpls; 16637 wpls11 = 11 * wpls; 16638 wpls12 = 12 * wpls; 16639 wpls13 = 13 * wpls; 16640 wpls14 = 14 * wpls; 16641 wpls15 = 15 * wpls; 16642 wpls16 = 16 * wpls; 16643 wpls17 = 17 * wpls; 16644 wpls18 = 18 * wpls; 16645 wpls19 = 19 * wpls; 16646 wpls20 = 20 * wpls; 16647 wpls21 = 21 * wpls; 16648 wpls22 = 22 * wpls; 16649 wpls23 = 23 * wpls; 16650 wpls24 = 24 * wpls; 16651 wpls25 = 25 * wpls; 16652 wpls26 = 26 * wpls; 16653 wpls27 = 27 * wpls; 16654 wpls28 = 28 * wpls; 16655 wpls29 = 29 * wpls; 16656 wpls30 = 30 * wpls; 16657 wpls31 = 31 * wpls; 16658 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16659 16660 for (i = 0; i < h; i++) { 16661 sptr = datas + i * wpls; 16662 dptr = datad + i * wpld; 16663 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16664 *dptr = (*(sptr - wpls31)) & 16665 (*(sptr - wpls30)) & 16666 (*(sptr - wpls29)) & 16667 (*(sptr - wpls28)) & 16668 (*(sptr - wpls27)) & 16669 (*(sptr - wpls26)) & 16670 (*(sptr - wpls25)) & 16671 (*(sptr - wpls24)) & 16672 (*(sptr - wpls23)) & 16673 (*(sptr - wpls22)) & 16674 (*(sptr - wpls21)) & 16675 (*(sptr - wpls20)) & 16676 (*(sptr - wpls19)) & 16677 (*(sptr - wpls18)) & 16678 (*(sptr - wpls17)) & 16679 (*(sptr - wpls16)) & 16680 (*(sptr - wpls15)) & 16681 (*(sptr - wpls14)) & 16682 (*(sptr - wpls13)) & 16683 (*(sptr - wpls12)) & 16684 (*(sptr - wpls11)) & 16685 (*(sptr - wpls10)) & 16686 (*(sptr - wpls9)) & 16687 (*(sptr - wpls8)) & 16688 (*(sptr - wpls7)) & 16689 (*(sptr - wpls6)) & 16690 (*(sptr - wpls5)) & 16691 (*(sptr - wpls4)) & 16692 (*(sptr - wpls3)) & 16693 (*(sptr - wpls2)) & 16694 (*(sptr - wpls)) & 16695 (*sptr) & 16696 (*(sptr + wpls)) & 16697 (*(sptr + wpls2)) & 16698 (*(sptr + wpls3)) & 16699 (*(sptr + wpls4)) & 16700 (*(sptr + wpls5)) & 16701 (*(sptr + wpls6)) & 16702 (*(sptr + wpls7)) & 16703 (*(sptr + wpls8)) & 16704 (*(sptr + wpls9)) & 16705 (*(sptr + wpls10)) & 16706 (*(sptr + wpls11)) & 16707 (*(sptr + wpls12)) & 16708 (*(sptr + wpls13)) & 16709 (*(sptr + wpls14)) & 16710 (*(sptr + wpls15)) & 16711 (*(sptr + wpls16)) & 16712 (*(sptr + wpls17)) & 16713 (*(sptr + wpls18)) & 16714 (*(sptr + wpls19)) & 16715 (*(sptr + wpls20)) & 16716 (*(sptr + wpls21)) & 16717 (*(sptr + wpls22)) & 16718 (*(sptr + wpls23)) & 16719 (*(sptr + wpls24)) & 16720 (*(sptr + wpls25)) & 16721 (*(sptr + wpls26)) & 16722 (*(sptr + wpls27)) & 16723 (*(sptr + wpls28)) & 16724 (*(sptr + wpls29)) & 16725 (*(sptr + wpls30)); 16726 } 16727 } 16728 } 16729 16730 static void 16731 fdilate_3_123(l_uint32 *datad, 16732 l_int32 w, 16733 l_int32 h, 16734 l_int32 wpld, 16735 l_uint32 *datas, 16736 l_int32 wpls) 16737 { 16738 l_int32 i; 16739 register l_int32 j, pwpls; 16740 register l_uint32 *sptr, *dptr; 16741 l_int32 wpls2, wpls3, wpls4; 16742 l_int32 wpls5, wpls6, wpls7, wpls8; 16743 l_int32 wpls9, wpls10, wpls11, wpls12; 16744 l_int32 wpls13, wpls14, wpls15, wpls16; 16745 l_int32 wpls17, wpls18, wpls19, wpls20; 16746 l_int32 wpls21, wpls22, wpls23, wpls24; 16747 l_int32 wpls25, wpls26, wpls27, wpls28; 16748 l_int32 wpls29, wpls30, wpls31; 16749 16750 wpls2 = 2 * wpls; 16751 wpls3 = 3 * wpls; 16752 wpls4 = 4 * wpls; 16753 wpls5 = 5 * wpls; 16754 wpls6 = 6 * wpls; 16755 wpls7 = 7 * wpls; 16756 wpls8 = 8 * wpls; 16757 wpls9 = 9 * wpls; 16758 wpls10 = 10 * wpls; 16759 wpls11 = 11 * wpls; 16760 wpls12 = 12 * wpls; 16761 wpls13 = 13 * wpls; 16762 wpls14 = 14 * wpls; 16763 wpls15 = 15 * wpls; 16764 wpls16 = 16 * wpls; 16765 wpls17 = 17 * wpls; 16766 wpls18 = 18 * wpls; 16767 wpls19 = 19 * wpls; 16768 wpls20 = 20 * wpls; 16769 wpls21 = 21 * wpls; 16770 wpls22 = 22 * wpls; 16771 wpls23 = 23 * wpls; 16772 wpls24 = 24 * wpls; 16773 wpls25 = 25 * wpls; 16774 wpls26 = 26 * wpls; 16775 wpls27 = 27 * wpls; 16776 wpls28 = 28 * wpls; 16777 wpls29 = 29 * wpls; 16778 wpls30 = 30 * wpls; 16779 wpls31 = 31 * wpls; 16780 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16781 16782 for (i = 0; i < h; i++) { 16783 sptr = datas + i * wpls; 16784 dptr = datad + i * wpld; 16785 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16786 *dptr = (*(sptr + wpls31)) | 16787 (*(sptr + wpls30)) | 16788 (*(sptr + wpls29)) | 16789 (*(sptr + wpls28)) | 16790 (*(sptr + wpls27)) | 16791 (*(sptr + wpls26)) | 16792 (*(sptr + wpls25)) | 16793 (*(sptr + wpls24)) | 16794 (*(sptr + wpls23)) | 16795 (*(sptr + wpls22)) | 16796 (*(sptr + wpls21)) | 16797 (*(sptr + wpls20)) | 16798 (*(sptr + wpls19)) | 16799 (*(sptr + wpls18)) | 16800 (*(sptr + wpls17)) | 16801 (*(sptr + wpls16)) | 16802 (*(sptr + wpls15)) | 16803 (*(sptr + wpls14)) | 16804 (*(sptr + wpls13)) | 16805 (*(sptr + wpls12)) | 16806 (*(sptr + wpls11)) | 16807 (*(sptr + wpls10)) | 16808 (*(sptr + wpls9)) | 16809 (*(sptr + wpls8)) | 16810 (*(sptr + wpls7)) | 16811 (*(sptr + wpls6)) | 16812 (*(sptr + wpls5)) | 16813 (*(sptr + wpls4)) | 16814 (*(sptr + wpls3)) | 16815 (*(sptr + wpls2)) | 16816 (*(sptr + wpls)) | 16817 (*sptr) | 16818 (*(sptr - wpls)) | 16819 (*(sptr - wpls2)) | 16820 (*(sptr - wpls3)) | 16821 (*(sptr - wpls4)) | 16822 (*(sptr - wpls5)) | 16823 (*(sptr - wpls6)) | 16824 (*(sptr - wpls7)) | 16825 (*(sptr - wpls8)) | 16826 (*(sptr - wpls9)) | 16827 (*(sptr - wpls10)) | 16828 (*(sptr - wpls11)) | 16829 (*(sptr - wpls12)) | 16830 (*(sptr - wpls13)) | 16831 (*(sptr - wpls14)) | 16832 (*(sptr - wpls15)) | 16833 (*(sptr - wpls16)) | 16834 (*(sptr - wpls17)) | 16835 (*(sptr - wpls18)) | 16836 (*(sptr - wpls19)) | 16837 (*(sptr - wpls20)) | 16838 (*(sptr - wpls21)) | 16839 (*(sptr - wpls22)) | 16840 (*(sptr - wpls23)) | 16841 (*(sptr - wpls24)) | 16842 (*(sptr - wpls25)) | 16843 (*(sptr - wpls26)) | 16844 (*(sptr - wpls27)) | 16845 (*(sptr - wpls28)) | 16846 (*(sptr - wpls29)) | 16847 (*(sptr - wpls30)) | 16848 (*(sptr - wpls31)); 16849 } 16850 } 16851 } 16852 16853 static void 16854 ferode_3_123(l_uint32 *datad, 16855 l_int32 w, 16856 l_int32 h, 16857 l_int32 wpld, 16858 l_uint32 *datas, 16859 l_int32 wpls) 16860 { 16861 l_int32 i; 16862 register l_int32 j, pwpls; 16863 register l_uint32 *sptr, *dptr; 16864 l_int32 wpls2, wpls3, wpls4; 16865 l_int32 wpls5, wpls6, wpls7, wpls8; 16866 l_int32 wpls9, wpls10, wpls11, wpls12; 16867 l_int32 wpls13, wpls14, wpls15, wpls16; 16868 l_int32 wpls17, wpls18, wpls19, wpls20; 16869 l_int32 wpls21, wpls22, wpls23, wpls24; 16870 l_int32 wpls25, wpls26, wpls27, wpls28; 16871 l_int32 wpls29, wpls30, wpls31; 16872 16873 wpls2 = 2 * wpls; 16874 wpls3 = 3 * wpls; 16875 wpls4 = 4 * wpls; 16876 wpls5 = 5 * wpls; 16877 wpls6 = 6 * wpls; 16878 wpls7 = 7 * wpls; 16879 wpls8 = 8 * wpls; 16880 wpls9 = 9 * wpls; 16881 wpls10 = 10 * wpls; 16882 wpls11 = 11 * wpls; 16883 wpls12 = 12 * wpls; 16884 wpls13 = 13 * wpls; 16885 wpls14 = 14 * wpls; 16886 wpls15 = 15 * wpls; 16887 wpls16 = 16 * wpls; 16888 wpls17 = 17 * wpls; 16889 wpls18 = 18 * wpls; 16890 wpls19 = 19 * wpls; 16891 wpls20 = 20 * wpls; 16892 wpls21 = 21 * wpls; 16893 wpls22 = 22 * wpls; 16894 wpls23 = 23 * wpls; 16895 wpls24 = 24 * wpls; 16896 wpls25 = 25 * wpls; 16897 wpls26 = 26 * wpls; 16898 wpls27 = 27 * wpls; 16899 wpls28 = 28 * wpls; 16900 wpls29 = 29 * wpls; 16901 wpls30 = 30 * wpls; 16902 wpls31 = 31 * wpls; 16903 pwpls = (l_uint32)(w + 31) / 32; /* proper wpl of src */ 16904 16905 for (i = 0; i < h; i++) { 16906 sptr = datas + i * wpls; 16907 dptr = datad + i * wpld; 16908 for (j = 0; j < pwpls; j++, sptr++, dptr++) { 16909 *dptr = (*(sptr - wpls31)) & 16910 (*(sptr - wpls30)) & 16911 (*(sptr - wpls29)) & 16912 (*(sptr - wpls28)) & 16913 (*(sptr - wpls27)) & 16914 (*(sptr - wpls26)) & 16915 (*(sptr - wpls25)) & 16916 (*(sptr - wpls24)) & 16917 (*(sptr - wpls23)) & 16918 (*(sptr - wpls22)) & 16919 (*(sptr - wpls21)) & 16920 (*(sptr - wpls20)) & 16921 (*(sptr - wpls19)) & 16922 (*(sptr - wpls18)) & 16923 (*(sptr - wpls17)) & 16924 (*(sptr - wpls16)) & 16925 (*(sptr - wpls15)) & 16926 (*(sptr - wpls14)) & 16927 (*(sptr - wpls13)) & 16928 (*(sptr - wpls12)) & 16929 (*(sptr - wpls11)) & 16930 (*(sptr - wpls10)) & 16931 (*(sptr - wpls9)) & 16932 (*(sptr - wpls8)) & 16933 (*(sptr - wpls7)) & 16934 (*(sptr - wpls6)) & 16935 (*(sptr - wpls5)) & 16936 (*(sptr - wpls4)) & 16937 (*(sptr - wpls3)) & 16938 (*(sptr - wpls2)) & 16939 (*(sptr - wpls)) & 16940 (*sptr) & 16941 (*(sptr + wpls)) & 16942 (*(sptr + wpls2)) & 16943 (*(sptr + wpls3)) & 16944 (*(sptr + wpls4)) & 16945 (*(sptr + wpls5)) & 16946 (*(sptr + wpls6)) & 16947 (*(sptr + wpls7)) & 16948 (*(sptr + wpls8)) & 16949 (*(sptr + wpls9)) & 16950 (*(sptr + wpls10)) & 16951 (*(sptr + wpls11)) & 16952 (*(sptr + wpls12)) & 16953 (*(sptr + wpls13)) & 16954 (*(sptr + wpls14)) & 16955 (*(sptr + wpls15)) & 16956 (*(sptr + wpls16)) & 16957 (*(sptr + wpls17)) & 16958 (*(sptr + wpls18)) & 16959 (*(sptr + wpls19)) & 16960 (*(sptr + wpls20)) & 16961 (*(sptr + wpls21)) & 16962 (*(sptr + wpls22)) & 16963 (*(sptr + wpls23)) & 16964 (*(sptr + wpls24)) & 16965 (*(sptr + wpls25)) & 16966 (*(sptr + wpls26)) & 16967 (*(sptr + wpls27)) & 16968 (*(sptr + wpls28)) & 16969 (*(sptr + wpls29)) & 16970 (*(sptr + wpls30)) & 16971 (*(sptr + wpls31)); 16972 } 16973 } 16974 } 16975