FreeCalypso > hg > fc-magnetite
annotate src/gpf2/ccd/bitfun.h @ 549:69e52afc01d5
configs/* except classic: rebuild tif_na7_db_{fl,ir} from source
The purpose of this change is to allow a TRACEMASK_IN_FFS=1 setting given
on the configure line to have effect; all configs except classic are
included because this feature setting is orthogonal to the choice of
G23M PS version and other config choices. (The classic config is an
exception because its very purpose is to preserve a reference config
with all of the original blobs.)
Note that even though we are switching these TIF libraries from blobs
to recompilation from source in all configs, our source for these libs
compiles into a perfect match to the original blobs in the current default
TRACEMASK_IN_FFS=0 configuration, hence there is no effective change
beyond the unfortunate small increase in compilation times.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 18 Nov 2018 08:33:30 +0000 |
parents | 864b8cc0cf63 |
children |
rev | line source |
---|---|
1
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +----------------------------------------------------------------------------- |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : bitfun.h |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +----------------------------------------------------------------------------- |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved. |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG. |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +----------------------------------------------------------------------------- |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : Condat Coder Decoder |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | Prototypes of the elementary bit manipulation functions |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +----------------------------------------------------------------------------- |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #ifndef __BITFUN |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #define __BITFUN |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #ifndef __BITFUN_C__ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 EXTERN void bf_writePadBits (T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 EXTERN void bf_writeVal (ULONG value, ULONG bSize, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 EXTERN ULONG bf_getBits (ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 EXTERN void bf_writeBitStr_PER (USHORT len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 EXTERN void bf_readBitStr_PER (USHORT len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 EXTERN void bf_writeBits (ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 EXTERN void bf_readBits (ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 EXTERN void bf_writeBitChunk (ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 EXTERN void bf_readBitChunk (ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 EXTERN BOOL bf_readBit (T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 EXTERN void bf_writeBit (BOOL Bit, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 EXTERN UBYTE bf_decodeByteNumber (const ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 EXTERN ULONG bf_decodeShortNumber (const ULONG len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 EXTERN ULONG bf_decodeLongNumber (UBYTE len, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 EXTERN void bf_codeShortNumber (UBYTE len, USHORT val, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 EXTERN void bf_codeByteNumber (UBYTE len, UBYTE val, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 EXTERN void bf_codeLongNumber (UBYTE len, ULONG val, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 EXTERN void bf_recodeShortNumber (USHORT pos, UBYTE len, USHORT val, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 EXTERN void bf_recodeByteNumber (USHORT pos, UBYTE len, UBYTE val, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 EXTERN void bf_recodeBit (USHORT pos, UBYTE Bit, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 EXTERN void bf_rShift8Bit (USHORT srcBitPos, USHORT bitLen, T_CCD_Globs *globs); |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #endif /* __BITFUN_C__ */ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /* a Macro for incrementing the position in the bitbuffer */ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /* _bitpos, _bytepos and _byteoffs are recalculated */ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 #define bf_incBitpos(A, globs) globs->bitpos = (USHORT)(globs->bitpos+(A));\ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 globs->bytepos = (USHORT)(globs->bitpos >> 3);\ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 globs->byteoffs = (UBYTE)(globs->bitpos & 7) |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #define bf_setBitpos(A, globs) globs->bitpos = (USHORT)(A);\ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 globs->bytepos = (USHORT)(globs->bitpos >> 3);\ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 globs->byteoffs = (UBYTE)(globs->bitpos & 7) |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /* |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 * end of bitstream if we can not read almost 4 bits |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 */ |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #define bf_endOfBitstream(globs) (globs->bitpos >= globs->maxBitpos) |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 |
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #endif |