[trunk] update global functions of bio.c with opj_prefix and new opj type
This commit is contained in:
parent
82afd3a891
commit
df870e5241
|
@ -125,11 +125,11 @@ void opj_bio_destroy(opj_bio_t *bio) {
|
|||
}
|
||||
}
|
||||
|
||||
ptrdiff_t bio_numbytes(opj_bio_t *bio) {
|
||||
ptrdiff_t opj_bio_numbytes(opj_bio_t *bio) {
|
||||
return (bio->bp - bio->start);
|
||||
}
|
||||
|
||||
void bio_init_enc(opj_bio_t *bio, unsigned char *bp, int len) {
|
||||
void opj_bio_init_enc(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len) {
|
||||
bio->start = bp;
|
||||
bio->end = bp + len;
|
||||
bio->bp = bp;
|
||||
|
@ -137,7 +137,7 @@ void bio_init_enc(opj_bio_t *bio, unsigned char *bp, int len) {
|
|||
bio->ct = 8;
|
||||
}
|
||||
|
||||
void bio_init_dec(opj_bio_t *bio, unsigned char *bp, int len) {
|
||||
void opj_bio_init_dec(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len) {
|
||||
bio->start = bp;
|
||||
bio->end = bp + len;
|
||||
bio->bp = bp;
|
||||
|
@ -145,15 +145,16 @@ void bio_init_dec(opj_bio_t *bio, unsigned char *bp, int len) {
|
|||
bio->ct = 0;
|
||||
}
|
||||
|
||||
void bio_write(opj_bio_t *bio, int v, int n) {
|
||||
int i;
|
||||
void opj_bio_write(opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n) {
|
||||
OPJ_INT32 i;
|
||||
for (i = n - 1; i >= 0; i--) {
|
||||
opj_bio_putbit(bio, (v >> i) & 1);
|
||||
}
|
||||
}
|
||||
|
||||
int bio_read(opj_bio_t *bio, int n) {
|
||||
int i, v;
|
||||
OPJ_UINT32 opj_bio_read(opj_bio_t *bio, OPJ_UINT32 n) {
|
||||
OPJ_INT32 i;
|
||||
OPJ_UINT32 v;
|
||||
v = 0;
|
||||
for (i = n - 1; i >= 0; i--) {
|
||||
v += opj_bio_getbit(bio) << i;
|
||||
|
@ -161,27 +162,27 @@ int bio_read(opj_bio_t *bio, int n) {
|
|||
return v;
|
||||
}
|
||||
|
||||
int bio_flush(opj_bio_t *bio) {
|
||||
opj_bool opj_bio_flush(opj_bio_t *bio) {
|
||||
bio->ct = 0;
|
||||
if (! opj_bio_byteout(bio)) {
|
||||
return 1;
|
||||
return OPJ_FALSE;
|
||||
}
|
||||
if (bio->ct == 7) {
|
||||
bio->ct = 0;
|
||||
if (! opj_bio_byteout(bio)) {
|
||||
return 1;
|
||||
return OPJ_FALSE;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return OPJ_TRUE;
|
||||
}
|
||||
|
||||
int bio_inalign(opj_bio_t *bio) {
|
||||
opj_bool opj_bio_inalign(opj_bio_t *bio) {
|
||||
bio->ct = 0;
|
||||
if ((bio->buf & 0xff) == 0xff) {
|
||||
if (! opj_bio_bytein(bio)) {
|
||||
return 1;
|
||||
return OPJ_FALSE;
|
||||
}
|
||||
bio->ct = 0;
|
||||
}
|
||||
return 0;
|
||||
return OPJ_TRUE;
|
||||
}
|
||||
|
|
|
@ -78,47 +78,47 @@ Number of bytes written.
|
|||
@param bio BIO handle
|
||||
@return Returns the number of bytes written
|
||||
*/
|
||||
ptrdiff_t bio_numbytes(opj_bio_t *bio);
|
||||
ptrdiff_t opj_bio_numbytes(opj_bio_t *bio);
|
||||
/**
|
||||
Init encoder
|
||||
@param bio BIO handle
|
||||
@param bp Output buffer
|
||||
@param len Output buffer length
|
||||
*/
|
||||
void bio_init_enc(opj_bio_t *bio, unsigned char *bp, int len);
|
||||
void opj_bio_init_enc(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len);
|
||||
/**
|
||||
Init decoder
|
||||
@param bio BIO handle
|
||||
@param bp Input buffer
|
||||
@param len Input buffer length
|
||||
*/
|
||||
void bio_init_dec(opj_bio_t *bio, unsigned char *bp, int len);
|
||||
void opj_bio_init_dec(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len);
|
||||
/**
|
||||
Write bits
|
||||
@param bio BIO handle
|
||||
@param v Value of bits
|
||||
@param n Number of bits to write
|
||||
*/
|
||||
void bio_write(opj_bio_t *bio, int v, int n);
|
||||
void opj_bio_write(opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n);
|
||||
/**
|
||||
Read bits
|
||||
@param bio BIO handle
|
||||
@param n Number of bits to read
|
||||
@return Returns the corresponding read number
|
||||
*/
|
||||
int bio_read(opj_bio_t *bio, int n);
|
||||
OPJ_UINT32 opj_bio_read(opj_bio_t *bio, OPJ_UINT32 n);
|
||||
/**
|
||||
Flush bits
|
||||
@param bio BIO handle
|
||||
@return Returns 1 if successful, returns 0 otherwise
|
||||
@return Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
|
||||
*/
|
||||
int bio_flush(opj_bio_t *bio);
|
||||
opj_bool opj_bio_flush(opj_bio_t *bio);
|
||||
/**
|
||||
Passes the ending bits (coming from flushing)
|
||||
@param bio BIO handle
|
||||
@return Returns 1 if successful, returns 0 otherwise
|
||||
@return Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
|
||||
*/
|
||||
int bio_inalign(opj_bio_t *bio);
|
||||
opj_bool opj_bio_inalign(opj_bio_t *bio);
|
||||
/* ----------------------------------------------------------------------- */
|
||||
/*@}*/
|
||||
|
||||
|
|
|
@ -146,15 +146,15 @@ static opj_bool opj_t2_init_seg( opj_tcd_cblk_dec_v2_t* cblk,
|
|||
/* TODO MSD->LHE */
|
||||
static void t2_putcommacode(opj_bio_t *bio, int n) {
|
||||
while (--n >= 0) {
|
||||
bio_write(bio, 1, 1);
|
||||
opj_bio_write(bio, 1, 1);
|
||||
}
|
||||
bio_write(bio, 0, 1);
|
||||
opj_bio_write(bio, 0, 1);
|
||||
}
|
||||
|
||||
OPJ_UINT32 opj_t2_getcommacode(opj_bio_t *bio)
|
||||
{
|
||||
OPJ_UINT32 n = 0;
|
||||
while (bio_read(bio, 1)) {
|
||||
while (opj_bio_read(bio, 1)) {
|
||||
++n;
|
||||
}
|
||||
return n;
|
||||
|
@ -162,29 +162,29 @@ OPJ_UINT32 opj_t2_getcommacode(opj_bio_t *bio)
|
|||
|
||||
void opj_t2_putnumpasses(opj_bio_t *bio, OPJ_UINT32 n) {
|
||||
if (n == 1) {
|
||||
bio_write(bio, 0, 1);
|
||||
opj_bio_write(bio, 0, 1);
|
||||
} else if (n == 2) {
|
||||
bio_write(bio, 2, 2);
|
||||
opj_bio_write(bio, 2, 2);
|
||||
} else if (n <= 5) {
|
||||
bio_write(bio, 0xc | (n - 3), 4);
|
||||
opj_bio_write(bio, 0xc | (n - 3), 4);
|
||||
} else if (n <= 36) {
|
||||
bio_write(bio, 0x1e0 | (n - 6), 9);
|
||||
opj_bio_write(bio, 0x1e0 | (n - 6), 9);
|
||||
} else if (n <= 164) {
|
||||
bio_write(bio, 0xff80 | (n - 37), 16);
|
||||
opj_bio_write(bio, 0xff80 | (n - 37), 16);
|
||||
}
|
||||
}
|
||||
|
||||
OPJ_UINT32 opj_t2_getnumpasses(opj_bio_t *bio) {
|
||||
OPJ_UINT32 n;
|
||||
if (!bio_read(bio, 1))
|
||||
if (!opj_bio_read(bio, 1))
|
||||
return 1;
|
||||
if (!bio_read(bio, 1))
|
||||
if (!opj_bio_read(bio, 1))
|
||||
return 2;
|
||||
if ((n = bio_read(bio, 2)) != 3)
|
||||
if ((n = opj_bio_read(bio, 2)) != 3)
|
||||
return (3 + n);
|
||||
if ((n = bio_read(bio, 5)) != 31)
|
||||
if ((n = opj_bio_read(bio, 5)) != 31)
|
||||
return (6 + n);
|
||||
return (37 + bio_read(bio, 7));
|
||||
return (37 + opj_bio_read(bio, 7));
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
|
@ -562,8 +562,8 @@ opj_bool opj_t2_encode_packet( OPJ_UINT32 tileno,
|
|||
}
|
||||
|
||||
bio = opj_bio_create();
|
||||
bio_init_enc(bio, c, length);
|
||||
bio_write(bio, 1, 1); /* Empty header bit */
|
||||
opj_bio_init_enc(bio, c, length);
|
||||
opj_bio_write(bio, 1, 1); /* Empty header bit */
|
||||
|
||||
/* Writing Packet header */
|
||||
band = res->bands;
|
||||
|
@ -595,7 +595,7 @@ opj_bool opj_t2_encode_packet( OPJ_UINT32 tileno,
|
|||
if (!cblk->numpasses) {
|
||||
tgt_encode(bio, prc->incltree, cblkno, layno + 1);
|
||||
} else {
|
||||
bio_write(bio, layer->numpasses != 0, 1);
|
||||
opj_bio_write(bio, layer->numpasses != 0, 1);
|
||||
}
|
||||
|
||||
/* if cblk not included, go to the next cblk */
|
||||
|
@ -640,7 +640,7 @@ opj_bool opj_t2_encode_packet( OPJ_UINT32 tileno,
|
|||
len += pass->len;
|
||||
|
||||
if (pass->term || passno == (cblk->numpasses + layer->numpasses) - 1) {
|
||||
bio_write(bio, len, cblk->numlenbits + int_floorlog2(nump));
|
||||
opj_bio_write(bio, len, cblk->numlenbits + int_floorlog2(nump));
|
||||
len = 0;
|
||||
nump = 0;
|
||||
}
|
||||
|
@ -653,12 +653,12 @@ opj_bool opj_t2_encode_packet( OPJ_UINT32 tileno,
|
|||
++band;
|
||||
}
|
||||
|
||||
if (bio_flush(bio)) {
|
||||
if (!opj_bio_flush(bio)) {
|
||||
opj_bio_destroy(bio);
|
||||
return OPJ_FALSE; /* modified to eliminate longjmp !! */
|
||||
}
|
||||
|
||||
l_nb_bytes = bio_numbytes(bio);
|
||||
l_nb_bytes = opj_bio_numbytes(bio);
|
||||
c += l_nb_bytes;
|
||||
length -= l_nb_bytes;
|
||||
|
||||
|
@ -862,12 +862,13 @@ opj_bool opj_t2_read_packet_header( opj_t2_v2_t* p_t2,
|
|||
l_modified_length_ptr = &(l_remaining_length);
|
||||
}
|
||||
|
||||
bio_init_dec(l_bio, l_header_data,*l_modified_length_ptr);
|
||||
opj_bio_init_dec(l_bio, l_header_data,*l_modified_length_ptr);
|
||||
|
||||
l_present = bio_read(l_bio, 1);
|
||||
l_present = opj_bio_read(l_bio, 1);
|
||||
if (!l_present) {
|
||||
bio_inalign(l_bio);
|
||||
l_header_data += bio_numbytes(l_bio);
|
||||
/* TODO MSD: no test to control the output of this function*/
|
||||
opj_bio_inalign(l_bio);
|
||||
l_header_data += opj_bio_numbytes(l_bio);
|
||||
opj_bio_destroy(l_bio);
|
||||
|
||||
/* EPH markers */
|
||||
|
@ -917,7 +918,7 @@ opj_bool opj_t2_read_packet_header( opj_t2_v2_t* p_t2,
|
|||
/* else one bit */
|
||||
}
|
||||
else {
|
||||
l_included = bio_read(l_bio, 1);
|
||||
l_included = opj_bio_read(l_bio, 1);
|
||||
}
|
||||
|
||||
/* if cblk not included */
|
||||
|
@ -967,7 +968,7 @@ opj_bool opj_t2_read_packet_header( opj_t2_v2_t* p_t2,
|
|||
|
||||
do {
|
||||
l_cblk->segs[l_segno].numnewpasses = int_min(l_cblk->segs[l_segno].maxpasses - l_cblk->segs[l_segno].numpasses, n);
|
||||
l_cblk->segs[l_segno].newlen = bio_read(l_bio, l_cblk->numlenbits + uint_floorlog2(l_cblk->segs[l_segno].numnewpasses));
|
||||
l_cblk->segs[l_segno].newlen = opj_bio_read(l_bio, l_cblk->numlenbits + uint_floorlog2(l_cblk->segs[l_segno].numnewpasses));
|
||||
|
||||
n -= l_cblk->segs[l_segno].numnewpasses;
|
||||
if (n > 0) {
|
||||
|
@ -986,12 +987,12 @@ opj_bool opj_t2_read_packet_header( opj_t2_v2_t* p_t2,
|
|||
++l_band;
|
||||
}
|
||||
|
||||
if (bio_inalign(l_bio)) {
|
||||
if (!opj_bio_inalign(l_bio)) {
|
||||
opj_bio_destroy(l_bio);
|
||||
return OPJ_FALSE;
|
||||
}
|
||||
|
||||
l_header_data += bio_numbytes(l_bio);
|
||||
l_header_data += opj_bio_numbytes(l_bio);
|
||||
opj_bio_destroy(l_bio);
|
||||
|
||||
/* EPH markers */
|
||||
|
|
|
@ -308,12 +308,12 @@ void tgt_encode(opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT
|
|||
while (low < threshold) {
|
||||
if (low >= node->value) {
|
||||
if (!node->known) {
|
||||
bio_write(bio, 1, 1);
|
||||
opj_bio_write(bio, 1, 1);
|
||||
node->known = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
bio_write(bio, 0, 1);
|
||||
opj_bio_write(bio, 0, 1);
|
||||
++low;
|
||||
}
|
||||
|
||||
|
@ -345,7 +345,7 @@ OPJ_UINT32 tgt_decode(opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, O
|
|||
low = node->low;
|
||||
}
|
||||
while (low < threshold && low < node->value) {
|
||||
if (bio_read(bio, 1)) {
|
||||
if (opj_bio_read(bio, 1)) {
|
||||
node->value = low;
|
||||
} else {
|
||||
++low;
|
||||
|
|
Loading…
Reference in New Issue