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:43:10.000000000 -0500 +++ OpenJPEG.patched/libopenjpeg/t1.c 2007-08-23 05:46:31.000000000 -0500 @@ -259,27 +259,24 @@ } static void t1_updateflags(flag_t *flagsp, int s, int stride) { - flag_t *np = flagsp - stride; - flag_t *sp = flagsp + stride; - static const flag_t mod[] = { - T1_SIG_S, T1_SIG_S|T1_SGN_S, T1_SIG_E, T1_SIG_E|T1_SGN_E, - T1_SIG_W, T1_SIG_W|T1_SGN_W, - T1_SIG_N, T1_SIG_N|T1_SGN_N + T1_SIG_S, T1_SIG_S|T1_SGN_S, + T1_SIG_N, T1_SIG_N|T1_SGN_N, + T1_SIG_W, T1_SIG_W|T1_SGN_W }; - np[-1] |= T1_SIG_SE; - np[0] |= mod[s]; - np[1] |= T1_SIG_SW; + flagsp[-1 - stride] |= T1_SIG_SE; + flagsp[ 0 - stride] |= mod[s]; + flagsp[ 1 - stride] |= T1_SIG_NE; flagsp[-1] |= mod[s+2]; - flagsp[0] |= T1_SIG; - flagsp[1] |= mod[s+4]; + flagsp[ 0] |= T1_SIG; + flagsp[ 1] |= mod[s+4]; - sp[-1] |= T1_SIG_NE; - sp[0] |= mod[s+6]; - sp[1] |= T1_SIG_NW; + flagsp[-1 + stride] |= T1_SIG_SW; + flagsp[ 0 + stride] |= mod[s+6]; + flagsp[ 1 + stride] |= T1_SIG_NW; } static void t1_enc_sigpass_step( @@ -373,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], orient, bpno, @@ -403,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], orient, oneplushalf, @@ -486,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], bpno, one, @@ -515,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], poshalf, neghalf, @@ -608,16 +605,16 @@ for (i = 0; i < t1->w; ++i) { if (k + 3 < t1->h) { if (cblksty & J2K_CCP_CBLKSTY_VSC) { - agg = !(MACRO_t1_flags(1 + k,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 1,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 2,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || (MACRO_t1_flags(1 + k + 3,1 + i) - & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); + 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_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); } else { - agg = !(MACRO_t1_flags(1 + k,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 1,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 2,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 3,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); + 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)); } } else { agg = 0; @@ -642,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], orient, bpno, @@ -673,16 +670,16 @@ for (i = 0; i < t1->w; ++i) { if (k + 3 < t1->h) { if (cblksty & J2K_CCP_CBLKSTY_VSC) { - agg = !(MACRO_t1_flags(1 + k,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 1,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 2,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || (MACRO_t1_flags(1 + k + 3,1 + i) - & (~(T1_SIG_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); + 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_S | T1_SIG_SE | T1_SIG_SW | T1_SGN_S))) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); } else { - agg = !(MACRO_t1_flags(1 + k,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 1,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 2,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH) - || MACRO_t1_flags(1 + k + 3,1 + i) & (T1_SIG | T1_VISIT | T1_SIG_OTH)); + 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)); } } else { agg = 0; @@ -702,7 +699,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) * t1->flags_stride) + i + 1], + &t1->flags[(j+1) + (i+1)*t1->flags_stride], &t1->data[(j * t1->w) + i], orient, oneplushalf, @@ -770,8 +767,8 @@ } memset(t1->data,0,datasize * sizeof(int)); - t1->flags_stride=w+2; - flagssize=t1->flags_stride * (h+2); + t1->flags_stride=h+2; + flagssize=t1->flags_stride * (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-05-22 08:14:13.000000000 -0500 +++ OpenJPEG.patched/libopenjpeg/t1.h 2007-08-23 05:44:00.000000000 -0500 @@ -108,8 +108,6 @@ int flags_stride; } opj_t1_t; -#define MACRO_t1_flags(x,y) t1->flags[((x)*(t1->flags_stride))+(y)] - /** @name Exported functions */ /*@{*/ /* ----------------------------------------------------------------------- */