anchor.diff:  
   (eval-when (:compile-toplevel :load-toplevel :execute)
   ;;; For ease of reference
  -(defmacro dbref (data x y)
  +(defmacro u8ref (data x y)
     `(the uint8 (aref (the uint8-array (aref (the uint8-2d-array ,data) ,y)) ,x)))
  +
  +(defmacro s16ref (data x y)
  +  `(the sint16 (aref (the sint16-array (aref (the sint16-2d-array ,data) ,y)) ,x)))
   
   (defmacro fixref (data x y)
     `(the fixnum (aref (the fixnum-array (aref (the fixnum-2d-array ,data) ,y)) ,x)))
  
positive.code:            (error "Invalid sampling specification!")))
      (when (< q-factor 64)
        (let ((q-tabs2 (make-array (length q-tabs)
                                   :initial-contents
                                   (loop for k fixnum from 0 below (length q-tabs)
                                      collecting (make-array 8 :initial-contents
                                                             (loop for i fixnum from 0 to 7
                                                                collecting (make-array 8 :element-type 'uint8)))))))
  	(declare (type (simple-array uint8-2d-array (*)) q-tabs2))
  
negative.code: (defconstant +g-v-off+ (* 6 256))
  (defconstant +b-v-off+ (* 7 256))
  
  (declaim (type fixnum-array *ctab* *cr-r-tab* *cb-g-tab* *cr-g-tab* *cb-b-tab*))
  
  ;;;Direct color conversion table
  (defparameter *ctab* (make-array 2048 :element-type 'fixnum :initial-element 0))
  
  ;;; Filling in the table
  (loop for i fixnum from 0 to 255 do
  