vp9_reconintra: specialize d63 4x4
based on webp's VL4() Change-Id: Ibab962053843eae8752b4e74b6481a53bb034ae9
This commit is contained in:
parent
6051bcc3dc
commit
102123821d
@ -361,6 +361,7 @@ static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride,
|
||||
|
||||
#define DST(x, y) dst[(x) + (y) * stride]
|
||||
#define AVG3(a, b, c) (((a) + 2 * (b) + (c) + 2) >> 2)
|
||||
#define AVG2(a, b) (((a) + (b) + 1) >> 1)
|
||||
|
||||
static INLINE void d207_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
@ -391,6 +392,30 @@ static INLINE void d207_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
|
||||
}
|
||||
intra_pred_allsizes(d207)
|
||||
|
||||
void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int A = above[0];
|
||||
const int B = above[1];
|
||||
const int C = above[2];
|
||||
const int D = above[3];
|
||||
const int E = above[4];
|
||||
const int F = above[5];
|
||||
const int G = above[6];
|
||||
const int H = above[7];
|
||||
(void)left;
|
||||
DST(0, 0) = AVG2(A, B);
|
||||
DST(1, 0) = DST(0, 2) = AVG2(B, C);
|
||||
DST(2, 0) = DST(1, 2) = AVG2(C, D);
|
||||
DST(3, 0) = DST(2, 2) = AVG2(D, E);
|
||||
|
||||
DST(0, 1) = AVG3(A, B, C);
|
||||
DST(1, 1) = DST(0, 3) = AVG3(B, C, D);
|
||||
DST(2, 1) = DST(1, 3) = AVG3(C, D, E);
|
||||
DST(3, 1) = DST(2, 3) = AVG3(D, E, F);
|
||||
DST(3, 2) = AVG3(E, F, G);
|
||||
DST(3, 3) = AVG3(F, G, H);
|
||||
}
|
||||
|
||||
static INLINE void d63_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int r, c;
|
||||
@ -405,7 +430,7 @@ static INLINE void d63_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
|
||||
dst += stride;
|
||||
}
|
||||
}
|
||||
intra_pred_allsizes(d63)
|
||||
intra_pred_no_4x4(d63)
|
||||
|
||||
void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user