Moved the orient flipping into the ctxno_zc table.
Thanks to Callum Lerwick who provided all these great patches !
This commit is contained in:
parent
2952874cb8
commit
07be749bf2
@ -17,6 +17,7 @@ August 21, 2007
|
|||||||
* [Callum Lerwick] Consolidated some calls to mqc_setcurctx.
|
* [Callum Lerwick] Consolidated some calls to mqc_setcurctx.
|
||||||
* [Callum Lerwick] Cleaned up t1_generate_luts to output the proper types.
|
* [Callum Lerwick] Cleaned up t1_generate_luts to output the proper types.
|
||||||
* [Callum Lerwick] Replaced the large ctxno_mag lookup table with a small bit of inline-able branchless code
|
* [Callum Lerwick] Replaced the large ctxno_mag lookup table with a small bit of inline-able branchless code
|
||||||
|
* [Callum Lerwick] Moved the orient flipping into the ctxno_zc table.
|
||||||
|
|
||||||
August 20, 2007
|
August 20, 2007
|
||||||
+ [FOD] Added support for the TGA file format in the codec
|
+ [FOD] Added support for the TGA file format in the codec
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
/** @name Local static functions */
|
/** @name Local static functions */
|
||||||
/*@{*/
|
/*@{*/
|
||||||
|
|
||||||
static char t1_getctxno_zc(int f, int orient);
|
static INLINE char t1_getctxno_zc(int f, int orient);
|
||||||
static char t1_getctxno_sc(int f);
|
static char t1_getctxno_sc(int f);
|
||||||
static INLINE int t1_getctxno_mag(int f);
|
static INLINE int t1_getctxno_mag(int f);
|
||||||
static char t1_getspb(int f);
|
static char t1_getspb(int f);
|
||||||
@ -1044,7 +1044,7 @@ void t1_encode_cblks(
|
|||||||
opj_tcd_precinct_t *prc = &band->precincts[precno];
|
opj_tcd_precinct_t *prc = &band->precincts[precno];
|
||||||
|
|
||||||
for (cblkno = 0; cblkno < prc->cw * prc->ch; ++cblkno) {
|
for (cblkno = 0; cblkno < prc->cw * prc->ch; ++cblkno) {
|
||||||
int x, y, w, i, j, orient;
|
int x, y, w, i, j;
|
||||||
opj_tcd_cblk_t *cblk = &prc->cblks[cblkno];
|
opj_tcd_cblk_t *cblk = &prc->cblks[cblkno];
|
||||||
|
|
||||||
x = cblk->x0 - band->x0;
|
x = cblk->x0 - band->x0;
|
||||||
@ -1084,17 +1084,11 @@ void t1_encode_cblks(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orient = band->bandno; /* FIXME */
|
|
||||||
if (orient == 2) {
|
|
||||||
orient = 1;
|
|
||||||
} else if (orient == 1) {
|
|
||||||
orient = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
t1_encode_cblk(
|
t1_encode_cblk(
|
||||||
t1,
|
t1,
|
||||||
cblk,
|
cblk,
|
||||||
orient,
|
band->bandno,
|
||||||
compno,
|
compno,
|
||||||
tilec->numresolutions - 1 - resno,
|
tilec->numresolutions - 1 - resno,
|
||||||
tcp->tccps[compno].qmfbid,
|
tcp->tccps[compno].qmfbid,
|
||||||
@ -1133,17 +1127,10 @@ void t1_decode_cblks(
|
|||||||
int x, y, w, i, j, orient, cblk_w, cblk_h;
|
int x, y, w, i, j, orient, cblk_w, cblk_h;
|
||||||
opj_tcd_cblk_t *cblk = &prc->cblks[cblkno];
|
opj_tcd_cblk_t *cblk = &prc->cblks[cblkno];
|
||||||
|
|
||||||
orient = band->bandno; /* FIXME */
|
|
||||||
if (orient == 2) {
|
|
||||||
orient = 1;
|
|
||||||
} else if (orient == 1) {
|
|
||||||
orient = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
t1_decode_cblk(
|
t1_decode_cblk(
|
||||||
t1,
|
t1,
|
||||||
cblk,
|
cblk,
|
||||||
orient,
|
band->bandno,
|
||||||
tcp->tccps[compno].roishift,
|
tcp->tccps[compno].roishift,
|
||||||
tcp->tccps[compno].cblksty);
|
tcp->tccps[compno].cblksty);
|
||||||
|
|
||||||
|
@ -197,7 +197,13 @@ int main(){
|
|||||||
// lut_ctxno_zc
|
// lut_ctxno_zc
|
||||||
for (j = 0; j < 4; ++j) {
|
for (j = 0; j < 4; ++j) {
|
||||||
for (i = 0; i < 256; ++i) {
|
for (i = 0; i < 256; ++i) {
|
||||||
lut_ctxno_zc[(j << 8) | i] = t1_init_ctxno_zc(i, j);
|
int orient = j;
|
||||||
|
if (orient == 2) {
|
||||||
|
orient = 1;
|
||||||
|
} else if (orient == 1) {
|
||||||
|
orient = 2;
|
||||||
|
}
|
||||||
|
lut_ctxno_zc[(orient << 8) | i] = t1_init_ctxno_zc(i, j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,14 +1,6 @@
|
|||||||
/* This file was automatically generated by t1_generate_luts.c */
|
/* This file was automatically generated by t1_generate_luts.c */
|
||||||
|
|
||||||
static char lut_ctxno_zc[1024] = {
|
static char lut_ctxno_zc[1024] = {
|
||||||
0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
||||||
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
||||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
||||||
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
||||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
||||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
||||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
|
||||||
0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||||
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
@ -25,6 +17,14 @@ static char lut_ctxno_zc[1024] = {
|
|||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||||
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||||
|
0, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||||
|
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
|
5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
|
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||||
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
|
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||||
0, 3, 3, 6, 3, 6, 6, 8, 3, 6, 6, 8, 6, 8, 8, 8, 1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8,
|
0, 3, 3, 6, 3, 6, 6, 8, 3, 6, 6, 8, 6, 8, 8, 8, 1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8,
|
||||||
1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8, 2, 5, 5, 7, 5, 7, 7, 8, 5, 7, 7, 8, 7, 8, 8, 8,
|
1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8, 2, 5, 5, 7, 5, 7, 7, 8, 5, 7, 7, 8, 7, 8, 8, 8,
|
||||||
1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8, 2, 5, 5, 7, 5, 7, 7, 8, 5, 7, 7, 8, 7, 8, 8, 8,
|
1, 4, 4, 7, 4, 7, 7, 8, 4, 7, 7, 8, 7, 8, 8, 8, 2, 5, 5, 7, 5, 7, 7, 8, 5, 7, 7, 8, 7, 8, 8, 8,
|
||||||
|
Loading…
Reference in New Issue
Block a user