gstgetbits

gstgetbits — accelerated routines for getting bits from a data stream.

Synopsis


#include <libs/getbits/gstgetbits.h>


struct      gst_getbits_t;
void        (*GstGetbitsCallback)           (gst_getbits_t *gb,
                                             void *data);
void        gst_getbits_init                (gst_getbits_t *gb,
                                             GstGetbitsCallback callback,
                                             void *data);
void        gst_getbits_newbuf              (gst_getbits_t *gb,
                                             unsigned char *buffer,
                                             unsigned long len);
#define     gst_getbits_bitoffset           (gb)
#define     gst_getbits_align_byte          (gb)
#define     gst_getbits_bufferpos           (gb)
#define     gst_getbits_bytesleft           (gb)
#define     gst_getbits_bitsleft            (gb)
#define     gst_getbyte                     (gb)
#define     gst_getbits_fastn               (gb,n)
#define     gst_getbitsn                    (gb,n)
#define     gst_getbits1                    (gb)
#define     gst_getbits2                    (gb)
#define     gst_getbits3                    (gb)
#define     gst_getbits4                    (gb)
#define     gst_getbits5                    (gb)
#define     gst_getbits6                    (gb)
#define     gst_getbits7                    (gb)
#define     gst_getbits8                    (gb)
#define     gst_getbits9                    (gb)
#define     gst_getbits10                   (gb)
#define     gst_getbits11                   (gb)
#define     gst_getbits12                   (gb)
#define     gst_getbits13                   (gb)
#define     gst_getbits14                   (gb)
#define     gst_getbits15                   (gb)
#define     gst_getbits16                   (gb)
#define     gst_getbits17                   (gb)
#define     gst_getbits18                   (gb)
#define     gst_getbits19                   (gb)
#define     gst_getbits20                   (gb)
#define     gst_getbits21                   (gb)
#define     gst_getbits22                   (gb)
#define     gst_getbits23                   (gb)
#define     gst_showbitsn                   (gb,n)
#define     gst_showbits1                   (gb)
#define     gst_showbits2                   (gb)
#define     gst_showbits3                   (gb)
#define     gst_showbits4                   (gb)
#define     gst_showbits5                   (gb)
#define     gst_showbits6                   (gb)
#define     gst_showbits7                   (gb)
#define     gst_showbits8                   (gb)
#define     gst_showbits9                   (gb)
#define     gst_showbits10                  (gb)
#define     gst_showbits11                  (gb)
#define     gst_showbits12                  (gb)
#define     gst_showbits13                  (gb)
#define     gst_showbits14                  (gb)
#define     gst_showbits15                  (gb)
#define     gst_showbits16                  (gb)
#define     gst_showbits17                  (gb)
#define     gst_showbits18                  (gb)
#define     gst_showbits19                  (gb)
#define     gst_showbits20                  (gb)
#define     gst_showbits21                  (gb)
#define     gst_showbits22                  (gb)
#define     gst_showbits23                  (gb)
#define     gst_showbits24                  (gb)
#define     gst_showbits32                  (gb)
#define     gst_flushbitsn                  (gb,n)
#define     gst_flushbits32                 (gb)
#define     gst_backbitsn                   (gb,n)
#define     gst_backbits24                  (gb)

Description

Details

struct gst_getbits_t

struct gst_getbits_t {

  unsigned char *ptr;
  unsigned long *longptr;
  unsigned char *endptr;
  unsigned long length;
  long bits;
  unsigned long dword;
  unsigned long temp;

  GstGetbitsCallback callback;
  void *data;

  unsigned long (*get1bit)(gst_getbits_t *gb, unsigned long bits);
  unsigned long (*getbits)(gst_getbits_t *gb, unsigned long bits);
  unsigned long (*getbits_fast)(gst_getbits_t *gb, unsigned long bits);
  unsigned long (*getbyte)(gst_getbits_t *gb, unsigned long bits);
  unsigned long (*show1bit)(gst_getbits_t *gb, unsigned long bits);
  unsigned long (*showbits)(gst_getbits_t *gb, unsigned long bits);
  void (*flushbits)(gst_getbits_t *gb, unsigned long bits);
  void (*backbits)(gst_getbits_t *gb, unsigned long bits);
};


GstGetbitsCallback ()

void        (*GstGetbitsCallback)           (gst_getbits_t *gb,
                                             void *data);

gb :
data :

gst_getbits_init ()

void        gst_getbits_init                (gst_getbits_t *gb,
                                             GstGetbitsCallback callback,
                                             void *data);

gb :
callback :
data :

gst_getbits_newbuf ()

void        gst_getbits_newbuf              (gst_getbits_t *gb,
                                             unsigned char *buffer,
                                             unsigned long len);

gb :
buffer :
Param3 :

gst_getbits_bitoffset()

#define     gst_getbits_bitoffset(gb)

gb :

gst_getbits_align_byte()

#define gst_getbits_align_byte(gb)

gb :

gst_getbits_bufferpos()

#define gst_getbits_bufferpos(gb)  ((gb)->ptr)

gb :

gst_getbits_bytesleft()

#define gst_getbits_bytesleft(gb) ((gb)->endptr - (gb)->ptr)

gb :

gst_getbits_bitsleft()

#define gst_getbits_bitsleft(gb) (((gb)->endptr - (gb)->ptr)*8  - ((-(gb)->bits)&0x7))

gb :

gst_getbyte()

#define gst_getbyte(gb) (((gb)->getbyte)(gb,8))

gb :

gst_getbits_fastn()

#define gst_getbits_fastn(gb,n) gst_getbits_fastX(gb, n)

gb :
n :

gst_getbitsn()

#define gst_getbitsn(gb,n) gst_getbitsX(gb, n)

gb :
n :

gst_getbits1()

#define gst_getbits1(gb) gst_get1bit(gb)

gb :

gst_getbits2()

#define gst_getbits2(gb) gst_getbits_fastX(gb, 2)

gb :

gst_getbits3()

#define gst_getbits3(gb) gst_getbits_fastX(gb, 3)

gb :

gst_getbits4()

#define gst_getbits4(gb) gst_getbits_fastX(gb, 4)

gb :

gst_getbits5()

#define gst_getbits5(gb) gst_getbits_fastX(gb, 5)

gb :

gst_getbits6()

#define gst_getbits6(gb) gst_getbits_fastX(gb, 6)

gb :

gst_getbits7()

#define gst_getbits7(gb) gst_getbits_fastX(gb, 7)

gb :

gst_getbits8()

#define gst_getbits8(gb) gst_getbits_fastX(gb, 8)

gb :

gst_getbits9()

#define gst_getbits9(gb) gst_getbits_fastX(gb, 9)

gb :

gst_getbits10()

#define gst_getbits10(gb) gst_getbitsX(gb, 10)

gb :

gst_getbits11()

#define gst_getbits11(gb) gst_getbitsX(gb, 11)

gb :

gst_getbits12()

#define gst_getbits12(gb) gst_getbitsX(gb, 12)

gb :

gst_getbits13()

#define gst_getbits13(gb) gst_getbitsX(gb, 13)

gb :

gst_getbits14()

#define gst_getbits14(gb) gst_getbitsX(gb, 14)

gb :

gst_getbits15()

#define gst_getbits15(gb) gst_getbitsX(gb, 15)

gb :

gst_getbits16()

#define gst_getbits16(gb) gst_getbitsX(gb, 16)

gb :

gst_getbits17()

#define gst_getbits17(gb) gst_getbitsX(gb, 17)

gb :

gst_getbits18()

#define gst_getbits18(gb) gst_getbitsX(gb, 18)

gb :

gst_getbits19()

#define gst_getbits19(gb) gst_getbitsX(gb, 19)

gb :

gst_getbits20()

#define gst_getbits20(gb) gst_getbitsX(gb, 20)

gb :

gst_getbits21()

#define gst_getbits21(gb) gst_getbitsX(gb, 21)

gb :

gst_getbits22()

#define gst_getbits22(gb) gst_getbitsX(gb, 22)

gb :

gst_getbits23()

#define gst_getbits23(gb) gst_getbitsX(gb, 23)

gb :

gst_showbitsn()

#define gst_showbitsn(gb,n) gst_showbitsX(gb, n)

gb :
n :

gst_showbits1()

#define gst_showbits1(gb) gst_show1bit(gb, 1)

gb :

gst_showbits2()

#define gst_showbits2(gb) gst_showbitsX(gb, 2)

gb :

gst_showbits3()

#define gst_showbits3(gb) gst_showbitsX(gb, 3)

gb :

gst_showbits4()

#define gst_showbits4(gb) gst_showbitsX(gb, 4)

gb :

gst_showbits5()

#define gst_showbits5(gb) gst_showbitsX(gb, 5)

gb :

gst_showbits6()

#define gst_showbits6(gb) gst_showbitsX(gb, 6)

gb :

gst_showbits7()

#define gst_showbits7(gb) gst_showbitsX(gb, 7)

gb :

gst_showbits8()

#define gst_showbits8(gb) gst_showbitsX(gb, 8)

gb :

gst_showbits9()

#define gst_showbits9(gb) gst_showbitsX(gb, 9)

gb :

gst_showbits10()

#define gst_showbits10(gb) gst_showbitsX(gb, 10)

gb :

gst_showbits11()

#define gst_showbits11(gb) gst_showbitsX(gb, 11)

gb :

gst_showbits12()

#define gst_showbits12(gb) gst_showbitsX(gb, 12)

gb :

gst_showbits13()

#define gst_showbits13(gb) gst_showbitsX(gb, 13)

gb :

gst_showbits14()

#define gst_showbits14(gb) gst_showbitsX(gb, 14)

gb :

gst_showbits15()

#define gst_showbits15(gb) gst_showbitsX(gb, 15)

gb :

gst_showbits16()

#define gst_showbits16(gb) gst_showbitsX(gb, 16)

gb :

gst_showbits17()

#define gst_showbits17(gb) gst_showbitsX(gb, 17)

gb :

gst_showbits18()

#define gst_showbits18(gb) gst_showbitsX(gb, 18)

gb :

gst_showbits19()

#define gst_showbits19(gb) gst_showbitsX(gb, 19)

gb :

gst_showbits20()

#define gst_showbits20(gb) gst_showbitsX(gb, 20)

gb :

gst_showbits21()

#define gst_showbits21(gb) gst_showbitsX(gb, 21)

gb :

gst_showbits22()

#define gst_showbits22(gb) gst_showbitsX(gb, 22)

gb :

gst_showbits23()

#define gst_showbits23(gb) gst_showbitsX(gb, 23)

gb :

gst_showbits24()

#define gst_showbits24(gb) gst_showbitsX(gb, 24)

gb :

gst_showbits32()

#define gst_showbits32(gb) gst_showbitsX(gb, 32)

gb :

gst_flushbitsn()

#define gst_flushbitsn(gb,n) gst_flushbitsX(gb, n)

gb :
n :

gst_flushbits32()

#define gst_flushbits32(gb) gst_flushbitsX(gb, 32)

gb :

gst_backbitsn()

#define gst_backbitsn(gb,n) gst_backbitsX(gb, n)

gb :
n :

gst_backbits24()

#define gst_backbits24(gb) gst_backbitsX(gb, 24)

gb :