Changeset 964 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp
- Timestamp:
- 5 Jul 2014, 05:16:45 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp
r872 r964 920 920 for (y=0; y<endY; y++) 921 921 { 922 #if SAO_SGN_FUNC 923 signLeft = (Char)sgn(srcLine[startX] - srcLine[startX-1]); 924 #else 922 925 signLeft = (Char)m_sign[srcLine[startX] - srcLine[startX-1]]; 926 #endif 923 927 for (x=startX; x<endX; x++) 924 928 { 929 #if SAO_SGN_FUNC 930 signRight = (Char)sgn(srcLine[x] - srcLine[x+1]); 931 #else 925 932 signRight = (Char)m_sign[srcLine[x] - srcLine[x+1]]; 933 #endif 926 934 edgeType = signRight + signLeft; 927 935 signLeft = -signRight; … … 943 951 for(y=0; y<skipLinesB[typeIdx]; y++) 944 952 { 953 #if SAO_SGN_FUNC 954 signLeft = (Char)sgn(srcLine[startX] - srcLine[startX-1]); 955 #else 945 956 signLeft = (Char)m_sign[srcLine[startX] - srcLine[startX-1]]; 957 #endif 946 958 for (x=startX; x<endX; x++) 947 959 { 960 #if SAO_SGN_FUNC 961 signRight = (Char)sgn(srcLine[x] - srcLine[x+1]); 962 #else 948 963 signRight = (Char)m_sign[srcLine[x] - srcLine[x+1]]; 964 #endif 949 965 edgeType = signRight + signLeft; 950 966 signLeft = -signRight; … … 994 1010 #endif 995 1011 { 1012 #if SAO_SGN_FUNC 1013 signUpLine[x] = (Char)sgn(srcLine[x] - srcLineAbove[x]); 1014 #else 996 1015 signUpLine[x] = (Char)m_sign[srcLine[x] - srcLineAbove[x]]; 1016 #endif 997 1017 } 998 1018 … … 1008 1028 #endif 1009 1029 { 1030 #if SAO_SGN_FUNC 1031 signDown = (Char)sgn(srcLine[x] - srcLineBelow[x]); 1032 #else 1010 1033 signDown = (Char)m_sign[srcLine[x] - srcLineBelow[x]]; 1034 #endif 1011 1035 edgeType = signDown + signUpLine[x]; 1012 1036 signUpLine[x]= -signDown; … … 1033 1057 for (x=startX; x<endX; x++) 1034 1058 { 1059 #if SAO_SGN_FUNC 1060 edgeType = sgn(srcLine[x] - srcLineBelow[x]) + sgn(srcLine[x] - srcLineAbove[x]); 1061 #else 1035 1062 edgeType = m_sign[srcLine[x] - srcLineBelow[x]] + m_sign[srcLine[x] - srcLineAbove[x]]; 1063 #endif 1036 1064 diff [edgeType] += (orgLine[x] - srcLine[x]); 1037 1065 count[edgeType] ++; … … 1076 1104 for (x=startX; x<endX+1; x++) 1077 1105 { 1106 #if SAO_SGN_FUNC 1107 signUpLine[x] = (Char)sgn(srcLineBelow[x] - srcLine[x-1]); 1108 #else 1078 1109 signUpLine[x] = (Char)m_sign[srcLineBelow[x] - srcLine[x-1]]; 1110 #endif 1079 1111 } 1080 1112 … … 1090 1122 for(x=firstLineStartX; x<firstLineEndX; x++) 1091 1123 { 1124 #if SAO_SGN_FUNC 1125 edgeType = sgn(srcLine[x] - srcLineAbove[x-1]) - signUpLine[x+1]; 1126 #else 1092 1127 edgeType = m_sign[srcLine[x] - srcLineAbove[x-1]] - signUpLine[x+1]; 1128 #endif 1093 1129 diff [edgeType] += (orgLine[x] - srcLine[x]); 1094 1130 count[edgeType] ++; … … 1105 1141 for (x=startX; x<endX; x++) 1106 1142 { 1143 #if SAO_SGN_FUNC 1144 signDown = (Char)sgn(srcLine[x] - srcLineBelow[x+1]); 1145 #else 1107 1146 signDown = (Char)m_sign[srcLine[x] - srcLineBelow[x+1]] ; 1147 #endif 1108 1148 edgeType = signDown + signUpLine[x]; 1109 1149 diff [edgeType] += (orgLine[x] - srcLine[x]); … … 1112 1152 signDownLine[x+1] = -signDown; 1113 1153 } 1154 #if SAO_SGN_FUNC 1155 signDownLine[startX] = (Char)sgn(srcLineBelow[startX] - srcLine[startX-1]); 1156 #else 1114 1157 signDownLine[startX] = (Char)m_sign[srcLineBelow[startX] - srcLine[startX-1]]; 1158 #endif 1115 1159 1116 1160 signTmpLine = signUpLine; … … 1136 1180 for (x=startX; x< endX; x++) 1137 1181 { 1182 #if SAO_SGN_FUNC 1183 edgeType = sgn(srcLine[x] - srcLineBelow[x+1]) + sgn(srcLine[x] - srcLineAbove[x-1]); 1184 #else 1138 1185 edgeType = m_sign[srcLine[x] - srcLineBelow[x+1]] + m_sign[srcLine[x] - srcLineAbove[x-1]]; 1186 #endif 1139 1187 diff [edgeType] += (orgLine[x] - srcLine[x]); 1140 1188 count[edgeType] ++; … … 1174 1222 for (x=startX-1; x<endX; x++) 1175 1223 { 1224 #if SAO_SGN_FUNC 1225 signUpLine[x] = (Char)sgn(srcLineBelow[x] - srcLine[x+1]); 1226 #else 1176 1227 signUpLine[x] = (Char)m_sign[srcLineBelow[x] - srcLine[x+1]]; 1228 #endif 1177 1229 } 1178 1230 … … 1193 1245 for(x=firstLineStartX; x<firstLineEndX; x++) 1194 1246 { 1247 #if SAO_SGN_FUNC 1248 edgeType = sgn(srcLine[x] - srcLineAbove[x+1]) - signUpLine[x-1]; 1249 #else 1195 1250 edgeType = m_sign[srcLine[x] - srcLineAbove[x+1]] - signUpLine[x-1]; 1251 #endif 1196 1252 diff [edgeType] += (orgLine[x] - srcLine[x]); 1197 1253 count[edgeType] ++; … … 1208 1264 for(x=startX; x<endX; x++) 1209 1265 { 1266 #if SAO_SGN_FUNC 1267 signDown = (Char)sgn(srcLine[x] - srcLineBelow[x-1]); 1268 #else 1210 1269 signDown = (Char)m_sign[srcLine[x] - srcLineBelow[x-1]] ; 1270 #endif 1211 1271 edgeType = signDown + signUpLine[x]; 1212 1272 … … 1216 1276 signUpLine[x-1] = -signDown; 1217 1277 } 1278 #if SAO_SGN_FUNC 1279 signUpLine[endX-1] = (Char)sgn(srcLineBelow[endX-1] - srcLine[endX]); 1280 #else 1218 1281 signUpLine[endX-1] = (Char)m_sign[srcLineBelow[endX-1] - srcLine[endX]]; 1282 #endif 1219 1283 srcLine += srcStride; 1220 1284 orgLine += orgStride; … … 1235 1299 for (x=startX; x<endX; x++) 1236 1300 { 1301 #if SAO_SGN_FUNC 1302 edgeType = sgn(srcLine[x] - srcLineBelow[x-1]) + sgn(srcLine[x] - srcLineAbove[x+1]); 1303 #else 1237 1304 edgeType = m_sign[srcLine[x] - srcLineBelow[x-1]] + m_sign[srcLine[x] - srcLineAbove[x+1]]; 1305 #endif 1238 1306 diff [edgeType] += (orgLine[x] - srcLine[x]); 1239 1307 count[edgeType] ++;
Note: See TracChangeset for help on using the changeset viewer.