view dmbstr.h @ 800:c63e24f9aa9a

Modularize bitstream reader.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 02 Nov 2013 07:34:42 +0200
parents a7ab6bf5b012
children
line wrap: on
line source

/*
 * DMLib
 * -- Simple bitstream I/O functions
 * Programmed and designed by Matti 'ccr' Hamalainen
 * (C) Copyright 2012 Tecnic Software productions (TNSP)
 */
#ifndef DMBSTR_H
#define DMBSTR_H

#include "dmlib.h"

typedef struct _DMBitStreamContext
{
  void *fp;
  int (*putByte)(struct _DMBitStreamContext *ctx, Uint8 val);

  int buf, bitcnt, bytecnt;
} DMBitStreamContext;


void  dmInitBitStreamContext(DMBitStreamContext *ctx);
BOOL  dmPutBits(DMBitStreamContext *ctx, const int val, const int n);
int   dmFlushBitStream(DMBitStreamContext *ctx);

int   dmInitBitStreamFILE(DMBitStreamContext *ctx, FILE *fp);


#ifdef __cplusplus
}
#endif
#endif // DMBSTR_H