summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrediano Ziglio <fziglio@redhat.com>2018-07-10 11:02:09 +0200
committerFrediano Ziglio <fziglio@redhat.com>2018-07-10 10:33:28 +0100
commit499b10e494e487130d54a833990e6e23f35bfabd (patch)
tree52d1162db80aeec1c25de270406f7ef2cbf867fb
parent946d3dda2276ca8bf1b9986142d8ed36b4e72753 (diff)
quic: Rework PIXEL_A/PIXEL_B macros
This makes them identical to their counterparts in quic_rgb_tmpl.c Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r--common/quic_tmpl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/common/quic_tmpl.c b/common/quic_tmpl.c
index 8069909..72966cf 100644
--- a/common/quic_tmpl.c
+++ b/common/quic_tmpl.c
@@ -43,8 +43,8 @@
#define SET_a(pix, val) ((pix)->a = val)
#define GET_a(pix) ((pix)->a)
-#define _PIXEL_A ((unsigned int)curr[-1].a)
-#define _PIXEL_B ((unsigned int)prev[0].a)
+#define _PIXEL_A(channel, curr) ((unsigned int)GET_##channel((curr) - 1))
+#define _PIXEL_B(channel, prev) ((unsigned int)GET_##channel(prev))
#define RLE_PRED_IMP \
if (prev_row[i - 1].a == prev_row[i].a) { \
@@ -56,13 +56,13 @@ if (prev_row[i - 1].a == prev_row[i].a) { \
/* a */
static inline BYTE FNAME(decorrelate_0)(const PIXEL * const curr, const unsigned int bpc_mask)
{
- return family.xlatU2L[(unsigned)((int)curr[0].a - (int)_PIXEL_A) & bpc_mask];
+ return family.xlatU2L[(unsigned)((int)GET_a(curr) - (int)_PIXEL_A(a, curr)) & bpc_mask];
}
static inline void FNAME(correlate_0)(PIXEL *curr, const BYTE correlate,
const unsigned int bpc_mask)
{
- curr->a = (family.xlatL2U[correlate] + _PIXEL_A) & bpc_mask;
+ curr->a = (family.xlatL2U[correlate] + _PIXEL_A(a, curr)) & bpc_mask;
}
@@ -70,14 +70,14 @@ static inline void FNAME(correlate_0)(PIXEL *curr, const BYTE correlate,
static inline BYTE FNAME(decorrelate)(const PIXEL *const prev, const PIXEL * const curr,
const unsigned int bpc_mask)
{
- return family.xlatU2L[(unsigned)((int)curr->a - (int)((_PIXEL_A + _PIXEL_B) >> 1)) & bpc_mask];
+ return family.xlatU2L[(unsigned)((int)curr->a - (int)((_PIXEL_A(a, curr) + _PIXEL_B(a, prev)) >> 1)) & bpc_mask];
}
static inline void FNAME(correlate)(const PIXEL *prev, PIXEL *curr, const BYTE correlate,
const unsigned int bpc_mask)
{
- curr->a = (family.xlatL2U[correlate] + (int)((_PIXEL_A + _PIXEL_B) >> 1)) & bpc_mask;
+ curr->a = (family.xlatL2U[correlate] + (int)((_PIXEL_A(a, curr) + _PIXEL_B(a, prev)) >> 1)) & bpc_mask;
}
#define COMPRESS_ONE_ROW0_0(channel) \