@param pi packet iterator to modify
@return returns false if pi pointed to the last packet or else returns true
*/
-static opj_bool opj_pi_next_lrcp(opj_pi_iterator_t * pi);
+static OPJ_BOOL opj_pi_next_lrcp(opj_pi_iterator_t * pi);
/**
Get next packet in resolution-layer-component-precinct order.
@param pi packet iterator to modify
@return returns false if pi pointed to the last packet or else returns true
*/
-static opj_bool opj_pi_next_rlcp(opj_pi_iterator_t * pi);
+static OPJ_BOOL opj_pi_next_rlcp(opj_pi_iterator_t * pi);
/**
Get next packet in resolution-precinct-component-layer order.
@param pi packet iterator to modify
@return returns false if pi pointed to the last packet or else returns true
*/
-static opj_bool opj_pi_next_rpcl(opj_pi_iterator_t * pi);
+static OPJ_BOOL opj_pi_next_rpcl(opj_pi_iterator_t * pi);
/**
Get next packet in precinct-component-resolution-layer order.
@param pi packet iterator to modify
@return returns false if pi pointed to the last packet or else returns true
*/
-static opj_bool opj_pi_next_pcrl(opj_pi_iterator_t * pi);
+static OPJ_BOOL opj_pi_next_pcrl(opj_pi_iterator_t * pi);
/**
Get next packet in component-precinct-resolution-layer order.
@param pi packet iterator to modify
@return returns false if pi pointed to the last packet or else returns true
*/
-static opj_bool opj_pi_next_cprl(opj_pi_iterator_t * pi);
+static OPJ_BOOL opj_pi_next_cprl(opj_pi_iterator_t * pi);
/**
* Updates the coding parameters if the encoding is used with Progression order changes and final (or cinema parameters are used).
* @param p_dx_min the minimum dx of all the components of all the resolutions for the tile.
* @param p_dy_min the minimum dy of all the components of all the resolutions for the tile.
*/
-static void opj_pi_update_encode_poc_and_final ( opj_cp_v2_t *p_cp,
+static void opj_pi_update_encode_poc_and_final ( opj_cp_t *p_cp,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
OPJ_INT32 p_tx1,
* Updates the coding parameters if the encoding is not used with Progression order changes and final (and cinema parameters are used).
*
* @param p_cp the coding parameters to modify
+ * @param p_num_comps the number of components
* @param p_tileno the tile index being concerned.
* @param p_tx0 X0 parameter for the tile
* @param p_tx1 X1 parameter for the tile
* @param p_ty1 Y1 parameter for the tile
* @param p_max_prec the maximum precision for all the bands of the tile
* @param p_max_res the maximum number of resolutions for all the poc inside the tile.
- * @param dx_min the minimum dx of all the components of all the resolutions for the tile.
- * @param dy_min the minimum dy of all the components of all the resolutions for the tile.
+ * @param p_dx_min the minimum dx of all the components of all the resolutions for the tile.
+ * @param p_dy_min the minimum dy of all the components of all the resolutions for the tile.
*/
-static void opj_pi_update_encode_not_poc ( opj_cp_v2_t *p_cp,
+static void opj_pi_update_encode_not_poc ( opj_cp_t *p_cp,
OPJ_UINT32 p_num_comps,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
*
* @param p_image the image being encoded.
* @param p_cp the coding parameters.
- * @param p_tileno the tile index of the tile being encoded.
+ * @param tileno the tile index of the tile being encoded.
* @param p_tx0 pointer that will hold the X0 parameter for the tile
* @param p_tx1 pointer that will hold the X1 parameter for the tile
* @param p_ty0 pointer that will hold the Y0 parameter for the tile
* @param p_ty1 pointer that will hold the Y1 parameter for the tile
* @param p_max_prec pointer that will hold the the maximum precision for all the bands of the tile
* @param p_max_res pointer that will hold the the maximum number of resolutions for all the poc inside the tile.
- * @param dx_min pointer that will hold the the minimum dx of all the components of all the resolutions for the tile.
- * @param dy_min pointer that will hold the the minimum dy of all the components of all the resolutions for the tile.
+ * @param p_dx_min pointer that will hold the the minimum dx of all the components of all the resolutions for the tile.
+ * @param p_dy_min pointer that will hold the the minimum dy of all the components of all the resolutions for the tile.
*/
static void opj_get_encoding_parameters(const opj_image_t *p_image,
- const opj_cp_v2_t *p_cp,
+ const opj_cp_t *p_cp,
OPJ_UINT32 tileno,
OPJ_INT32 * p_tx0,
OPJ_INT32 * p_tx1,
* @param p_resolutions pointer to an area corresponding to the one described above.
*/
static void opj_get_all_encoding_parameters(const opj_image_t *p_image,
- const opj_cp_v2_t *p_cp,
+ const opj_cp_t *p_cp,
OPJ_UINT32 tileno,
OPJ_INT32 * p_tx0,
OPJ_INT32 * p_tx1,
*
* @param p_image the image used to initialize the packet iterator (in fact only the number of components is relevant.
* @param p_cp the coding parameters.
- * @param p_tile_no the index of the tile from which creating the packet iterator.
+ * @param tileno the index of the tile from which creating the packet iterator.
*/
-static opj_pi_iterator_t * opj_pi_create( const opj_image_t *image,
- const opj_cp_v2_t *cp,
+static opj_pi_iterator_t * opj_pi_create( const opj_image_t *p_image,
+ const opj_cp_t *p_cp,
OPJ_UINT32 tileno );
/**
* FIXME DOC
*/
static void opj_pi_update_decode_not_poc (opj_pi_iterator_t * p_pi,
- opj_tcp_v2_t * p_tcp,
+ opj_tcp_t * p_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res);
/**
* FIXME DOC
*/
static void opj_pi_update_decode_poc ( opj_pi_iterator_t * p_pi,
- opj_tcp_v2_t * p_tcp,
+ opj_tcp_t * p_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res);
/**
* FIXME DOC
*/
-opj_bool opj_pi_check_next_level( OPJ_INT32 pos,
- opj_cp_v2_t *cp,
+OPJ_BOOL opj_pi_check_next_level( OPJ_INT32 pos,
+ opj_cp_t *cp,
OPJ_UINT32 tileno,
OPJ_UINT32 pino,
const OPJ_CHAR *prog);
==========================================================
*/
-opj_bool opj_pi_next_lrcp(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next_lrcp(opj_pi_iterator_t * pi) {
opj_pi_comp_t *comp = NULL;
opj_pi_resolution_t *res = NULL;
OPJ_UINT32 index = 0;
return OPJ_FALSE;
}
-opj_bool opj_pi_next_rlcp(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next_rlcp(opj_pi_iterator_t * pi) {
opj_pi_comp_t *comp = NULL;
opj_pi_resolution_t *res = NULL;
OPJ_UINT32 index = 0;
return OPJ_FALSE;
}
-opj_bool opj_pi_next_rpcl(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next_rpcl(opj_pi_iterator_t * pi) {
opj_pi_comp_t *comp = NULL;
opj_pi_resolution_t *res = NULL;
OPJ_UINT32 index = 0;
res = &comp->resolutions[resno];
dx = comp->dx * (1 << (res->pdx + comp->numresolutions - 1 - resno));
dy = comp->dy * (1 << (res->pdy + comp->numresolutions - 1 - resno));
- pi->dx = !pi->dx ? dx : opj_int_min(pi->dx, dx);
- pi->dy = !pi->dy ? dy : opj_int_min(pi->dy, dy);
+ pi->dx = !pi->dx ? dx : opj_uint_min(pi->dx, dx);
+ pi->dy = !pi->dy ? dy : opj_uint_min(pi->dy, dy);
}
}
}
return OPJ_FALSE;
}
-opj_bool opj_pi_next_pcrl(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next_pcrl(opj_pi_iterator_t * pi) {
opj_pi_comp_t *comp = NULL;
opj_pi_resolution_t *res = NULL;
OPJ_UINT32 index = 0;
res = &comp->resolutions[resno];
dx = comp->dx * (1 << (res->pdx + comp->numresolutions - 1 - resno));
dy = comp->dy * (1 << (res->pdy + comp->numresolutions - 1 - resno));
- pi->dx = !pi->dx ? dx : opj_int_min(pi->dx, dx);
- pi->dy = !pi->dy ? dy : opj_int_min(pi->dy, dy);
+ pi->dx = !pi->dx ? dx : opj_uint_min(pi->dx, dx);
+ pi->dy = !pi->dy ? dy : opj_uint_min(pi->dy, dy);
}
}
}
return OPJ_FALSE;
}
-opj_bool opj_pi_next_cprl(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next_cprl(opj_pi_iterator_t * pi) {
opj_pi_comp_t *comp = NULL;
opj_pi_resolution_t *res = NULL;
OPJ_UINT32 index = 0;
res = &comp->resolutions[resno];
dx = comp->dx * (1 << (res->pdx + comp->numresolutions - 1 - resno));
dy = comp->dy * (1 << (res->pdy + comp->numresolutions - 1 - resno));
- pi->dx = !pi->dx ? dx : opj_int_min(pi->dx, dx);
- pi->dy = !pi->dy ? dy : opj_int_min(pi->dy, dy);
+ pi->dx = !pi->dx ? dx : opj_uint_min(pi->dx, dx);
+ pi->dy = !pi->dy ? dy : opj_uint_min(pi->dy, dy);
}
if (!pi->tp_on){
pi->poc.ty0 = pi->ty0;
}
void opj_get_encoding_parameters( const opj_image_t *p_image,
- const opj_cp_v2_t *p_cp,
+ const opj_cp_t *p_cp,
OPJ_UINT32 p_tileno,
OPJ_INT32 * p_tx0,
OPJ_INT32 * p_tx1,
/* loop */
OPJ_UINT32 compno, resno;
/* pointers */
- const opj_tcp_v2_t *l_tcp = 00;
+ const opj_tcp_t *l_tcp = 00;
const opj_tccp_t * l_tccp = 00;
const opj_image_comp_t * l_img_comp = 00;
void opj_get_all_encoding_parameters( const opj_image_t *p_image,
- const opj_cp_v2_t *p_cp,
+ const opj_cp_t *p_cp,
OPJ_UINT32 tileno,
OPJ_INT32 * p_tx0,
OPJ_INT32 * p_tx1,
OPJ_UINT32 compno, resno;
/* pointers*/
- const opj_tcp_v2_t *tcp = 00;
+ const opj_tcp_t *tcp = 00;
const opj_tccp_t * l_tccp = 00;
const opj_image_comp_t * l_img_comp = 00;
}
opj_pi_iterator_t * opj_pi_create( const opj_image_t *image,
- const opj_cp_v2_t *cp,
+ const opj_cp_t *cp,
OPJ_UINT32 tileno )
{
/* loop*/
/* pointers to tile coding parameters and components.*/
opj_pi_iterator_t *l_pi = 00;
- opj_tcp_v2_t *tcp = 00;
+ opj_tcp_t *tcp = 00;
const opj_tccp_t *tccp = 00;
/* current packet iterator being allocated*/
return l_pi;
}
-void opj_pi_update_encode_poc_and_final ( opj_cp_v2_t *p_cp,
+void opj_pi_update_encode_poc_and_final ( opj_cp_t *p_cp,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
OPJ_INT32 p_tx1,
/* loop*/
OPJ_UINT32 pino;
/* tile coding parameter*/
- opj_tcp_v2_t *l_tcp = 00;
+ opj_tcp_t *l_tcp = 00;
/* current poc being updated*/
opj_poc_t * l_current_poc = 00;
/* number of pocs*/
OPJ_UINT32 l_poc_bound;
+ OPJ_ARG_NOT_USED(p_max_res);
+
/* preconditions in debug*/
assert(p_cp != 00);
assert(p_tileno < p_cp->tw * p_cp->th);
}
}
-void opj_pi_update_encode_not_poc ( opj_cp_v2_t *p_cp,
+void opj_pi_update_encode_not_poc ( opj_cp_t *p_cp,
OPJ_UINT32 p_num_comps,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
/* loop*/
OPJ_UINT32 pino;
/* tile coding parameter*/
- opj_tcp_v2_t *l_tcp = 00;
+ opj_tcp_t *l_tcp = 00;
/* current poc being updated*/
opj_poc_t * l_current_poc = 00;
/* number of pocs*/
}
void opj_pi_update_decode_poc (opj_pi_iterator_t * p_pi,
- opj_tcp_v2_t * p_tcp,
+ opj_tcp_t * p_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res)
{
opj_pi_iterator_t * l_current_pi = 00;
opj_poc_t* l_current_poc = 0;
+ OPJ_ARG_NOT_USED(p_max_res);
+
/* preconditions in debug*/
assert(p_pi != 00);
assert(p_tcp != 00);
}
void opj_pi_update_decode_not_poc (opj_pi_iterator_t * p_pi,
- opj_tcp_v2_t * p_tcp,
+ opj_tcp_t * p_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res)
{
-opj_bool opj_pi_check_next_level( OPJ_INT32 pos,
- opj_cp_v2_t *cp,
+OPJ_BOOL opj_pi_check_next_level( OPJ_INT32 pos,
+ opj_cp_t *cp,
OPJ_UINT32 tileno,
OPJ_UINT32 pino,
const OPJ_CHAR *prog)
{
OPJ_INT32 i;
- opj_tcp_v2_t *tcps =&cp->tcps[tileno];
+ opj_tcp_t *tcps =&cp->tcps[tileno];
opj_poc_t *tcp = &tcps->pocs[pino];
if(pos>=0){
break;
case 'P':
switch(tcp->prg){
- case LRCP||RLCP:
+ case OPJ_LRCP||OPJ_RLCP:
if(tcp->prc_t == tcp->prcE){
if(opj_pi_check_next_level(i-1,cp,tileno,pino,prog)){
return OPJ_TRUE;
==========================================================
*/
opj_pi_iterator_t *opj_pi_create_decode(opj_image_t *p_image,
- opj_cp_v2_t *p_cp,
+ opj_cp_t *p_cp,
OPJ_UINT32 p_tile_no)
{
/* loop */
/* pointers */
opj_pi_iterator_t *l_pi = 00;
- opj_tcp_v2_t *l_tcp = 00;
+ opj_tcp_t *l_tcp = 00;
const opj_tccp_t *l_tccp = 00;
opj_pi_comp_t *l_current_comp = 00;
opj_image_comp_t * l_img_comp = 00;
l_tcp = &p_cp->tcps[p_tile_no];
l_bound = l_tcp->numpocs+1;
- l_data_stride = 4 * J2K_MAXRLVLS;
+ l_data_stride = 4 * OPJ_J2K_MAXRLVLS;
l_tmp_data = (OPJ_UINT32*)opj_malloc(
l_data_stride * p_image->numcomps * sizeof(OPJ_UINT32));
if
}
++l_current_pi;
- for
- (pino = 1 ; pino<l_bound ; ++pino )
+ for (pino = 1 ; pino<l_bound ; ++pino )
{
- opj_pi_comp_t *l_current_comp = l_current_pi->comps;
- opj_image_comp_t * l_img_comp = p_image->comps;
+ l_current_comp = l_current_pi->comps;
+ l_img_comp = p_image->comps;
l_tccp = l_tcp->tccps;
l_current_pi->tx0 = l_tx0;
opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *p_image,
- opj_cp_v2_t *p_cp,
+ opj_cp_t *p_cp,
OPJ_UINT32 p_tile_no,
J2K_T2_MODE p_t2_mode )
{
/* pointers*/
opj_pi_iterator_t *l_pi = 00;
- opj_tcp_v2_t *l_tcp = 00;
+ opj_tcp_t *l_tcp = 00;
const opj_tccp_t *l_tccp = 00;
opj_pi_comp_t *l_current_comp = 00;
opj_image_comp_t * l_img_comp = 00;
l_tcp = &p_cp->tcps[p_tile_no];
l_bound = l_tcp->numpocs+1;
- l_data_stride = 4 * J2K_MAXRLVLS;
+ l_data_stride = 4 * OPJ_J2K_MAXRLVLS;
l_tmp_data = (OPJ_UINT32*)opj_malloc(
l_data_stride * p_image->numcomps * sizeof(OPJ_UINT32));
if (! l_tmp_data) {
++l_current_pi;
for (pino = 1 ; pino<l_bound ; ++pino ) {
- opj_pi_comp_t *l_current_comp = l_current_pi->comps;
- opj_image_comp_t * l_img_comp = p_image->comps;
+ l_current_comp = l_current_pi->comps;
+ l_img_comp = p_image->comps;
l_tccp = l_tcp->tccps;
l_current_pi->tx0 = l_tx0;
}
void opj_pi_create_encode( opj_pi_iterator_t *pi,
- opj_cp_v2_t *cp,
+ opj_cp_t *cp,
OPJ_UINT32 tileno,
OPJ_UINT32 pino,
OPJ_UINT32 tpnum,
const OPJ_CHAR *prog;
OPJ_INT32 i;
OPJ_UINT32 incr_top=1,resetX=0;
- opj_tcp_v2_t *tcps =&cp->tcps[tileno];
+ opj_tcp_t *tcps =&cp->tcps[tileno];
opj_poc_t *tcp= &tcps->pocs[pino];
prog = opj_j2k_convert_progression_order(tcp->prg);
break;
case 'P':
switch(tcp->prg){
- case LRCP:
- case RLCP:
+ case OPJ_LRCP:
+ case OPJ_RLCP:
pi[pino].poc.precno0 = tcp->prcS;
pi[pino].poc.precno1 = tcp->prcE;
break;
break;
case 'P':
switch(tcp->prg){
- case LRCP:
- case RLCP:
+ case OPJ_LRCP:
+ case OPJ_RLCP:
tcp->prc_t = tcp->prcS;
pi[pino].poc.precno0 = tcp->prc_t;
pi[pino].poc.precno1 = tcp->prc_t+1;
break;
case 'P':
switch(tcp->prg){
- case LRCP:
- case RLCP:
+ case OPJ_LRCP:
+ case OPJ_RLCP:
pi[pino].poc.precno0 = tcp->prc_t-1;
pi[pino].poc.precno1 = tcp->prc_t;
break;
break;
case 'P':
switch(tcp->prg){
- case LRCP:
- case RLCP:
+ case OPJ_LRCP:
+ case OPJ_RLCP:
if(tcp->prc_t == tcp->prcE){
if(opj_pi_check_next_level(i-1,cp,tileno,pino,prog)){
tcp->prc_t = tcp->prcS;
void opj_pi_update_encoding_parameters( const opj_image_t *p_image,
- opj_cp_v2_t *p_cp,
+ opj_cp_t *p_cp,
OPJ_UINT32 p_tile_no )
{
/* encoding parameters to set */
OPJ_UINT32 l_dx_min,l_dy_min;
/* pointers */
- opj_tcp_v2_t *l_tcp = 00;
+ opj_tcp_t *l_tcp = 00;
/* preconditions */
assert(p_cp != 00);
}
}
-opj_bool opj_pi_next(opj_pi_iterator_t * pi) {
+OPJ_BOOL opj_pi_next(opj_pi_iterator_t * pi) {
switch (pi->poc.prg) {
- case LRCP:
+ case OPJ_LRCP:
return opj_pi_next_lrcp(pi);
- case RLCP:
+ case OPJ_RLCP:
return opj_pi_next_rlcp(pi);
- case RPCL:
+ case OPJ_RPCL:
return opj_pi_next_rpcl(pi);
- case PCRL:
+ case OPJ_PCRL:
return opj_pi_next_pcrl(pi);
- case CPRL:
+ case OPJ_CPRL:
return opj_pi_next_cprl(pi);
- case PROG_UNKNOWN:
+ case OPJ_PROG_UNKNOWN:
return OPJ_FALSE;
}
return OPJ_FALSE;
-}
\ No newline at end of file
+}