*/\r
static void j3d_read_siz(opj_j3d_t *j3d);\r
/**\r
-Write the ZSI marker (3rd volume and tile size)\r
+Write the NSI marker (3rd volume and tile size)\r
@param j3d J3D handle\r
*/\r
-static void j3d_write_zsi(opj_j3d_t *j3d);\r
+static void j3d_write_nsi(opj_j3d_t *j3d);\r
/**\r
-Read the ZSI marker (3rd volume and tile size)\r
+Read the NSI marker (3rd volume and tile size)\r
@param j3d J3D handle\r
*/\r
-static void j3d_read_zsi(opj_j3d_t *j3d);\r
+static void j3d_read_nsi(opj_j3d_t *j3d);\r
/**\r
Write the COM marker (comment)\r
@param j3d J3D handle\r
lenp = cio_tell(cio);\r
cio_skip(cio, 2);\r
cio_write(cio,J3D_CAP_10, 4); \r
+ if( J3D_CAP_10 )\r
+ {\r
+ cio_write(cio, 0x0, 2); \r
+ }\r
len = cio_tell(cio) - lenp;\r
cio_seek(cio, lenp);\r
cio_write(cio, len, 2); /* Lsiz */\r
/*cio_read(cio, 2); CAP */\r
len = cio_read(cio, 2);\r
Cap = cio_read(cio, 4);\r
+ if(Cap) {\r
+ cio_read(cio, 2);\r
+ }\r
+ assert( len == 2 + 4 + 2 );\r
}\r
-static void j3d_write_zsi(opj_j3d_t *j3d) {\r
+static void j3d_write_nsi(opj_j3d_t *j3d) {\r
int i;\r
int lenp, len;\r
+ int ndim = 3;\r
\r
opj_cio_t *cio = j3d->cio;\r
opj_volume_t *volume = j3d->volume;\r
opj_cp_t *cp = j3d->cp;\r
\r
- cio_write(cio, J3D_MS_ZSI, 2); /* ZSI */\r
+ cio_write(cio, J3D_MS_NSI, 2); /* NSI */\r
lenp = cio_tell(cio);\r
cio_skip(cio, 2);\r
+ cio_write(cio, ndim, 1); /* Ndim */\r
cio_write(cio, volume->z1, 4); /* Zsiz */\r
cio_write(cio, volume->z0, 4); /* Z0siz */\r
cio_write(cio, cp->tdz, 4); /* ZTsiz */\r
cio_seek(cio, lenp + len);\r
}\r
\r
-static void j3d_read_zsi(opj_j3d_t *j3d) {\r
+static void j3d_read_nsi(opj_j3d_t *j3d) {\r
+ int ndim;\r
int len, i;\r
\r
opj_cio_t *cio = j3d->cio;\r
opj_volume_t *volume = j3d->volume;\r
opj_cp_t *cp = j3d->cp;\r
\r
- len = cio_read(cio, 2); /* Lsiz */\r
+ len = cio_read(cio, 2); /* Lnsi */\r
+ ndim = cio_read(cio, 1); /* Ndim */\r
+ assert( ndim == 3 );\r
volume->z1 = cio_read(cio, 4); /* Zsiz */\r
volume->z0 = cio_read(cio, 4); /* Z0siz */\r
cp->tdz = cio_read(cio, 4); /* ZTsiz */\r
{J3D_MS_EOC, J3D_STATE_TPHSOT, j3d_read_eoc},\r
{J3D_MS_CAP, J3D_STATE_MHSIZ, j3d_read_cap},\r
{J3D_MS_SIZ, J3D_STATE_MHSIZ, j3d_read_siz},\r
- {J3D_MS_ZSI, J3D_STATE_MHSIZ, j3d_read_zsi},\r
+ {J3D_MS_NSI, J3D_STATE_MHSIZ, j3d_read_nsi},\r
{J3D_MS_COD, J3D_STATE_MH | J3D_STATE_TPH, j3d_read_cod},\r
{J3D_MS_COC, J3D_STATE_MH | J3D_STATE_TPH, j3d_read_coc},\r
{J3D_MS_RGN, J3D_STATE_MH | J3D_STATE_TPH, j3d_read_rgn},\r
j3d_write_siz(j3d);\r
if (j3d->cinfo->codec_format == CODEC_J3D) {\r
j3d_write_cap(j3d);\r
- j3d_write_zsi(j3d);\r
+ j3d_write_nsi(j3d);\r
}\r
j3d_write_cod(j3d);\r
j3d_write_qcd(j3d);\r