diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' OpenJPEG.orig/libopenjpeg/t1.c OpenJPEG.patched/libopenjpeg/t1.c
--- OpenJPEG.orig/libopenjpeg/t1.c 2007-08-23 05:48:09.000000000 -0500
+++ OpenJPEG.patched/libopenjpeg/t1.c 2007-08-23 05:50:29.000000000 -0500
@@ -312,7 +312,7 @@
} else {
mqc_encode(mqc, v ^ t1_getspb(flag));
}
- t1_updateflags(flagsp, v, t1->flags_stride);
+ t1_updateflags(flagsp, v, (t1->h+2));
}
*flagsp |= T1_VISIT;
}
@@ -339,7 +339,7 @@
if (raw_decode(raw)) {
v = raw_decode(raw); /* ESSAI */
*datap = v ? -oneplushalf : oneplushalf;
- t1_updateflags(flagsp, v, t1->flags_stride);
+ t1_updateflags(flagsp, v, (t1->h+2));
}
} else {
mqc_setcurctx(mqc, t1_getctxno_zc(flag, orient));
@@ -347,7 +347,7 @@
mqc_setcurctx(mqc, t1_getctxno_sc(flag));
v = mqc_decode(mqc) ^ t1_getspb(flag);
*datap = v ? -oneplushalf : oneplushalf;
- t1_updateflags(flagsp, v, t1->flags_stride);
+ t1_updateflags(flagsp, v, (t1->h+2));
}
}
}
@@ -370,7 +370,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_enc_sigpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
orient,
bpno,
@@ -400,7 +400,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_dec_sigpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
orient,
oneplushalf,
@@ -483,7 +483,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_enc_refpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
bpno,
one,
@@ -512,7 +512,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_dec_refpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
poshalf,
neghalf,
@@ -552,7 +552,7 @@
mqc_setcurctx(mqc, t1_getctxno_sc(flag));
v = *datap < 0 ? 1 : 0;
mqc_encode(mqc, v ^ t1_getspb(flag));
- t1_updateflags(flagsp, v, t1->flags_stride);
+ t1_updateflags(flagsp, v, (t1->h+2));
}
}
*flagsp &= ~T1_VISIT;
@@ -582,7 +582,7 @@
mqc_setcurctx(mqc, t1_getctxno_sc(flag));
v = mqc_decode(mqc) ^ t1_getspb(flag);
*datap = v ? -oneplushalf : oneplushalf;
- t1_updateflags(flagsp, v, t1->flags_stride);
+ t1_updateflags(flagsp, v, (t1->h+2));
}
}
*flagsp &= ~T1_VISIT;
@@ -605,16 +605,16 @@
for (i = 0; i < t1->w; ++i) {
if (k + 3 < t1->h) {
if (cblksty & J2K_CCP_CBLKSTY_VSC) {
- agg = !(t1->flags[(k+1) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+2) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+3) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || (t1->flags[(k+4) + (i+1)*t1->flags_stride]
+ agg = !(t1->flags[(k+1) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+2) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+3) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || (t1->flags[(k+4) + (i+1)*(t1->h+2)]
& (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH));
} else {
- agg = !(t1->flags[(k+1) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+2) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+3) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+4) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH));
+ agg = !(t1->flags[(k+1) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+2) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+3) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+4) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH));
}
} else {
agg = 0;
@@ -639,7 +639,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_enc_clnpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
orient,
bpno,
@@ -670,7 +670,7 @@
for (i = 0; i < t1->w; ++i) {
if (k + 3 < t1->h) {
#ifdef __amd64__
- int64 tmp = *((int64*)&t1->flags[(k+1) + (i+1)*t1->flags_stride]);
+ int64 tmp = *((int64*)&t1->flags[(k+1) + (i+1)*(t1->h+2)]);
if (cblksty & J2K_CCP_CBLKSTY_VSC) {
tmp &= ~((int64)(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S)<<48);
}
@@ -681,16 +681,16 @@
agg = !tmp;
#else
if (cblksty & J2K_CCP_CBLKSTY_VSC) {
- agg = !(t1->flags[(k+1) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+2) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+3) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || (t1->flags[(k+4) + (i+1)*t1->flags_stride]
+ agg = !(t1->flags[(k+1) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+2) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+3) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || (t1->flags[(k+4) + (i+1)*(t1->h+2)]
& (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH));
} else {
- agg = !(t1->flags[(k+1) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+2) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+3) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
- || t1->flags[(k+4) + (i+1)*t1->flags_stride] & (T1_SIG | T1_VISIT | T1_SIG_OTH));
+ agg = !(t1->flags[(k+1) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+2) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+3) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH)
+ || t1->flags[(k+4) + (i+1)*(t1->h+2)] & (T1_SIG | T1_VISIT | T1_SIG_OTH));
}
#endif
} else {
@@ -711,7 +711,7 @@
vsc = ((cblksty & J2K_CCP_CBLKSTY_VSC) && (j == k + 3 || j == t1->h - 1)) ? 1 : 0;
t1_dec_clnpass_step(
t1,
- &t1->flags[(j+1) + (i+1)*t1->flags_stride],
+ &t1->flags[(j+1) + (i+1)*(t1->h+2)],
&t1->data[(j * t1->w) + i],
orient,
oneplushalf,
@@ -779,8 +779,7 @@
}
memset(t1->data,0,datasize * sizeof(int));
- t1->flags_stride=h+2;
- flagssize=t1->flags_stride * (w+2);
+ flagssize=(h+2) * (w+2);
if(flagssize > t1->flagssize){
opj_aligned_free(t1->flags);
diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' OpenJPEG.orig/libopenjpeg/t1.h OpenJPEG.patched/libopenjpeg/t1.h
--- OpenJPEG.orig/libopenjpeg/t1.h 2007-08-23 05:48:09.000000000 -0500
+++ OpenJPEG.patched/libopenjpeg/t1.h 2007-08-23 05:48:37.000000000 -0500
@@ -105,7 +105,6 @@
int h;
int datasize;
int flagssize;
- int flags_stride;
} opj_t1_t;
/** @name Exported functions */