[trunk] Another round of fixes for sign conversion warnings.

Update issue 256
This commit is contained in:
Mathieu Malaterre 2014-03-10 16:17:01 +00:00
parent 76557d2eb3
commit 73c9e85642
1 changed files with 49 additions and 49 deletions

View File

@ -371,25 +371,25 @@ void opj_t1_enc_sigpass_step( opj_t1_t *t1,
opj_mqc_t *mqc = t1->mqc; /* MQC component */ opj_mqc_t *mqc = t1->mqc; /* MQC component */
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? (OPJ_UINT32)((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (OPJ_UINT32)(*flagsp);
if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) { if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) {
v = opj_int_abs(*datap) & one ? 1 : 0; v = opj_int_abs(*datap) & one ? 1 : 0;
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); /* ESSAI */ opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); /* ESSAI */
if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */ if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */
opj_mqc_bypass_enc(mqc, v); opj_mqc_bypass_enc(mqc, (OPJ_UINT32)v);
} else { } else {
opj_mqc_encode(mqc, v); opj_mqc_encode(mqc, (OPJ_UINT32)v);
} }
if (v) { if (v) {
v = *datap < 0 ? 1 : 0; v = *datap < 0 ? 1 : 0;
*nmsedec += opj_t1_getnmsedec_sig(opj_int_abs(*datap), bpno + T1_NMSEDEC_FRACBITS); *nmsedec += opj_t1_getnmsedec_sig((OPJ_UINT32)opj_int_abs(*datap), (OPJ_UINT32)(bpno + T1_NMSEDEC_FRACBITS));
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); /* ESSAI */ opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); /* ESSAI */
if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */ if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */
opj_mqc_bypass_enc(mqc, v); opj_mqc_bypass_enc(mqc, (OPJ_UINT32)v);
} else { } else {
opj_mqc_encode(mqc, v ^ opj_t1_getspb(flag)); opj_mqc_encode(mqc, (OPJ_UINT32)(v ^ opj_t1_getspb((OPJ_UINT32)flag)));
} }
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
*flagsp |= T1_VISIT; *flagsp |= T1_VISIT;
} }
@ -411,9 +411,9 @@ static INLINE void opj_t1_dec_sigpass_step_raw(
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp);
if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) { if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) {
if (opj_raw_decode(raw)) { if (opj_raw_decode(raw)) {
v = opj_raw_decode(raw); /* ESSAI */ v = (OPJ_INT32)opj_raw_decode(raw); /* ESSAI */
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
*flagsp |= T1_VISIT; *flagsp |= T1_VISIT;
} }
@ -432,12 +432,12 @@ INLINE void opj_t1_dec_sigpass_step_mqc(
flag = *flagsp; flag = *flagsp;
if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) { if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc((OPJ_UINT32)flag, (OPJ_UINT32)orient));
if (opj_mqc_decode(mqc)) { if (opj_mqc_decode(mqc)) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc((OPJ_UINT32)flag));
v = opj_mqc_decode(mqc) ^ opj_t1_getspb(flag); v = opj_mqc_decode(mqc) ^ opj_t1_getspb((OPJ_UINT32)flag);
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
*flagsp |= T1_VISIT; *flagsp |= T1_VISIT;
} }
@ -457,12 +457,12 @@ INLINE void opj_t1_dec_sigpass_step_mqc_vsc(
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp);
if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) { if ((flag & T1_SIG_OTH) && !(flag & (T1_SIG | T1_VISIT))) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc((OPJ_UINT32)flag, (OPJ_UINT32)orient));
if (opj_mqc_decode(mqc)) { if (opj_mqc_decode(mqc)) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc((OPJ_UINT32)flag));
v = opj_mqc_decode(mqc) ^ opj_t1_getspb(flag); v = opj_mqc_decode(mqc) ^ opj_t1_getspb((OPJ_UINT32)flag);
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
*flagsp |= T1_VISIT; *flagsp |= T1_VISIT;
} }
@ -541,7 +541,7 @@ void opj_t1_dec_sigpass_mqc(
one = 1 << bpno; one = 1 << bpno;
half = one >> 1; half = one >> 1;
oneplushalf = one | half; oneplushalf = one | half;
for (k = 0; k < (t1->h & ~3); k += 4) { for (k = 0; k < (t1->h & ~3u); k += 4) {
for (i = 0; i < t1->w; ++i) { for (i = 0; i < t1->w; ++i) {
OPJ_INT32 *data2 = data1 + i; OPJ_INT32 *data2 = data1 + i;
opj_flag_t *flags2 = flags1 + i; opj_flag_t *flags2 = flags1 + i;
@ -614,15 +614,15 @@ void opj_t1_enc_refpass_step( opj_t1_t *t1,
opj_mqc_t *mqc = t1->mqc; /* MQC component */ opj_mqc_t *mqc = t1->mqc; /* MQC component */
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? (OPJ_UINT32)((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (OPJ_UINT32)(*flagsp);
if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) { if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) {
*nmsedec += opj_t1_getnmsedec_ref(opj_int_abs(*datap), bpno + T1_NMSEDEC_FRACBITS); *nmsedec += opj_t1_getnmsedec_ref((OPJ_UINT32)opj_int_abs(*datap), (OPJ_UINT32)(bpno + T1_NMSEDEC_FRACBITS));
v = opj_int_abs(*datap) & one ? 1 : 0; v = opj_int_abs(*datap) & one ? 1 : 0;
opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag(flag)); /* ESSAI */ opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag(flag)); /* ESSAI */
if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */ if (type == T1_TYPE_RAW) { /* BYPASS/LAZY MODE */
opj_mqc_bypass_enc(mqc, v); opj_mqc_bypass_enc(mqc, (OPJ_UINT32)v);
} else { } else {
opj_mqc_encode(mqc, v); opj_mqc_encode(mqc, (OPJ_UINT32)v);
} }
*flagsp |= T1_REFINE; *flagsp |= T1_REFINE;
} }
@ -642,7 +642,7 @@ INLINE void opj_t1_dec_refpass_step_raw(
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp);
if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) { if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) {
v = opj_raw_decode(raw); v = (OPJ_INT32)opj_raw_decode(raw);
t = v ? poshalf : neghalf; t = v ? poshalf : neghalf;
*datap += *datap < 0 ? -t : t; *datap += *datap < 0 ? -t : t;
*flagsp |= T1_REFINE; *flagsp |= T1_REFINE;
@ -662,7 +662,7 @@ INLINE void opj_t1_dec_refpass_step_mqc(
flag = *flagsp; flag = *flagsp;
if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) { if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag(flag)); /* ESSAI */ opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag((OPJ_UINT32)flag)); /* ESSAI */
v = opj_mqc_decode(mqc); v = opj_mqc_decode(mqc);
t = v ? poshalf : neghalf; t = v ? poshalf : neghalf;
*datap += *datap < 0 ? -t : t; *datap += *datap < 0 ? -t : t;
@ -684,7 +684,7 @@ INLINE void opj_t1_dec_refpass_step_mqc_vsc(
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp);
if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) { if ((flag & (T1_SIG | T1_VISIT)) == T1_SIG) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag(flag)); /* ESSAI */ opj_mqc_setcurctx(mqc, opj_t1_getctxno_mag((OPJ_UINT32)flag)); /* ESSAI */
v = opj_mqc_decode(mqc); v = opj_mqc_decode(mqc);
t = v ? poshalf : neghalf; t = v ? poshalf : neghalf;
*datap += *datap < 0 ? -t : t; *datap += *datap < 0 ? -t : t;
@ -761,7 +761,7 @@ void opj_t1_dec_refpass_mqc(
one = 1 << bpno; one = 1 << bpno;
poshalf = one >> 1; poshalf = one >> 1;
neghalf = bpno > 0 ? -poshalf : -1; neghalf = bpno > 0 ? -poshalf : -1;
for (k = 0; k < (t1->h & ~3); k += 4) { for (k = 0; k < (t1->h & ~3u); k += 4) {
for (i = 0; i < t1->w; ++i) { for (i = 0; i < t1->w; ++i) {
OPJ_INT32 *data2 = data1 + i; OPJ_INT32 *data2 = data1 + i;
opj_flag_t *flags2 = flags1 + i; opj_flag_t *flags2 = flags1 + i;
@ -835,21 +835,21 @@ void opj_t1_enc_clnpass_step(
opj_mqc_t *mqc = t1->mqc; /* MQC component */ opj_mqc_t *mqc = t1->mqc; /* MQC component */
flag = vsc ? ((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (*flagsp); flag = vsc ? (OPJ_UINT32)((*flagsp) & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) : (OPJ_UINT32)(*flagsp);
if (partial) { if (partial) {
goto LABEL_PARTIAL; goto LABEL_PARTIAL;
} }
if (!(*flagsp & (T1_SIG | T1_VISIT))) { if (!(*flagsp & (T1_SIG | T1_VISIT))) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient));
v = opj_int_abs(*datap) & one ? 1 : 0; v = opj_int_abs(*datap) & one ? 1 : 0;
opj_mqc_encode(mqc, v); opj_mqc_encode(mqc, (OPJ_UINT32)v);
if (v) { if (v) {
LABEL_PARTIAL: LABEL_PARTIAL:
*nmsedec += opj_t1_getnmsedec_sig(opj_int_abs(*datap), bpno + T1_NMSEDEC_FRACBITS); *nmsedec += opj_t1_getnmsedec_sig((OPJ_UINT32)opj_int_abs(*datap), (OPJ_UINT32)(bpno + T1_NMSEDEC_FRACBITS));
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag));
v = *datap < 0 ? 1 : 0; v = *datap < 0 ? 1 : 0;
opj_mqc_encode(mqc, v ^ opj_t1_getspb(flag)); opj_mqc_encode(mqc, (OPJ_UINT32)(v ^ opj_t1_getspb((OPJ_UINT32)flag)));
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
} }
*flagsp &= ~T1_VISIT; *flagsp &= ~T1_VISIT;
@ -868,10 +868,10 @@ static void opj_t1_dec_clnpass_step_partial(
OPJ_ARG_NOT_USED(orient); OPJ_ARG_NOT_USED(orient);
flag = *flagsp; flag = *flagsp;
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc((OPJ_UINT32)flag));
v = opj_mqc_decode(mqc) ^ opj_t1_getspb(flag); v = opj_mqc_decode(mqc) ^ opj_t1_getspb((OPJ_UINT32)flag);
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
*flagsp &= ~T1_VISIT; *flagsp &= ~T1_VISIT;
} /* VSC and BYPASS by Antonin */ } /* VSC and BYPASS by Antonin */
@ -888,12 +888,12 @@ static void opj_t1_dec_clnpass_step(
flag = *flagsp; flag = *flagsp;
if (!(flag & (T1_SIG | T1_VISIT))) { if (!(flag & (T1_SIG | T1_VISIT))) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc((OPJ_UINT32)flag, (OPJ_UINT32)orient));
if (opj_mqc_decode(mqc)) { if (opj_mqc_decode(mqc)) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc((OPJ_UINT32)flag));
v = opj_mqc_decode(mqc) ^ opj_t1_getspb(flag); v = opj_mqc_decode(mqc) ^ opj_t1_getspb((OPJ_UINT32)flag);
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
} }
*flagsp &= ~T1_VISIT; *flagsp &= ~T1_VISIT;
@ -917,13 +917,13 @@ static void opj_t1_dec_clnpass_step_vsc(
goto LABEL_PARTIAL; goto LABEL_PARTIAL;
} }
if (!(flag & (T1_SIG | T1_VISIT))) { if (!(flag & (T1_SIG | T1_VISIT))) {
opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc(flag, orient)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_zc((OPJ_UINT32)flag, (OPJ_UINT32)orient));
if (opj_mqc_decode(mqc)) { if (opj_mqc_decode(mqc)) {
LABEL_PARTIAL: LABEL_PARTIAL:
opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc(flag)); opj_mqc_setcurctx(mqc, opj_t1_getctxno_sc((OPJ_UINT32)flag));
v = opj_mqc_decode(mqc) ^ opj_t1_getspb(flag); v = opj_mqc_decode(mqc) ^ opj_t1_getspb((OPJ_UINT32)flag);
*datap = v ? -oneplushalf : oneplushalf; *datap = v ? -oneplushalf : oneplushalf;
opj_t1_updateflags(flagsp, v, t1->flags_stride); opj_t1_updateflags(flagsp, (OPJ_UINT32)v, t1->flags_stride);
} }
} }
*flagsp &= ~T1_VISIT; *flagsp &= ~T1_VISIT;
@ -1033,7 +1033,7 @@ static void opj_t1_dec_clnpass(
} else { } else {
runlen = 0; runlen = 0;
} }
for (j = k + runlen; j < k + 4 && j < t1->h; ++j) { for (j = k + (OPJ_UINT32)runlen; j < k + 4 && j < t1->h; ++j) {
vsc = (j == k + 3 || j == t1->h - 1) ? 1 : 0; vsc = (j == k + 3 || j == t1->h - 1) ? 1 : 0;
opj_t1_dec_clnpass_step_vsc( opj_t1_dec_clnpass_step_vsc(
t1, t1,
@ -1041,7 +1041,7 @@ static void opj_t1_dec_clnpass(
&t1->data[(j * t1->w) + i], &t1->data[(j * t1->w) + i],
orient, orient,
oneplushalf, oneplushalf,
agg && (j == k + runlen), agg && (j == k + (OPJ_UINT32)runlen),
vsc); vsc);
} }
} }
@ -1049,7 +1049,7 @@ static void opj_t1_dec_clnpass(
} else { } else {
OPJ_INT32 *data1 = t1->data; OPJ_INT32 *data1 = t1->data;
opj_flag_t *flags1 = &t1->flags[1]; opj_flag_t *flags1 = &t1->flags[1];
for (k = 0; k < (t1->h & ~3); k += 4) { for (k = 0; k < (t1->h & ~3u); k += 4) {
for (i = 0; i < t1->w; ++i) { for (i = 0; i < t1->w; ++i) {
OPJ_INT32 *data2 = data1 + i; OPJ_INT32 *data2 = data1 + i;
opj_flag_t *flags2 = flags1 + i; opj_flag_t *flags2 = flags1 + i;
@ -1065,11 +1065,11 @@ static void opj_t1_dec_clnpass(
opj_mqc_setcurctx(mqc, T1_CTXNO_UNI); opj_mqc_setcurctx(mqc, T1_CTXNO_UNI);
runlen = opj_mqc_decode(mqc); runlen = opj_mqc_decode(mqc);
runlen = (runlen << 1) | opj_mqc_decode(mqc); runlen = (runlen << 1) | opj_mqc_decode(mqc);
flags2 += runlen * t1->flags_stride; flags2 += (OPJ_UINT32)runlen * t1->flags_stride;
data2 += runlen * t1->w; data2 += (OPJ_UINT32)runlen * t1->w;
for (j = k + runlen; j < k + 4 && j < t1->h; ++j) { for (j = k + (OPJ_UINT32)runlen; j < k + 4 && j < t1->h; ++j) {
flags2 += t1->flags_stride; flags2 += t1->flags_stride;
if (agg && (j == k + runlen)) { if (agg && (j == k + (OPJ_UINT32)runlen)) {
opj_t1_dec_clnpass_step_partial(t1, flags2, data2, orient, oneplushalf); opj_t1_dec_clnpass_step_partial(t1, flags2, data2, orient, oneplushalf);
} else { } else {
opj_t1_dec_clnpass_step(t1, flags2, data2, orient, oneplushalf); opj_t1_dec_clnpass_step(t1, flags2, data2, orient, oneplushalf);