anchor.diff:    }
   
     _writeSOS(_ByteBuffer out) {
  -    out.writeUint16(0xFFDA); // marker
  +    _writeMarker(out, _Jpeg.M_SOS);
       out.writeUint16(12); // length
       out.writeByte(3); // nrofcomponents
       out.writeByte(1); // IdY
  
positive.code:     int k = 0;
      for (int row = 0; row < 8; row++) {
        for (int col = 0; col < 8; col++) {
          fdtbl_Y[k] = (1.0 / (YTable [ZigZag[k]] * aasf[row] * aasf[col] * 8.0));
          fdtbl_UV[k] = (1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0));
          k++;
        }
      }
  
negative.code:   }
  
    void _writeSOF0(_ByteBuffer out, int width, int height) {
      _writeMarker(out, _Jpeg.M_SOF0);
      out.writeUint16(17);   // length, truecolor YUV JPG
      out.writeByte(8);    // precision
      out.writeUint16(height);
  