OLD | NEW |
1 /* | 1 /* |
2 * jaricom.c | 2 * jaricom.c |
3 * | 3 * |
| 4 * This file was part of the Independent JPEG Group's software: |
4 * Developed 1997-2009 by Guido Vollbeding. | 5 * Developed 1997-2009 by Guido Vollbeding. |
5 * This file is part of the Independent JPEG Group's software. | 6 * libjpeg-turbo Modifications: |
6 * For conditions of distribution and use, see the accompanying README file. | 7 * Copyright (C) 2015, D. R. Commander. |
| 8 * For conditions of distribution and use, see the accompanying README.ijg |
| 9 * file. |
7 * | 10 * |
8 * This file contains probability estimation tables for common use in | 11 * This file contains probability estimation tables for common use in |
9 * arithmetic entropy encoding and decoding routines. | 12 * arithmetic entropy encoding and decoding routines. |
10 * | 13 * |
11 * This data represents Table D.2 in the JPEG spec (ISO/IEC IS 10918-1 | 14 * This data represents Table D.2 in the JPEG spec (ISO/IEC IS 10918-1 |
12 * and CCITT Recommendation ITU-T T.81) and Table 24 in the JBIG spec | 15 * and CCITT Recommendation ITU-T T.81) and Table 24 in the JBIG spec |
13 * (ISO/IEC IS 11544 and CCITT Recommendation ITU-T T.82). | 16 * (ISO/IEC IS 11544 and CCITT Recommendation ITU-T T.82). |
14 */ | 17 */ |
15 | 18 |
16 #define JPEG_INTERNALS | 19 #define JPEG_INTERNALS |
17 #include "jinclude.h" | 20 #include "jinclude.h" |
18 #include "jpeglib.h" | 21 #include "jpeglib.h" |
19 | 22 |
20 /* The following #define specifies the packing of the four components | 23 /* The following #define specifies the packing of the four components |
21 * into the compact INT32 representation. | 24 * into the compact JLONG representation. |
22 * Note that this formula must match the actual arithmetic encoder | 25 * Note that this formula must match the actual arithmetic encoder |
23 * and decoder implementation. The implementation has to be changed | 26 * and decoder implementation. The implementation has to be changed |
24 * if this formula is changed. | 27 * if this formula is changed. |
25 * The current organization is leaned on Markus Kuhn's JBIG | 28 * The current organization is leaned on Markus Kuhn's JBIG |
26 * implementation (jbig_tab.c). | 29 * implementation (jbig_tab.c). |
27 */ | 30 */ |
28 | 31 |
29 #define V(i,a,b,c,d) (((INT32)a << 16) | ((INT32)c << 8) | ((INT32)d << 7) | b) | 32 #define V(i,a,b,c,d) (((JLONG)a << 16) | ((JLONG)c << 8) | ((JLONG)d << 7) | b) |
30 | 33 |
31 const INT32 jpeg_aritab[113+1] = { | 34 const JLONG jpeg_aritab[113+1] = { |
32 /* | 35 /* |
33 * Index, Qe_Value, Next_Index_LPS, Next_Index_MPS, Switch_MPS | 36 * Index, Qe_Value, Next_Index_LPS, Next_Index_MPS, Switch_MPS |
34 */ | 37 */ |
35 V( 0, 0x5a1d, 1, 1, 1 ), | 38 V( 0, 0x5a1d, 1, 1, 1 ), |
36 V( 1, 0x2586, 14, 2, 0 ), | 39 V( 1, 0x2586, 14, 2, 0 ), |
37 V( 2, 0x1114, 16, 3, 0 ), | 40 V( 2, 0x1114, 16, 3, 0 ), |
38 V( 3, 0x080b, 18, 4, 0 ), | 41 V( 3, 0x080b, 18, 4, 0 ), |
39 V( 4, 0x03d8, 20, 5, 0 ), | 42 V( 4, 0x03d8, 20, 5, 0 ), |
40 V( 5, 0x01da, 23, 6, 0 ), | 43 V( 5, 0x01da, 23, 6, 0 ), |
41 V( 6, 0x00e5, 25, 7, 0 ), | 44 V( 6, 0x00e5, 25, 7, 0 ), |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 V( 109, 0x504f, 111, 107, 0 ), | 147 V( 109, 0x504f, 111, 107, 0 ), |
145 V( 110, 0x5a10, 110, 111, 1 ), | 148 V( 110, 0x5a10, 110, 111, 1 ), |
146 V( 111, 0x5522, 112, 109, 0 ), | 149 V( 111, 0x5522, 112, 109, 0 ), |
147 V( 112, 0x59eb, 112, 111, 1 ), | 150 V( 112, 0x59eb, 112, 111, 1 ), |
148 /* | 151 /* |
149 * This last entry is used for fixed probability estimate of 0.5 | 152 * This last entry is used for fixed probability estimate of 0.5 |
150 * as recommended in Section 10.3 Table 5 of ITU-T Rec. T.851. | 153 * as recommended in Section 10.3 Table 5 of ITU-T Rec. T.851. |
151 */ | 154 */ |
152 V( 113, 0x5a1d, 113, 113, 0 ) | 155 V( 113, 0x5a1d, 113, 113, 0 ) |
153 }; | 156 }; |
OLD | NEW |