chiark / gitweb /
make AADEPTH configurable
[ypp-sc-tools.db-test.git] / pctb / ocr.h
index 7848ae7d2601988043c61363106d8a21a341148f..93d619af4c7a12ec22646a893cd691824211ce46 100644 (file)
 
 #define AADEPTH 3
 #define AAMAXVAL ((1<<AADEPTH)-1)
+ /* Change this ?  Also change in
+  *   dictionary-manager            set aadepth
+  *   dictionary-update-receiver    my $aadepth
+  */
 
 
 typedef uint32_t Pixcolv;
@@ -66,19 +70,32 @@ static inline int pixcol_nonzero(const Pixcol *pixcol) {
 
 #if AADEPTH==3
 # define PRPIXCOL1 "%0*" PRIo32
+# define PIXCOL_P_PER_FMT 1
+#elif AADEPTH==2
+# define PRPIXCOL1 "%0*" PRIx32
+# define PIXCOL_P_PER_FMT 2
 #else
 # error need to implement PRPIXCOL1 for this AADEPTH
 #endif
 
-#if PIXCOL_WORDS==3
+# define PIXCOL_FMT_PER_WORD (PIXCOL_P_PER_WORD / PIXCOL_P_PER_FMT)
+
+#if PIXCOL_WORDS==2
+# define PIXCOL_PRFMT                          \
+                             PRPIXCOL1 "-"     \
+                             PRPIXCOL1
+# define PIXCOL_PRVAL(pixcol)                                          \
+                             PIXCOL_FMT_PER_WORD, (pixcol).w[1],       \
+                             PIXCOL_FMT_PER_WORD, (pixcol).w[0]
+#elif PIXCOL_WORDS==3
 # define PIXCOL_PRFMT                          \
                              PRPIXCOL1 "-"     \
                              PRPIXCOL1 "-"     \
                              PRPIXCOL1
-# define PIXCOL_PRVAL(pixcol)                                  \
-                             PIXCOL_P_PER_WORD, (pixcol).w[2], \
-                             PIXCOL_P_PER_WORD, (pixcol).w[1], \
-                             PIXCOL_P_PER_WORD, (pixcol).w[0]
+# define PIXCOL_PRVAL(pixcol)                                          \
+                             PIXCOL_FMT_PER_WORD, (pixcol).w[2],       \
+                             PIXCOL_FMT_PER_WORD, (pixcol).w[1],       \
+                             PIXCOL_FMT_PER_WORD, (pixcol).w[0]
 #else
 # error need to implement PIXCOL_PR{FMT,VAL} for this PIXCOL_WORDS
 #endif