static void vertical_compose_fidelityiL0(IDWTELEM *dst, IDWTELEM *b[8], int width) { int i; for(i=0; i<width; i++){ dst[i] = COMPOSE_FIDELITYiL0(b[0][i], b[1][i], b[2][i], b[3][i], dst[i], b[4][i], b[5][i], b[6][i], b[7][i]); } }
static void RENAME(vertical_compose_fidelityiL0)(uint8_t *_dst, uint8_t *_b[8], int width) { int i; TYPE *dst = (TYPE *)_dst; TYPE *b0 = (TYPE *)_b[0]; TYPE *b1 = (TYPE *)_b[1]; TYPE *b2 = (TYPE *)_b[2]; TYPE *b3 = (TYPE *)_b[3]; TYPE *b4 = (TYPE *)_b[4]; TYPE *b5 = (TYPE *)_b[5]; TYPE *b6 = (TYPE *)_b[6]; TYPE *b7 = (TYPE *)_b[7]; for(i=0; i<width; i++){ dst[i] = COMPOSE_FIDELITYiL0(b0[i], b1[i], b2[i], b3[i], dst[i], b4[i], b5[i], b6[i], b7[i]); } }
static void horizontal_compose_fidelityi(IDWTELEM *b, IDWTELEM *tmp, int w) { const int w2 = w >> 1; int i, x; IDWTELEM v[8]; for (x = 0; x < w2; x++) { for (i = 0; i < 8; i++) v[i] = b[av_clip(x-3+i, 0, w2-1)]; tmp[x] = COMPOSE_FIDELITYiH0(v[0], v[1], v[2], v[3], b[x+w2], v[4], v[5], v[6], v[7]); } for (x = 0; x < w2; x++) { for (i = 0; i < 8; i++) v[i] = tmp[av_clip(x-4+i, 0, w2-1)]; tmp[x+w2] = COMPOSE_FIDELITYiL0(v[0], v[1], v[2], v[3], b[x], v[4], v[5], v[6], v[7]); } interleave(b, tmp+w2, tmp, w2, 0, 0); }
static void RENAME(horizontal_compose_fidelityi)(uint8_t *_b, uint8_t *_tmp, int w) { const int w2 = w >> 1; int i, x; TYPE v[8]; TYPE *b = (TYPE *)_b; TYPE *tmp = (TYPE *)_tmp; for (x = 0; x < w2; x++) { for (i = 0; i < 8; i++) v[i] = b[av_clip(x-3+i, 0, w2-1)]; tmp[x] = COMPOSE_FIDELITYiH0(v[0], v[1], v[2], v[3], b[x+w2], v[4], v[5], v[6], v[7]); } for (x = 0; x < w2; x++) { for (i = 0; i < 8; i++) v[i] = tmp[av_clip(x-4+i, 0, w2-1)]; tmp[x+w2] = COMPOSE_FIDELITYiL0(v[0], v[1], v[2], v[3], b[x], v[4], v[5], v[6], v[7]); } RENAME(interleave)(b, tmp+w2, tmp, w2, 0, 0); }