Enabled compression of TIF image format to j2k by tifftoimage() and decompression...
[openjpeg.git] / libopenjpeg / raw.h
index 08b20bc63c77ee67d40afc5f59e9cbfd5cb202d8..c4ff9b329f2d2739ac39081759ac3d7fac6621ad 100644 (file)
@@ -1,6 +1,8 @@
 /*
- * Copyright (c) 2002-2003, Antonin Descampe
- * Copyright (c) 2002-2003,  Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
+ * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
+ * Copyright (c) 2002-2007, Professor Benoit Macq
+ * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
+ * Copyright (c) 2005, Herve Drolon, FreeImage Team
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 #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 */