summaryrefslogtreecommitdiff
path: root/libopenjpeg/raw.h
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2005-12-02 13:34:15 +0000
committerAntonin Descampe <antonin@gmail.com>2005-12-02 13:34:15 +0000
commitf61cda9b7d83e0202cbaa15bac45d358e9b3652e (patch)
tree2acfa84c798e60d15107f2399a8856be4f5a3806 /libopenjpeg/raw.h
parent76016d509bf892b555840a1bfa3b62750c878051 (diff)
openjpeg version 1.0 (previous version still available with tag opj0-97)
Diffstat (limited to 'libopenjpeg/raw.h')
-rw-r--r--libopenjpeg/raw.h85
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 */