Commit b6782686 authored by James Zern's avatar James Zern
Browse files

vp9_reconintra: specialize d117 4x4

based on webp's VR4()

Change-Id: Ic8c0b8ed65a63772ca0a4321592880a5e8947db5
parent c022dbc4
......@@ -485,6 +485,29 @@ static INLINE void d45_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
}
intra_pred_no_4x4(d45)
void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
const int I = left[0];
const int J = left[1];
const int K = left[2];
const int X = above[-1];
const int A = above[0];
const int B = above[1];
const int C = above[2];
const int D = above[3];
DST(0, 0) = DST(1, 2) = AVG2(X, A);
DST(1, 0) = DST(2, 2) = AVG2(A, B);
DST(2, 0) = DST(3, 2) = AVG2(B, C);
DST(3, 0) = AVG2(C, D);
DST(0, 3) = AVG3(K, J, I);
DST(0, 2) = AVG3(J, I, X);
DST(0, 1) = DST(1, 3) = AVG3(I, X, A);
DST(1, 1) = DST(2, 3) = AVG3(X, A, B);
DST(2, 1) = DST(3, 3) = AVG3(A, B, C);
DST(3, 1) = AVG3(B, C, D);
}
static INLINE void d117_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
const uint8_t *above, const uint8_t *left) {
int r, c;
......@@ -513,7 +536,7 @@ static INLINE void d117_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
dst += stride;
}
}
intra_pred_allsizes(d117)
intra_pred_no_4x4(d117)
static INLINE void d135_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
const uint8_t *above, const uint8_t *left) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment