diff options
| author | Antonin Descampe <antonin@gmail.com> | 2005-12-02 13:34:15 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2005-12-02 13:34:15 +0000 |
| commit | f61cda9b7d83e0202cbaa15bac45d358e9b3652e (patch) | |
| tree | 2acfa84c798e60d15107f2399a8856be4f5a3806 /libopenjpeg/raw.h | |
| parent | 76016d509bf892b555840a1bfa3b62750c878051 (diff) | |
openjpeg version 1.0 (previous version still available with tag opj0-97)
Diffstat (limited to 'libopenjpeg/raw.h')
| -rw-r--r-- | libopenjpeg/raw.h | 85 |
1 files changed, 68 insertions, 17 deletions
diff --git a/libopenjpeg/raw.h b/libopenjpeg/raw.h index 08b20bc6..0a45ecd9 100644 --- a/libopenjpeg/raw.h +++ b/libopenjpeg/raw.h @@ -1,6 +1,7 @@ /* - * Copyright (c) 2002-2003, Antonin Descampe - * Copyright (c) 2002-2003, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium + * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe + * Copyright (c) 2005, HervŽ Drolon, FreeImage Team + * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,22 +28,72 @@ #ifndef __RAW_H #define __RAW_H +/** +@file raw.h +@brief Implementation of operations for raw encoding (RAW) -/* - * Return the number of bytes written/read since initialisation - */ -int raw_numbytes(); +The functions in RAW.C have for goal to realize the operation of raw encoding linked +with the corresponding mode switch. +*/ -/* - * Initialize the decoder - * bp: pointer to the start of the buffer from which the bytes will be read - * len: length of the input buffer - */ -void raw_init_dec(unsigned char *bp, int len); +/** @defgroup RAW RAW - Implementation of operations for raw encoding */ +/*@{*/ -/* - * Decode a bit (returns 0 or 1) - */ -int raw_decode(); +/** +RAW encoding operations +*/ +typedef struct opj_raw { + /** temporary buffer where bits are coded or decoded */ + unsigned char c; + /** number of bits already read or free to write */ + unsigned int ct; + /** maximum length to decode */ + unsigned int lenmax; + /** length decoded */ + unsigned int len; + /** pointer to the current position in the buffer */ + unsigned char *bp; + /** pointer to the start of the buffer */ + unsigned char *start; + /** pointer to the end of the buffer */ + unsigned char *end; +} opj_raw_t; + +/** @name Exported functions */ +/*@{*/ +/* ----------------------------------------------------------------------- */ +/** +Create a new RAW handle +@return Returns a new RAW handle if successful, returns NULL otherwise +*/ +opj_raw_t* raw_create(); +/** +Destroy a previously created RAW handle +@param raw RAW handle to destroy +*/ +void raw_destroy(opj_raw_t *raw); +/** +Return the number of bytes written/read since initialisation +@param raw RAW handle to destroy +@return Returns the number of bytes already encoded +*/ +int raw_numbytes(opj_raw_t *raw); +/** +Initialize the decoder +@param raw RAW handle +@param bp Pointer to the start of the buffer from which the bytes will be read +@param len Length of the input buffer +*/ +void raw_init_dec(opj_raw_t *raw, unsigned char *bp, int len); +/** +Decode a symbol using raw-decoder. Cfr p.506 TAUBMAN +@param raw RAW handle +@return Returns the decoded symbol (0 or 1) +*/ +int raw_decode(opj_raw_t *raw); +/* ----------------------------------------------------------------------- */ +/*@}*/ + +/*@}*/ -#endif +#endif /* __RAW_H */ |
