OpenJPEG 2.3.0

Data Structures | Typedefs
BIO - Individual bit input-output stream

## Data Structures
struct | opj_bio
| Individual bit input-output stream (BIO) More...

## Typedefs
typedef struct opj_bio | opj_bio_t
| Individual bit input-output stream (BIO) More...

## Local static functions
static void | opj_bio_putbit (opj_bio_t *bio, OPJ_UINT32 b)
| Write a bit More...
static OPJ_UINT32 | opj_bio_getbit (opj_bio_t *bio)
| Read a bit More...
static OPJ_BOOL | opj_bio_byteout (opj_bio_t *bio)
| Write a byte More...
static OPJ_BOOL | opj_bio_bytein (opj_bio_t *bio)
| Read a byte More...

## Exported functions
opj_bio_t * | opj_bio_create (void)
| Create a new BIO handle More...
void | opj_bio_destroy (opj_bio_t *bio)
| Destroy a previously created BIO handle More...
ptrdiff_t | opj_bio_numbytes (opj_bio_t *bio)
| Number of bytes written. More...
void | opj_bio_init_enc (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
| Init encoder More...
void | opj_bio_init_dec (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
| Init decoder More...
void | opj_bio_write (opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n)
| Write bits More...
OPJ_UINT32 | opj_bio_read (opj_bio_t *bio, OPJ_UINT32 n)
| Read bits More...
OPJ_BOOL | opj_bio_flush (opj_bio_t *bio)
| Flush bits More...
OPJ_BOOL | opj_bio_inalign (opj_bio_t *bio)
| Passes the ending bits (coming from flushing) More...

## Detailed Description

## Typedef Documentation

## ◆ opj_bio_t

typedef struct opj_bio opj_bio_t

Individual bit input-output stream (BIO)

## Function Documentation

## ◆ opj_bio_bytein()

static OPJ_BOOL opj_bio_bytein | ( | opj_bio_t * | bio | ) |
| static

Read a byte

Parameters

  bio | BIO handle

Returns
  Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_bio_getbit(), and opj_bio_inalign().

## ◆ opj_bio_byteout()

static OPJ_BOOL opj_bio_byteout | ( | opj_bio_t * | bio | ) |
| static

Write a byte

Parameters

  bio | BIO handle

Returns
  Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_bio_flush(), and opj_bio_putbit().

## ◆ opj_bio_create()

opj_bio_t* opj_bio_create | ( | void |  | ) |

Create a new BIO handle

Returns
  Returns a new BIO handle if successful, returns NULL otherwise

References opj_malloc().

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

## ◆ opj_bio_destroy()

void opj_bio_destroy | ( | opj_bio_t * | bio | ) |

Destroy a previously created BIO handle

Parameters

  bio | BIO handle to destroy

References opj_free().

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

## ◆ opj_bio_flush()

OPJ_BOOL opj_bio_flush | ( | opj_bio_t * | bio | ) |

Flush bits

Parameters

  bio | BIO handle

Returns
  Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise

References opj_bio::ct, opj_bio_byteout(), OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_t2_encode_packet().

## ◆ opj_bio_getbit()

static OPJ_UINT32 opj_bio_getbit | ( | opj_bio_t * | bio | ) |
| static

Read a bit

Parameters

  bio | BIO handle

Returns
  Returns the read bit

References opj_bio::buf, opj_bio::ct, and opj_bio_bytein().

Referenced by opj_bio_read().

## ◆ opj_bio_inalign()

OPJ_BOOL opj_bio_inalign | ( | opj_bio_t * | bio | ) |

Passes the ending bits (coming from flushing)

Parameters

  bio | BIO handle

Returns
  Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise

References opj_bio::buf, opj_bio::ct, opj_bio_bytein(), OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_t2_read_packet_header().

## ◆ opj_bio_init_dec()

void opj_bio_init_dec | ( | opj_bio_t * | bio,
|  | OPJ_BYTE * | bp,
|  | OPJ_UINT32 | len
| ) |  |

Init decoder

Parameters

  bio | BIO handle
  bp | Input buffer
  len | Input buffer length

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, and opj_bio::start.

Referenced by opj_t2_read_packet_header().

## ◆ opj_bio_init_enc()

void opj_bio_init_enc | ( | opj_bio_t * | bio,
|  | OPJ_BYTE * | bp,
|  | OPJ_UINT32 | len
| ) |  |

Init encoder

Parameters

  bio | BIO handle
  bp | Output buffer
  len | Output buffer length

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, and opj_bio::start.

Referenced by opj_t2_encode_packet().

## ◆ opj_bio_numbytes()

ptrdiff_t opj_bio_numbytes | ( | opj_bio_t * | bio | ) |

Number of bytes written.

Parameters

  bio | BIO handle

Returns
  Returns the number of bytes written

References opj_bio::bp, and opj_bio::start.

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

## ◆ opj_bio_putbit()

static void opj_bio_putbit | ( | opj_bio_t * | bio,
|  | OPJ_UINT32 | b
| ) |  |
| static

Write a bit

Parameters

  bio | BIO handle
  b | Bit to write (0 or 1)

References opj_bio::buf, opj_bio::ct, and opj_bio_byteout().

Referenced by opj_bio_write().

## ◆ opj_bio_read()

OPJ_UINT32 opj_bio_read | ( | opj_bio_t * | bio,
|  | OPJ_UINT32 | n
| ) |  |

Read bits

Parameters

  bio | BIO handle
  n | Number of bits to read

Returns
  Returns the corresponding read number

References opj_bio_getbit().

Referenced by opj_t2_getcommacode(), opj_t2_getnumpasses(), opj_t2_read_packet_header(), and opj_tgt_decode().

## ◆ opj_bio_write()

void opj_bio_write | ( | opj_bio_t * | bio,
|  | OPJ_UINT32 | v,
|  | OPJ_UINT32 | n
| ) |  |

Write bits

Parameters

  bio | BIO handle
  v | Value of bits
  n | Number of bits to write

References opj_bio_putbit().

Referenced by opj_t2_encode_packet(), opj_t2_putcommacode(), opj_t2_putnumpasses(), and opj_tgt_encode().