gstgetbits

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

Synopsis


#include <libs/getbits/gstgetbits.h>


                    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,
                                                         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

gst_getbits_t

typedef struct {
  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);
} gst_getbits_t;


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,
                                                         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 :