summaryrefslogtreecommitdiffstats
path: root/thirdparties/win32/include/ilbc/packing.h
blob: f489f55e651c89210c82e07f192f51b364831bb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/******************************************************************

    iLBC Speech Coder ANSI-C Source Code

    packing.h

    Copyright (C) The Internet Society (2004).
    All Rights Reserved.

******************************************************************/

#ifndef __PACKING_H
#define __PACKING_H

void packsplit(
    int *index,                 /* (i) the value to split */
    int *firstpart,             /* (o) the value specified by most
                                          significant bits */
    int *rest,                  /* (o) the value specified by least
                                          significant bits */
    int bitno_firstpart,    /* (i) number of bits in most
                                          significant part */
    int bitno_total             /* (i) number of bits in full range
                                          of value */
);

void packcombine(
    int *index,                 /* (i/o) the msb value in the
                                          combined value out */
    int rest,                   /* (i) the lsb value */
    int bitno_rest              /* (i) the number of bits in the
                                          lsb part */
);

void dopack(
    unsigned char **bitstream,  /* (i/o) on entrance pointer to
                                          place in bitstream to pack
                                          new data, on exit pointer
                                          to place in bitstream to
                                          pack future data */
    int index,                  /* (i) the value to pack */
    int bitno,                  /* (i) the number of bits that the
                                          value will fit within */
    int *pos                /* (i/o) write position in the
                                          current byte */
);






void unpack(
    unsigned char **bitstream,  /* (i/o) on entrance pointer to
                                          place in bitstream to
                                          unpack new data from, on
                                          exit pointer to place in
                                          bitstream to unpack future
                                          data from */
    int *index,                 /* (o) resulting value */
    int bitno,                  /* (i) number of bits used to
                                          represent the value */
    int *pos                /* (i/o) read position in the
                                          current byte */
);

#endif

OpenPOWER on IntegriCloud