* Copyright (c) 2002-2003, Yannick Verschueren
* Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
* Copyright (c) 2005, Herve Drolon, FreeImage Team
+ * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
The functions in BIO.C have for goal to realize an individual bit input - output.
*/
-
+#include "openjpeg.h"
/** @defgroup BIO BIO - Individual bit input-output stream */
/*@{*/
*/
typedef struct opj_bio {
/** pointer to the start of the buffer */
- unsigned char *start;
+ OPJ_BYTE *start;
/** pointer to the end of the buffer */
- unsigned char *end;
+ OPJ_BYTE *end;
/** pointer to the present position in the buffer */
- unsigned char *bp;
+ OPJ_BYTE *bp;
/** temporary place where each byte is read or written */
- unsigned int buf;
+ OPJ_UINT32 buf;
/** coder : number of bits free to write. decoder : number of bits read */
- int ct;
+ OPJ_UINT32 ct;
} opj_bio_t;
/** @name Exported functions */
@param bio BIO handle
@return Returns the number of bytes written
*/
-int bio_numbytes(opj_bio_t *bio);
+OPJ_UINT32 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 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 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 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 bio_read(opj_bio_t *bio, OPJ_UINT32 n);
/**
Flush bits
@param bio BIO handle
@return Returns 1 if successful, returns 0 otherwise
*/
-int bio_flush(opj_bio_t *bio);
+bool 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
*/
-int bio_inalign(opj_bio_t *bio);
+bool bio_inalign(opj_bio_t *bio);
/* ----------------------------------------------------------------------- */
/*@}*/