anchor.diff:      final int yEnd = mbY + mbH;
       final int uvW = (mbW + 1) >> 1;
       final int stride = webp.width * 4;
  -    //WebPUpsampleLinePairFunc upsample = WebPUpsamplers[p->output->colorspace];
  -    //const uint8_t* top_u = p->tmp_u;
  -    //const uint8_t* top_v = p->tmp_v;
  +    VP8List topU = new VP8List(_tmpU);
  +    VP8List topV = new VP8List(_tmpV);
   
       if (y == 0) {
         // First line is special cased. We mirror the u/v samples at boundary.
  -      upsample(cur_y, NULL, cur_u, cur_v, cur_u, cur_v, dst, NULL, mb_w);
  +      _upsample(curY, null, curU, curV, curU, curV, dst, null, mbW);
       } else {
         // We can finish the left-over line from previous call.
  -      upsample(p->tmp_y, curY, topU, topV, curU, curV,
  -               dst - stride, dst, mbW);
  +      _upsample(new VP8List(_tmpY), curY, topU, topV, curU, curV,
  +                new VP8List(dst, -stride), dst, mbW);
         ++numLinesOut;
  -    }*/
  +    }
   
       // Loop over each output pairs of row.
       /*for (; y + 2 < y_end; y += 2) {
  
positive.code:     return true;
    }
  
    /*int _clip8(int v) {
      return ((v & ~YUV_MASK2) == 0) ? (v >> YUV_FIX2) : (v < 0) ? 0 : 255;
    }
  
  
negative.code:   static const int Y_OFF = (BPS * 1 + 8);
    static const int U_OFF = (Y_OFF + BPS * 16 + BPS);
    static const int V_OFF = (U_OFF + 16);
  
    static const int YUV_FIX = 16; // fixed-point precision for RGB->YUV
    static const int YUV_HALF = 1 << (YUV_FIX - 1);
    static const int YUV_MASK = (256 << YUV_FIX) - 1;
    static const int YUV_RANGE_MIN = -227; // min value of r/g/b output
    static const int YUV_RANGE_MAX = 256 + 226; // max value of r/g/b output
    static const int YUV_FIX2 = 14; // fixed-point precision for YUV->RGB
    static const int YUV_HALF2 = 1 << (YUV_FIX2 - 1);
    static const int YUV_MASK2 = (256 << YUV_FIX2) - 1;
  
    // These constants are 14b fixed-point version of ITU-R BT.601 constants.
    static const int kYScale = 19077;    // 1.164 = 255 / 219
    static const int kVToR = 26149;    // 1.596 = 255 / 112 * 0.701
    static const int kUToG = 6419;    // 0.391 = 255 / 112 * 0.886 * 0.114 / 0.587
    static const int kVToG = 13320;    // 0.813 = 255 / 112 * 0.701 * 0.299 / 0.587
    static const int kUToB = 33050;    // 2.018 = 255 / 112 * 0.886
    static const int kRCst = (-kYScale * 16 - kVToR * 128 + YUV_HALF2);
    static const int kGCst = (-kYScale * 16 + kUToG * 128 + kVToG * 128 + YUV_HALF2);
    static const int kBCst = (-kYScale * 16 - kUToB * 128 + YUV_HALF2);
  }
  