diff options
| author | no_author <no_author@no_author> | 2004-02-17 16:33:43 +0000 |
|---|---|---|
| committer | no_author <no_author@no_author> | 2004-02-17 16:33:43 +0000 |
| commit | 650f1910d74d8453bcad055651e270c9a18b1e3e (patch) | |
| tree | 898e698eee2681be088ec5967847ac022b435217 /indexer_JPIP/bio.c | |
| parent | e798d3f348e4b188c290cdf87116a3aa56cda37f (diff) | |
This commit was manufactured by cvs2svn to create branch 'j2kviewer'.j2kviewer
Diffstat (limited to 'indexer_JPIP/bio.c')
| -rw-r--r-- | indexer_JPIP/bio.c | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/indexer_JPIP/bio.c b/indexer_JPIP/bio.c deleted file mode 100644 index 2c989e56..00000000 --- a/indexer_JPIP/bio.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2001-2002, David Janssens - * Copyright (c) 2003, Yannick Verschueren - * Copyright (c) 2003, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "bio.h" -#include <setjmp.h> - -static unsigned char *bio_start, *bio_end, *bio_bp; -static unsigned int bio_buf; -static int bio_ct; - -extern jmp_buf j2k_error; - -/// <summary> -/// Number of bytes written. -/// </summary> -int bio_numbytes() { - return bio_bp-bio_start; -} - -/// <summary> -/// Init decoder. -/// </summary> -/// <param name="bp">Input buffer</param> -/// <param name="len">Input buffer length</param> -void bio_init_dec(unsigned char *bp, int len) { - bio_start=bp; - bio_end=bp+len; - bio_bp=bp; - bio_buf=0; - bio_ct=0; -} - -int bio_byteout() -{ - bio_buf = (bio_buf << 8) & 0xffff; - bio_ct = bio_buf == 0xff00 ? 7 : 8; - if (bio_bp >= bio_end) - return 1; - *bio_bp++ = bio_buf >> 8; - return 0; -} - -/// <summary> -/// Read byte. -/// </summary> -int bio_bytein() { - bio_buf=(bio_buf<<8)&0xffff; - bio_ct=bio_buf==0xff00?7:8; - if (bio_bp>=bio_end) return 1; //longjmp(j2k_error, 1); - bio_buf|=*bio_bp++; - return 0; -} - -/// <summary> -/// Read bit. -/// </summary> -int bio_getbit() { - if (bio_ct==0) { - bio_bytein(); - } - bio_ct--; - return (bio_buf>>bio_ct)&1; -} - -/// <summary> -/// Read bits. -/// </summary> -/// <param name="n">Number of bits to read</param> -int bio_read(int n) { - int i, v; - v=0; - for (i=n-1; i>=0; i--) { - v+=bio_getbit()<<i; - } - return v; -} - -/// <summary> -/// Flush bits. -/// </summary> -int bio_flush() { - bio_ct=0; - bio_byteout(); - if (bio_ct==7) { - bio_ct=0; - if ( bio_byteout()) return 1;; - } - return 0; -} - -/// <summary> -/// </summary> -int bio_inalign() { - bio_ct=0; - if ((bio_buf&0xff)==0xff) { - if( bio_bytein()) return 1; - bio_ct=0; - } - return 0; -} |
