X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmopenjpeg%2Flibopenjpeg%2Fraw.h;h=51586105030e2e80359d9becfeaa24dda1bf741c;hb=76bb7282f2aee8ff167483c0ccf3397769b21326;hp=08b20bc63c77ee67d40afc5f59e9cbfd5cb202d8;hpb=7452f3039ff4dd2574fcbf3343b530a2f20f9623;p=gdcm.git diff --git a/src/gdcmopenjpeg/libopenjpeg/raw.h b/src/gdcmopenjpeg/libopenjpeg/raw.h index 08b20bc6..51586105 100644 --- a/src/gdcmopenjpeg/libopenjpeg/raw.h +++ b/src/gdcmopenjpeg/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 */