Leptonica 1.68
C Image Processing Library

dwalinearlow.3.c

Go to the documentation of this file.
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 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines