anchor.diff:  
   ;;; Emits q-tables
   (defun write-quantization-tables (tables s)
  -  (let ((len (plus 2 (mul 65 (length tables)))))
  +  (let ((len (plus 2 (mul 65 (length tables))))
  +        (zz-result (make-array 64 :element-type 'uint8)))
       (write-marker +M_DQT+ s)
       (write-byte (ash len -8) s) ; MSB
       (write-byte (logand len #xff) s) ; LSB
       (loop for table across tables
             for i fixnum from 0 do
             (write-byte i s)
  -          (write-sequence (zigzag8 table) s))))
  +          (write-sequence (zigzag8 table zz-result) s))))
   
   ;;; Emits huffman tables in the following order:
   ;;; luminance DC
  
positive.code:                                                 (plus x ypos)) do
                             (crunch sampled-buf pos q-tab)
                             (setf (aref preds cn)
                                   (encode-block (zigzag (aref sampled-buf pos))
                                                 hufftabs (aref preds cn) out-stream)))))))))
      (unless (zerop *prev-length*)
        (write-stuffed (deposit-field #xff ; byte padding & flushing
  
negative.code:     (setq sampling '((1 1))))
    (let* ((wd (loop for entry in sampling maximize (the fixnum (first entry))))
           (ht (loop for entry in sampling maximize (the fixnum (second entry))))
  	 (zz-result (make-array 64 :element-type 'sint16))
  	 (*prev-byte* 0) ; State variables for write-bits
  	 (*prev-length* 0)
           (isampling (convert-sampling sampling wd ht))
  