Author: Michael R. Crusoe <crusoe@debian.org>
Description: incomplete patch to fix endianness issue
--- libssw.orig/src/ssw.c
+++ libssw/src/ssw.c
@@ -610,7 +610,11 @@
 			j = i + band_width; end = end < j ? end : j; // band end
 			edge = end + 1 < width - 1 ? end + 1 : width - 1;
 			f = h_b[0] = e_b[0] = h_b[edge] = e_b[edge] = h_c[0] = 0;
-			direction_line = direction + width_d * i * 3;
+			#ifdef __LITTE_ENDIAN__
+				direction_line = direction + width_d * i * 3;
+			#else
+				direction_line = direction - width_d * i * 3;
+			#endif
 
 			for (j = beg; LIKELY(j <= end); j ++) {
 				int32_t b, e1, f1, d, de, df, dh;
@@ -661,19 +665,31 @@
 				--i;
 				--j;
 				temp2 = 2;
-				direction_line -= width_d * 3;
+                                #ifdef __LITTLE_ENDIAN__
+                                        direction_line -= width_d * 3;
+                                #else
+                                        direction_line += width_d * 3;
+                                #endif
 				op = 'M';
 				break;
 			case 2:
 			 	--i;
 				temp2 = 0;	// e
-				direction_line -= width_d * 3;
+                                #ifdef __LITTLE_ENDIAN__
+                                        direction_line -= width_d * 3;
+                                #else
+                                        direction_line += width_d * 3;
+                                #endif
 				op = 'I';
 				break;
 			case 3:
 				--i;
 				temp2 = 2;
-				direction_line -= width_d * 3;
+                                #ifdef __LITTLE_ENDIAN__
+                                        direction_line -= width_d * 3;
+                                #else
+                                        direction_line += width_d * 3;
+                                #endif
 				op = 'I';
 				break;
 			case 4:
