VR4 static method

void VR4(
  1. InputBuffer dst
)

Implementation

static void VR4(InputBuffer dst) {
  final I = dst[-1 + 0 * VP8.BPS];
  final J = dst[-1 + 1 * VP8.BPS];
  final K = dst[-1 + 2 * VP8.BPS];
  final X = dst[-1 - VP8.BPS];
  final A = dst[0 - VP8.BPS];
  final B = dst[1 - VP8.BPS];
  final C = dst[2 - VP8.BPS];
  final D = dst[3 - VP8.BPS];
  dst[DST(0, 0)] = dst[DST(1, 2)] = AVG2(X, A);
  dst[DST(1, 0)] = dst[DST(2, 2)] = AVG2(A, B);
  dst[DST(2, 0)] = dst[DST(3, 2)] = AVG2(B, C);
  dst[DST(3, 0)] = AVG2(C, D);

  dst[DST(0, 3)] = AVG3(K, J, I);
  dst[DST(0, 2)] = AVG3(J, I, X);
  dst[DST(0, 1)] = dst[DST(1, 3)] = AVG3(I, X, A);
  dst[DST(1, 1)] = dst[DST(2, 3)] = AVG3(X, A, B);
  dst[DST(2, 1)] = dst[DST(3, 3)] = AVG3(A, B, C);
  dst[DST(3, 1)] = AVG3(B, C, D);
}