anchor.diff:           (diff (minus newpred pred))
            (dcpos (csize diff)))
       (declare (type fixnum pred newpred diff dcpos)
  -	     (type uint8-array ehufco-ac ehufco-dc ehufsi-dc ehufsi-ac)
  +	     (type fixnum-array ehufco-ac ehufco-dc ehufsi-dc ehufsi-ac)
                (dynamic-extent diff dcpos))
       ;; writing dc code first
       (write-bits (aref ehufco-dc dcpos) (aref ehufsi-dc dcpos) s)
  
positive.code:                  izigzag write-bits))
  
  (deftype uint8 () '(unsigned-byte 8))
  
  (deftype uint8-array () '(simple-array uint8 (*)))
  (deftype uint8-2d-array () '(simple-array uint8-array (*)))
  
  (deftype sint16 () '(signed-byte 16))
  
  (deftype sint16-array () '(simple-array sint16 (*)))
  (deftype sint16-2d-array () '(simple-array sint16-array (*)))
  
  
negative.code: (defun descale (x n)
    (declare #.*optimize* (type fixnum x n))
    (the fixnum (ash (plus x (ash 1 (1- n))) (- n))))
  
  ;;; Implementation of Loeffer, Ligtenberg and Moschytz forward DCT
  (defun llm-dct (data)
  