diff options
author | Jeff Ames | 2008-12-30 01:08:07 +0000 |
---|---|---|
committer | Jeff Ames | 2008-12-30 01:08:07 +0000 |
commit | 2be0f7a6f0b66e25b0d7e0e6cfee93f0c41b562b (patch) | |
tree | c39317267e7f1d634fc1a922ded51c6e48e329d1 /OpenSim/Framework/OpenJpeg | |
parent | Changing the default Comms module to be RESTComms, in case none is specified ... (diff) | |
download | opensim-SC_OLD-2be0f7a6f0b66e25b0d7e0e6cfee93f0c41b562b.zip opensim-SC_OLD-2be0f7a6f0b66e25b0d7e0e6cfee93f0c41b562b.tar.gz opensim-SC_OLD-2be0f7a6f0b66e25b0d7e0e6cfee93f0c41b562b.tar.bz2 opensim-SC_OLD-2be0f7a6f0b66e25b0d7e0e6cfee93f0c41b562b.tar.xz |
Update svn properties, minor formatting cleanup.
Diffstat (limited to 'OpenSim/Framework/OpenJpeg')
-rw-r--r-- | OpenSim/Framework/OpenJpeg/bio.cs | 300 | ||||
-rw-r--r-- | OpenSim/Framework/OpenJpeg/fix.cs | 59 | ||||
-rw-r--r-- | OpenSim/Framework/OpenJpeg/int_.cs | 142 | ||||
-rw-r--r-- | OpenSim/Framework/OpenJpeg/j2k.cs | 318 | ||||
-rw-r--r-- | OpenSim/Framework/OpenJpeg/openjpeg.cs | 733 | ||||
-rw-r--r-- | OpenSim/Framework/OpenJpeg/pi.cs | 119 |
6 files changed, 906 insertions, 765 deletions
diff --git a/OpenSim/Framework/OpenJpeg/bio.cs b/OpenSim/Framework/OpenJpeg/bio.cs index 4f095ad..4a5b321 100644 --- a/OpenSim/Framework/OpenJpeg/bio.cs +++ b/OpenSim/Framework/OpenJpeg/bio.cs | |||
@@ -1,138 +1,162 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | public static class bio | 7 | * * Redistributions of source code must retain the above copyright |
8 | { | 8 | * notice, this list of conditions and the following disclaimer. |
9 | 9 | * * Redistributions in binary form must reproduce the above copyright | |
10 | public static opj_bio bio_create() | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | { | 11 | * documentation and/or other materials provided with the distribution. |
12 | opj_bio bio = new opj_bio(); | 12 | * * Neither the name of the OpenSimulator Project nor the |
13 | return bio; | 13 | * names of its contributors may be used to endorse or promote products |
14 | } | 14 | * derived from this software without specific prior written permission. |
15 | 15 | * | |
16 | public static void bio_destroy(opj_bio bio) | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | { | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | // not needed on C# | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | } | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
21 | public static int bio_numbytes(opj_bio bio) | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | { | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | return (bio.bp - bio.start); | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | } | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
26 | public static void bio_init_enc(opj_bio bio, sbyte bp, int len) | 26 | */ |
27 | { | 27 | |
28 | bio.start = (byte)bp; | 28 | using System; |
29 | bio.end = (byte)(bp + (byte)len); | 29 | using System.Collections.Generic; |
30 | bio.bp = (byte)bp; | 30 | using System.Text; |
31 | bio.buf = 0; | 31 | |
32 | bio.ct = 8; | 32 | namespace OpenSim.Framework.OpenJpeg |
33 | } | 33 | { |
34 | 34 | public static class bio | |
35 | public static void bio_init_dec(opj_bio bio, sbyte bp, int len) | 35 | { |
36 | { | 36 | public static opj_bio bio_create() |
37 | bio.start = (byte)bp; | 37 | { |
38 | bio.end = (byte)(bp + len); | 38 | opj_bio bio = new opj_bio(); |
39 | bio.bp = (byte)bp; | 39 | return bio; |
40 | bio.buf = 0; | 40 | } |
41 | bio.ct = 0; | 41 | |
42 | } | 42 | public static void bio_destroy(opj_bio bio) |
43 | 43 | { | |
44 | public static void bio_write(opj_bio bio, int v, int n) | 44 | // not needed on C# |
45 | { | 45 | } |
46 | for (int i = n - 1; i >= 0; i--) | 46 | |
47 | bio_putbit(bio, (v >> i) & 1); | 47 | public static int bio_numbytes(opj_bio bio) |
48 | } | 48 | { |
49 | 49 | return (bio.bp - bio.start); | |
50 | public static int bio_read(opj_bio bio, int n) | 50 | } |
51 | { | 51 | |
52 | int v = 0; | 52 | public static void bio_init_enc(opj_bio bio, sbyte bp, int len) |
53 | for (int i = n - 1; i >= 0; i--) | 53 | { |
54 | v += bio_getbit(bio) << i; | 54 | bio.start = (byte)bp; |
55 | 55 | bio.end = (byte)(bp + (byte)len); | |
56 | return v; | 56 | bio.bp = (byte)bp; |
57 | } | 57 | bio.buf = 0; |
58 | 58 | bio.ct = 8; | |
59 | public static int bio_flush(opj_bio bio) | 59 | } |
60 | { | 60 | |
61 | bio.ct = 0; | 61 | public static void bio_init_dec(opj_bio bio, sbyte bp, int len) |
62 | if (bio_byteout(bio) != 0) | 62 | { |
63 | return 1; | 63 | bio.start = (byte)bp; |
64 | 64 | bio.end = (byte)(bp + len); | |
65 | if (bio.ct == 7) | 65 | bio.bp = (byte)bp; |
66 | { | 66 | bio.buf = 0; |
67 | bio.ct = 0; | 67 | bio.ct = 0; |
68 | if (bio_byteout(bio) != 0) | 68 | } |
69 | return 1; | 69 | |
70 | } | 70 | public static void bio_write(opj_bio bio, int v, int n) |
71 | return 0; | 71 | { |
72 | } | 72 | for (int i = n - 1; i >= 0; i--) |
73 | 73 | bio_putbit(bio, (v >> i) & 1); | |
74 | public static int bio_inalign(opj_bio bio) | 74 | } |
75 | { | 75 | |
76 | bio.ct = 0; | 76 | public static int bio_read(opj_bio bio, int n) |
77 | if ((bio.buf & 0xff) == 0xff) | 77 | { |
78 | { | 78 | int v = 0; |
79 | if (bio_bytein(bio) != 0) | 79 | for (int i = n - 1; i >= 0; i--) |
80 | return 1; | 80 | v += bio_getbit(bio) << i; |
81 | bio.ct = 0; | 81 | |
82 | } | 82 | return v; |
83 | return 0; | 83 | } |
84 | } | 84 | |
85 | 85 | public static int bio_flush(opj_bio bio) | |
86 | private static int bio_bytein(opj_bio bio) | 86 | { |
87 | { | 87 | bio.ct = 0; |
88 | bio.buf = (bio.buf << 8) & 0xffff; | 88 | if (bio_byteout(bio) != 0) |
89 | bio.ct = bio.buf == 0xff00 ? 7 : 8; | 89 | return 1; |
90 | if (bio.bp >= bio.end) | 90 | |
91 | return 1; | 91 | if (bio.ct == 7) |
92 | bio.buf |= bio.bp++; | 92 | { |
93 | 93 | bio.ct = 0; | |
94 | return 0; | 94 | if (bio_byteout(bio) != 0) |
95 | } | 95 | return 1; |
96 | 96 | } | |
97 | private static int bio_byteout(opj_bio bio) | 97 | return 0; |
98 | { | 98 | } |
99 | bio.buf = (bio.buf << 8) & 0xffff; | 99 | |
100 | bio.ct = bio.buf == 0xff00 ? 7 : 8; | 100 | public static int bio_inalign(opj_bio bio) |
101 | if (bio.bp >= bio.end) | 101 | { |
102 | return 1; | 102 | bio.ct = 0; |
103 | 103 | if ((bio.buf & 0xff) == 0xff) | |
104 | bio.bp = (byte)(bio.buf >> 8); | 104 | { |
105 | bio.bp++; | 105 | if (bio_bytein(bio) != 0) |
106 | return 0; | 106 | return 1; |
107 | } | 107 | bio.ct = 0; |
108 | 108 | } | |
109 | private static void bio_putbit(opj_bio bio, int b) | 109 | return 0; |
110 | { | 110 | } |
111 | if (bio.ct == 0) | 111 | |
112 | bio_byteout(bio); | 112 | private static int bio_bytein(opj_bio bio) |
113 | 113 | { | |
114 | bio.ct--; | 114 | bio.buf = (bio.buf << 8) & 0xffff; |
115 | bio.buf |= (byte)(b << bio.ct); | 115 | bio.ct = bio.buf == 0xff00 ? 7 : 8; |
116 | 116 | if (bio.bp >= bio.end) | |
117 | } | 117 | return 1; |
118 | 118 | bio.buf |= bio.bp++; | |
119 | private static int bio_getbit(opj_bio bio) | 119 | |
120 | { | 120 | return 0; |
121 | if (bio.ct == 0) | 121 | } |
122 | bio_bytein(bio); | 122 | |
123 | bio.ct--; | 123 | private static int bio_byteout(opj_bio bio) |
124 | 124 | { | |
125 | return (int)((bio.buf >> bio.ct) & 1); | 125 | bio.buf = (bio.buf << 8) & 0xffff; |
126 | } | 126 | bio.ct = bio.buf == 0xff00 ? 7 : 8; |
127 | 127 | if (bio.bp >= bio.end) | |
128 | } | 128 | return 1; |
129 | 129 | ||
130 | public struct opj_bio | 130 | bio.bp = (byte)(bio.buf >> 8); |
131 | { | 131 | bio.bp++; |
132 | public byte start; | 132 | return 0; |
133 | public byte end; | 133 | } |
134 | public byte bp; | 134 | |
135 | public uint buf; | 135 | private static void bio_putbit(opj_bio bio, int b) |
136 | public int ct; | 136 | { |
137 | } | 137 | if (bio.ct == 0) |
138 | } | 138 | bio_byteout(bio); |
139 | |||
140 | bio.ct--; | ||
141 | bio.buf |= (byte)(b << bio.ct); | ||
142 | } | ||
143 | |||
144 | private static int bio_getbit(opj_bio bio) | ||
145 | { | ||
146 | if (bio.ct == 0) | ||
147 | bio_bytein(bio); | ||
148 | bio.ct--; | ||
149 | |||
150 | return (int)((bio.buf >> bio.ct) & 1); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | public struct opj_bio | ||
155 | { | ||
156 | public byte start; | ||
157 | public byte end; | ||
158 | public byte bp; | ||
159 | public uint buf; | ||
160 | public int ct; | ||
161 | } | ||
162 | } | ||
diff --git a/OpenSim/Framework/OpenJpeg/fix.cs b/OpenSim/Framework/OpenJpeg/fix.cs index 76d3159..9de0041 100644 --- a/OpenSim/Framework/OpenJpeg/fix.cs +++ b/OpenSim/Framework/OpenJpeg/fix.cs | |||
@@ -1,16 +1,43 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | public static class fix | 7 | * * Redistributions of source code must retain the above copyright |
8 | { | 8 | * notice, this list of conditions and the following disclaimer. |
9 | public static int fix_mul(int a, int b) | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | { | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | long temp = (long)a * (long)b; | 11 | * documentation and/or other materials provided with the distribution. |
12 | temp += temp & 4096; | 12 | * * Neither the name of the OpenSimulator Project nor the |
13 | return (int)(temp >> 13); | 13 | * names of its contributors may be used to endorse or promote products |
14 | } | 14 | * derived from this software without specific prior written permission. |
15 | } | 15 | * |
16 | } | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using System.Text; | ||
31 | |||
32 | namespace OpenSim.Framework.OpenJpeg | ||
33 | { | ||
34 | public static class fix | ||
35 | { | ||
36 | public static int fix_mul(int a, int b) | ||
37 | { | ||
38 | long temp = (long)a * (long)b; | ||
39 | temp += temp & 4096; | ||
40 | return (int)(temp >> 13); | ||
41 | } | ||
42 | } | ||
43 | } | ||
diff --git a/OpenSim/Framework/OpenJpeg/int_.cs b/OpenSim/Framework/OpenJpeg/int_.cs index dc71728..07321b5 100644 --- a/OpenSim/Framework/OpenJpeg/int_.cs +++ b/OpenSim/Framework/OpenJpeg/int_.cs | |||
@@ -1,58 +1,84 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | public static class int_ | 7 | * * Redistributions of source code must retain the above copyright |
8 | { | 8 | * notice, this list of conditions and the following disclaimer. |
9 | public static int int_min(int a, int b) | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | { | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | return a < b ? a : b; | 11 | * documentation and/or other materials provided with the distribution. |
12 | } | 12 | * * Neither the name of the OpenSimulator Project nor the |
13 | 13 | * names of its contributors may be used to endorse or promote products | |
14 | public static int int_max(int a, int b) | 14 | * derived from this software without specific prior written permission. |
15 | { | 15 | * |
16 | return (a > b) ? a : b; | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | } | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
19 | public static int int_clamp(int a, int min, int max) | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | { | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | if (a < min) | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | return min; | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | if (a > max) | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | return max; | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
26 | return a; | 26 | */ |
27 | } | 27 | |
28 | 28 | using System; | |
29 | public static int int_abs(int a) | 29 | using System.Collections.Generic; |
30 | { | 30 | using System.Text; |
31 | return a < 0 ? -a : a; | 31 | |
32 | } | 32 | namespace OpenSim.Framework.OpenJpeg |
33 | 33 | { | |
34 | public static int int_ceildiv(int a, int b) | 34 | public static class int_ |
35 | { | 35 | { |
36 | return (a + b - 1) / b; | 36 | public static int int_min(int a, int b) |
37 | } | 37 | { |
38 | 38 | return a < b ? a : b; | |
39 | public static int int_ceildivpow2(int a, int b) | 39 | } |
40 | { | 40 | |
41 | return (a + (1 << b) - 1) >> b; | 41 | public static int int_max(int a, int b) |
42 | } | 42 | { |
43 | 43 | return (a > b) ? a : b; | |
44 | public static int int_floordivpow2(int a, int b) | 44 | } |
45 | { | 45 | |
46 | return a >> b; | 46 | public static int int_clamp(int a, int min, int max) |
47 | } | 47 | { |
48 | 48 | if (a < min) | |
49 | public static int int_floorlog2(int a) | 49 | return min; |
50 | { | 50 | if (a > max) |
51 | for (int l=0; a > 1; l++) | 51 | return max; |
52 | a >>= 1; | 52 | |
53 | 53 | return a; | |
54 | return 1; | 54 | } |
55 | } | 55 | |
56 | 56 | public static int int_abs(int a) | |
57 | } | 57 | { |
58 | } | 58 | return a < 0 ? -a : a; |
59 | } | ||
60 | |||
61 | public static int int_ceildiv(int a, int b) | ||
62 | { | ||
63 | return (a + b - 1) / b; | ||
64 | } | ||
65 | |||
66 | public static int int_ceildivpow2(int a, int b) | ||
67 | { | ||
68 | return (a + (1 << b) - 1) >> b; | ||
69 | } | ||
70 | |||
71 | public static int int_floordivpow2(int a, int b) | ||
72 | { | ||
73 | return a >> b; | ||
74 | } | ||
75 | |||
76 | public static int int_floorlog2(int a) | ||
77 | { | ||
78 | for (int l=0; a > 1; l++) | ||
79 | a >>= 1; | ||
80 | |||
81 | return 1; | ||
82 | } | ||
83 | } | ||
84 | } | ||
diff --git a/OpenSim/Framework/OpenJpeg/j2k.cs b/OpenSim/Framework/OpenJpeg/j2k.cs index f655364..8751792 100644 --- a/OpenSim/Framework/OpenJpeg/j2k.cs +++ b/OpenSim/Framework/OpenJpeg/j2k.cs | |||
@@ -1,125 +1,149 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | 7 | * * Redistributions of source code must retain the above copyright | |
8 | public static class j2k | 8 | * notice, this list of conditions and the following disclaimer. |
9 | { | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | } | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | 11 | * documentation and/or other materials provided with the distribution. | |
12 | public enum J2K_STATUS | 12 | * * Neither the name of the OpenSimulator Project nor the |
13 | { | 13 | * names of its contributors may be used to endorse or promote products |
14 | J2K_STATE_MHSOC = 0x0001, /**< a SOC marker is expected */ | 14 | * derived from this software without specific prior written permission. |
15 | J2K_STATE_MHSIZ = 0x0002, /**< a SIZ marker is expected */ | 15 | * |
16 | J2K_STATE_MH = 0x0004, /**< the decoding process is in the main header */ | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | J2K_STATE_TPHSOT = 0x0008, /**< the decoding process is in a tile part header and expects a SOT marker */ | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | J2K_STATE_TPH = 0x0010, /**< the decoding process is in a tile part header */ | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | J2K_STATE_MT = 0x0020, /**< the EOC marker has just been read */ | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | J2K_STATE_NEOC = 0x0040, /**< the decoding process must not expect a EOC marker because the codestream is truncated */ | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | J2K_STATE_ERR = 0x0080 /**< the decoding process has encountered an error */ | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | } | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
24 | public enum J2K_T2_MODE | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | { | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | THRESH_CALC = 0, /** Function called in Rate allocation process*/ | 26 | */ |
27 | FINAL_PASS = 1 /** Function called in Tier 2 process*/ | 27 | |
28 | } | 28 | using System; |
29 | 29 | using System.Collections.Generic; | |
30 | public struct opj_stepsize | 30 | using System.Text; |
31 | { | 31 | |
32 | public int expn; | 32 | namespace OpenSim.Framework.OpenJpeg |
33 | public int mant; | 33 | { |
34 | } | 34 | public static class j2k |
35 | 35 | { | |
36 | public struct opj_tccp | 36 | } |
37 | { | 37 | |
38 | public int csty; | 38 | public enum J2K_STATUS |
39 | public int numresolutions; | 39 | { |
40 | public int cblkw; | 40 | J2K_STATE_MHSOC = 0x0001, /**< a SOC marker is expected */ |
41 | public int cblkh; | 41 | J2K_STATE_MHSIZ = 0x0002, /**< a SIZ marker is expected */ |
42 | public int cblksty; | 42 | J2K_STATE_MH = 0x0004, /**< the decoding process is in the main header */ |
43 | public int qmfbid; | 43 | J2K_STATE_TPHSOT = 0x0008, /**< the decoding process is in a tile part header and expects a SOT marker */ |
44 | public int qntsty; | 44 | J2K_STATE_TPH = 0x0010, /**< the decoding process is in a tile part header */ |
45 | /// <summary> | 45 | J2K_STATE_MT = 0x0020, /**< the EOC marker has just been read */ |
46 | /// don't forget to initialize 97 elements | 46 | J2K_STATE_NEOC = 0x0040, /**< the decoding process must not expect a EOC marker because the codestream is truncated */ |
47 | /// </summary> | 47 | J2K_STATE_ERR = 0x0080 /**< the decoding process has encountered an error */ |
48 | public opj_stepsize[] stepsizes; | 48 | } |
49 | public int numgbits; | 49 | |
50 | public int roishift; | 50 | public enum J2K_T2_MODE |
51 | /// <summary> | 51 | { |
52 | /// Don't forget to initialize 33 elements | 52 | THRESH_CALC = 0, /** Function called in Rate allocation process*/ |
53 | /// </summary> | 53 | FINAL_PASS = 1 /** Function called in Tier 2 process*/ |
54 | public int[] prcw; | 54 | } |
55 | 55 | ||
56 | } | 56 | public struct opj_stepsize |
57 | 57 | { | |
58 | public struct opj_tcp | 58 | public int expn; |
59 | { | 59 | public int mant; |
60 | public int first; | 60 | } |
61 | public int csty; | 61 | |
62 | public PROG_ORDER prg; | 62 | public struct opj_tccp |
63 | public int numlayers; | 63 | { |
64 | public int mct; | 64 | public int csty; |
65 | /// <summary> | 65 | public int numresolutions; |
66 | /// don't forget to initialize to 100 | 66 | public int cblkw; |
67 | /// </summary> | 67 | public int cblkh; |
68 | public float[] rates; | 68 | public int cblksty; |
69 | public int numpocs; | 69 | public int qmfbid; |
70 | public int POC; | 70 | public int qntsty; |
71 | /// <summary> | 71 | /// <summary> |
72 | /// Don't forget to initialize to 32 | 72 | /// don't forget to initialize 97 elements |
73 | /// </summary> | 73 | /// </summary> |
74 | public opj_poc[] pocs; | 74 | public opj_stepsize[] stepsizes; |
75 | public byte ppt_data; | 75 | public int numgbits; |
76 | public byte ppt_data_first; | 76 | public int roishift; |
77 | public int ppt; | 77 | /// <summary> |
78 | public int ppt_store; | 78 | /// Don't forget to initialize 33 elements |
79 | public int ppt_len; | 79 | /// </summary> |
80 | /// <summary> | 80 | public int[] prcw; |
81 | /// Don't forget to initialize 100 elements | 81 | } |
82 | /// </summary> | 82 | |
83 | public float[] distoratio; | 83 | public struct opj_tcp |
84 | public opj_tccp tccps; | 84 | { |
85 | 85 | public int first; | |
86 | } | 86 | public int csty; |
87 | 87 | public PROG_ORDER prg; | |
88 | public struct opj_cp | 88 | public int numlayers; |
89 | { | 89 | public int mct; |
90 | public CINEMA_MODE cinema; | 90 | /// <summary> |
91 | public int max_comp_size; | 91 | /// don't forget to initialize to 100 |
92 | public int img_size; | 92 | /// </summary> |
93 | public RSIZ_CAPABILITIES rsiz; | 93 | public float[] rates; |
94 | public sbyte tp_on; | 94 | public int numpocs; |
95 | public sbyte tp_flag; | 95 | public int POC; |
96 | public int tp_pos; | 96 | /// <summary> |
97 | public int distro_alloc; | 97 | /// Don't forget to initialize to 32 |
98 | public int fixed_alloc; | 98 | /// </summary> |
99 | public int fixed_quality; | 99 | public opj_poc[] pocs; |
100 | public int reduce; | 100 | public byte ppt_data; |
101 | public int layer; | 101 | public byte ppt_data_first; |
102 | public LIMIT_DECODING limit_decoding; | 102 | public int ppt; |
103 | public int tx0; | 103 | public int ppt_store; |
104 | public int ty0; | 104 | public int ppt_len; |
105 | public int tdx; | 105 | /// <summary> |
106 | public int tdy; | 106 | /// Don't forget to initialize 100 elements |
107 | public sbyte? comment; | 107 | /// </summary> |
108 | public int tw; | 108 | public float[] distoratio; |
109 | public int th; | 109 | public opj_tccp tccps; |
110 | public int? tileno; | 110 | } |
111 | public byte ppm_data; | 111 | |
112 | public byte ppm_data_first; | 112 | public struct opj_cp |
113 | public int ppm; | 113 | { |
114 | public int ppm_store; | 114 | public CINEMA_MODE cinema; |
115 | public int ppm_previous; | 115 | public int max_comp_size; |
116 | public int ppm_len; | 116 | public int img_size; |
117 | public opj_tcp tcps; | 117 | public RSIZ_CAPABILITIES rsiz; |
118 | public int matrice; | 118 | public sbyte tp_on; |
119 | } | 119 | public sbyte tp_flag; |
120 | 120 | public int tp_pos; | |
121 | public static class j2kdefines | 121 | public int distro_alloc; |
122 | { | 122 | public int fixed_alloc; |
123 | public int fixed_quality; | ||
124 | public int reduce; | ||
125 | public int layer; | ||
126 | public LIMIT_DECODING limit_decoding; | ||
127 | public int tx0; | ||
128 | public int ty0; | ||
129 | public int tdx; | ||
130 | public int tdy; | ||
131 | public sbyte? comment; | ||
132 | public int tw; | ||
133 | public int th; | ||
134 | public int? tileno; | ||
135 | public byte ppm_data; | ||
136 | public byte ppm_data_first; | ||
137 | public int ppm; | ||
138 | public int ppm_store; | ||
139 | public int ppm_previous; | ||
140 | public int ppm_len; | ||
141 | public opj_tcp tcps; | ||
142 | public int matrice; | ||
143 | } | ||
144 | |||
145 | public static class j2kdefines | ||
146 | { | ||
123 | public const uint J2K_CP_CSTY_PRT = 0x01; | 147 | public const uint J2K_CP_CSTY_PRT = 0x01; |
124 | public const uint J2K_CP_CSTY_SOP = 0x02; | 148 | public const uint J2K_CP_CSTY_SOP = 0x02; |
125 | public const uint J2K_CP_CSTY_EPH = 0x04; | 149 | public const uint J2K_CP_CSTY_EPH = 0x04; |
@@ -131,28 +155,28 @@ namespace OpenSim.Framework.OpenJpeg | |||
131 | public const uint J2K_CCP_CBLKSTY_PTERM =0x10; | 155 | public const uint J2K_CCP_CBLKSTY_PTERM =0x10; |
132 | public const uint J2K_CCP_CBLKSTY_SEGSYM = 0x20; | 156 | public const uint J2K_CCP_CBLKSTY_SEGSYM = 0x20; |
133 | public const uint J2K_CCP_QNTSTY_NOQNT = 0; | 157 | public const uint J2K_CCP_QNTSTY_NOQNT = 0; |
134 | public const uint J2K_CCP_QNTSTY_SIQNT = 1; | 158 | public const uint J2K_CCP_QNTSTY_SIQNT = 1; |
135 | public const uint J2K_CCP_QNTSTY_SEQNT = 2; | 159 | public const uint J2K_CCP_QNTSTY_SEQNT = 2; |
136 | 160 | ||
137 | public const uint J2K_MS_SOC = 0xff4f; /**< SOC marker value */ | 161 | public const uint J2K_MS_SOC = 0xff4f; /**< SOC marker value */ |
138 | public const uint J2K_MS_SOT = 0xff90; /**< SOT marker value */ | 162 | public const uint J2K_MS_SOT = 0xff90; /**< SOT marker value */ |
139 | public const uint J2K_MS_SOD = 0xff93; /**< SOD marker value */ | 163 | public const uint J2K_MS_SOD = 0xff93; /**< SOD marker value */ |
140 | public const uint J2K_MS_EOC = 0xffd9; /**< EOC marker value */ | 164 | public const uint J2K_MS_EOC = 0xffd9; /**< EOC marker value */ |
141 | public const uint J2K_MS_SIZ = 0xff51; /**< SIZ marker value */ | 165 | public const uint J2K_MS_SIZ = 0xff51; /**< SIZ marker value */ |
142 | public const uint J2K_MS_COD = 0xff52; /**< COD marker value */ | 166 | public const uint J2K_MS_COD = 0xff52; /**< COD marker value */ |
143 | public const uint J2K_MS_COC = 0xff53; /**< COC marker value */ | 167 | public const uint J2K_MS_COC = 0xff53; /**< COC marker value */ |
144 | public const uint J2K_MS_RGN = 0xff5e; /**< RGN marker value */ | 168 | public const uint J2K_MS_RGN = 0xff5e; /**< RGN marker value */ |
145 | public const uint J2K_MS_QCD = 0xff5c; /**< QCD marker value */ | 169 | public const uint J2K_MS_QCD = 0xff5c; /**< QCD marker value */ |
146 | public const uint J2K_MS_QCC = 0xff5d; /**< QCC marker value */ | 170 | public const uint J2K_MS_QCC = 0xff5d; /**< QCC marker value */ |
147 | public const uint J2K_MS_POC = 0xff5f; /**< POC marker value */ | 171 | public const uint J2K_MS_POC = 0xff5f; /**< POC marker value */ |
148 | public const uint J2K_MS_TLM = 0xff55; /**< TLM marker value */ | 172 | public const uint J2K_MS_TLM = 0xff55; /**< TLM marker value */ |
149 | public const uint J2K_MS_PLM = 0xff57; /**< PLM marker value */ | 173 | public const uint J2K_MS_PLM = 0xff57; /**< PLM marker value */ |
150 | public const uint J2K_MS_PLT = 0xff58; /**< PLT marker value */ | 174 | public const uint J2K_MS_PLT = 0xff58; /**< PLT marker value */ |
151 | public const uint J2K_MS_PPM = 0xff60; /**< PPM marker value */ | 175 | public const uint J2K_MS_PPM = 0xff60; /**< PPM marker value */ |
152 | public const uint J2K_MS_PPT = 0xff61; /**< PPT marker value */ | 176 | public const uint J2K_MS_PPT = 0xff61; /**< PPT marker value */ |
153 | public const uint J2K_MS_SOP = 0xff91; /**< SOP marker value */ | 177 | public const uint J2K_MS_SOP = 0xff91; /**< SOP marker value */ |
154 | public const uint J2K_MS_EPH = 0xff92; /**< EPH marker value */ | 178 | public const uint J2K_MS_EPH = 0xff92; /**< EPH marker value */ |
155 | public const uint J2K_MS_CRG = 0xff63; /**< CRG marker value */ | 179 | public const uint J2K_MS_CRG = 0xff63; /**< CRG marker value */ |
156 | public const uint J2K_MS_COM = 0xff64; /**< COM marker value */ | 180 | public const uint J2K_MS_COM = 0xff64; /**< COM marker value */ |
157 | } | 181 | } |
158 | } | 182 | } |
diff --git a/OpenSim/Framework/OpenJpeg/openjpeg.cs b/OpenSim/Framework/OpenJpeg/openjpeg.cs index 2d5e4b5..f0b2518 100644 --- a/OpenSim/Framework/OpenJpeg/openjpeg.cs +++ b/OpenSim/Framework/OpenJpeg/openjpeg.cs | |||
@@ -1,358 +1,375 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | public class openjpeg | 7 | * * Redistributions of source code must retain the above copyright |
8 | { | 8 | * notice, this list of conditions and the following disclaimer. |
9 | public openjpeg() | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | { | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | 11 | * documentation and/or other materials provided with the distribution. | |
12 | 12 | * * Neither the name of the OpenSimulator Project nor the | |
13 | } | 13 | * names of its contributors may be used to endorse or promote products |
14 | } | 14 | * derived from this software without specific prior written permission. |
15 | 15 | * | |
16 | public enum PROG_ORDER | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | { | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | PROG_UNKNOWN = -1, | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | LRCP = 0, | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | RLCP = 1, | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | RPCL = 2, | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | PCRL = 3, | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | CPRL = 4 | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | } | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
26 | public enum RSIZ_CAPABILITIES | 26 | */ |
27 | { | 27 | |
28 | STD_RSIZ = 0, | 28 | using System; |
29 | CINEMA2K = 3, | 29 | using System.Collections.Generic; |
30 | CINEMA4K = 4 | 30 | using System.Text; |
31 | } | 31 | |
32 | 32 | namespace OpenSim.Framework.OpenJpeg | |
33 | public enum CINEMA_MODE | 33 | { |
34 | { | 34 | public class openjpeg |
35 | OFF = 0, | 35 | { |
36 | CINEMA2K_24 = 1, | 36 | public openjpeg() |
37 | CINEMA2K_48 = 2, | 37 | { |
38 | CINEMA4K_24 = 3 | 38 | } |
39 | } | 39 | } |
40 | 40 | ||
41 | public enum COLOR_SPACE | 41 | public enum PROG_ORDER |
42 | { | 42 | { |
43 | CLRSPC_UNKNOWN = -1, | 43 | PROG_UNKNOWN = -1, |
44 | CLRSPC_SRGB = 1, | 44 | LRCP = 0, |
45 | CLRSPC_GRAY = 2, | 45 | RLCP = 1, |
46 | CLRSPC_SYCC = 3 | 46 | RPCL = 2, |
47 | } | 47 | PCRL = 3, |
48 | 48 | CPRL = 4 | |
49 | public enum CODEC_FORMAT | 49 | } |
50 | { | 50 | |
51 | CODEC_UNKNOWN = -1, | 51 | public enum RSIZ_CAPABILITIES |
52 | CODEC_J2K = 0, | 52 | { |
53 | CODEC_JPT = 1, | 53 | STD_RSIZ = 0, |
54 | CODEC_JP2 = 2 | 54 | CINEMA2K = 3, |
55 | } | 55 | CINEMA4K = 4 |
56 | 56 | } | |
57 | public enum LIMIT_DECODING | 57 | |
58 | { | 58 | public enum CINEMA_MODE |
59 | NO_LIMITATION = 0, | 59 | { |
60 | LIMIT_TO_MAIN_HEADER=1, | 60 | OFF = 0, |
61 | DECODE_ALL_BUT_PACKETS = 2 | 61 | CINEMA2K_24 = 1, |
62 | } | 62 | CINEMA2K_48 = 2, |
63 | 63 | CINEMA4K_24 = 3 | |
64 | public struct opj_poc | 64 | } |
65 | { | 65 | |
66 | public int resno0, compno0; | 66 | public enum COLOR_SPACE |
67 | public int layno1, resno1, compno1; | 67 | { |
68 | public int layno0, precno0, precno1; | 68 | CLRSPC_UNKNOWN = -1, |
69 | public PROG_ORDER prg1, prg; | 69 | CLRSPC_SRGB = 1, |
70 | /// <summary> | 70 | CLRSPC_GRAY = 2, |
71 | /// Don't forget to initialize with 5 elements | 71 | CLRSPC_SYCC = 3 |
72 | /// </summary> | 72 | } |
73 | public sbyte[] progorder; | 73 | |
74 | public int tile; | 74 | public enum CODEC_FORMAT |
75 | public int tx0, tx1, ty0, ty1; | 75 | { |
76 | public int layS, resS, copmS, prcS; | 76 | CODEC_UNKNOWN = -1, |
77 | public int layE, resE, compE, prcE; | 77 | CODEC_J2K = 0, |
78 | public int txS, txE, tyS, tyE, dx, dy; | 78 | CODEC_JPT = 1, |
79 | public int lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t; | 79 | CODEC_JP2 = 2 |
80 | } | 80 | } |
81 | 81 | ||
82 | public struct opj_cparameters | 82 | public enum LIMIT_DECODING |
83 | { | 83 | { |
84 | public bool tile_size_on; | 84 | NO_LIMITATION = 0, |
85 | public int cp_tx0; | 85 | LIMIT_TO_MAIN_HEADER=1, |
86 | public int cp_ty0; | 86 | DECODE_ALL_BUT_PACKETS = 2 |
87 | public int cp_tdx; | 87 | } |
88 | public int cp_tdy; | 88 | |
89 | public int cp_disto_alloc; | 89 | public struct opj_poc |
90 | public int cp_fixed_alloc; | 90 | { |
91 | public int cp_fixed_wuality; | 91 | public int resno0, compno0; |
92 | public int cp_matrice; | 92 | public int layno1, resno1, compno1; |
93 | public sbyte cp_comment; | 93 | public int layno0, precno0, precno1; |
94 | public int csty; | 94 | public PROG_ORDER prg1, prg; |
95 | public PROG_ORDER prog_order; | 95 | /// <summary> |
96 | 96 | /// Don't forget to initialize with 5 elements | |
97 | /// <summary> | 97 | /// </summary> |
98 | /// Don't forget to initialize 32 elements | 98 | public sbyte[] progorder; |
99 | /// </summary> | 99 | public int tile; |
100 | public opj_poc[] POC; | 100 | public int tx0, tx1, ty0, ty1; |
101 | public int numpocs; | 101 | public int layS, resS, copmS, prcS; |
102 | public int tcp_numlayers; | 102 | public int layE, resE, compE, prcE; |
103 | /// <summary> | 103 | public int txS, txE, tyS, tyE, dx, dy; |
104 | /// Don't forget to intitialize 100 elements | 104 | public int lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t; |
105 | /// </summary> | 105 | } |
106 | public float[] tcp_rates; | 106 | |
107 | /// <summary> | 107 | public struct opj_cparameters |
108 | /// Don't forget to initialize 100 elements | 108 | { |
109 | /// </summary> | 109 | public bool tile_size_on; |
110 | public float[] tcp_distoratio; | 110 | public int cp_tx0; |
111 | public int numresolution; | 111 | public int cp_ty0; |
112 | public int cblockw_init; | 112 | public int cp_tdx; |
113 | public int cblockh_init; | 113 | public int cp_tdy; |
114 | public int mode; | 114 | public int cp_disto_alloc; |
115 | public int irreversible; | 115 | public int cp_fixed_alloc; |
116 | public int roi_compno; | 116 | public int cp_fixed_wuality; |
117 | public int roi_shift; | 117 | public int cp_matrice; |
118 | public int res_spec; | 118 | public sbyte cp_comment; |
119 | 119 | public int csty; | |
120 | /// <summary> | 120 | public PROG_ORDER prog_order; |
121 | /// Don't forget to initialize 33 elements | 121 | |
122 | /// </summary> | 122 | /// <summary> |
123 | public int[] prc_init; | 123 | /// Don't forget to initialize 32 elements |
124 | /// <summary> | 124 | /// </summary> |
125 | /// Don't forget to initialize 33 elements | 125 | public opj_poc[] POC; |
126 | /// </summary> | 126 | public int numpocs; |
127 | public int[] prch_init; | 127 | public int tcp_numlayers; |
128 | 128 | /// <summary> | |
129 | public string infile; | 129 | /// Don't forget to intitialize 100 elements |
130 | public string outfile; | 130 | /// </summary> |
131 | public int index_on; | 131 | public float[] tcp_rates; |
132 | public string index; | 132 | /// <summary> |
133 | public int image_offset_x0; | 133 | /// Don't forget to initialize 100 elements |
134 | public int image_offset_y0; | 134 | /// </summary> |
135 | public int subsampling_dx; | 135 | public float[] tcp_distoratio; |
136 | public int subsampling_dy; | 136 | public int numresolution; |
137 | public int decod_format; | 137 | public int cblockw_init; |
138 | public int cod_format; | 138 | public int cblockh_init; |
139 | public bool jpwl_epc_on; | 139 | public int mode; |
140 | public int jpwl_hprot_MH; | 140 | public int irreversible; |
141 | /// <summary> | 141 | public int roi_compno; |
142 | /// Don't forget to initialize 16 elements | 142 | public int roi_shift; |
143 | /// </summary> | 143 | public int res_spec; |
144 | public int[] jpwl_hprot_TPH_tileno; | 144 | |
145 | /// <summary> | 145 | /// <summary> |
146 | /// Don't forget to initialize 16 elements | 146 | /// Don't forget to initialize 33 elements |
147 | /// </summary> | 147 | /// </summary> |
148 | public int[] jpwl_hprot_TPH; | 148 | public int[] prc_init; |
149 | 149 | /// <summary> | |
150 | /// <summary> | 150 | /// Don't forget to initialize 33 elements |
151 | /// Don't forget to initialize 16 elements | 151 | /// </summary> |
152 | /// </summary> | 152 | public int[] prch_init; |
153 | public int[] jpwl_pprot_tileno; | 153 | |
154 | public int[] jpwl_pprot_packno; | 154 | public string infile; |
155 | public int[] jpwl_pprot; | 155 | public string outfile; |
156 | public int jpwl_sens_size; | 156 | public int index_on; |
157 | public int jpwl_sense_addr; | 157 | public string index; |
158 | public int jpwl_sens_range; | 158 | public int image_offset_x0; |
159 | public int jpwl_sens_MH; | 159 | public int image_offset_y0; |
160 | 160 | public int subsampling_dx; | |
161 | /// <summary> | 161 | public int subsampling_dy; |
162 | /// Don't forget to initialize 16 elements | 162 | public int decod_format; |
163 | /// </summary> | 163 | public int cod_format; |
164 | public int[] jpwl_sens_TPH_tileno; | 164 | public bool jpwl_epc_on; |
165 | 165 | public int jpwl_hprot_MH; | |
166 | /// <summary> | 166 | /// <summary> |
167 | /// Don't forget to initialize 16 elements | 167 | /// Don't forget to initialize 16 elements |
168 | /// </summary> | 168 | /// </summary> |
169 | public int[] jpwl_sens_TPH; | 169 | public int[] jpwl_hprot_TPH_tileno; |
170 | public CINEMA_MODE cp_cinema; | 170 | /// <summary> |
171 | public int max_comp_size; | 171 | /// Don't forget to initialize 16 elements |
172 | public sbyte tp_on; | 172 | /// </summary> |
173 | public sbyte tp_flag; | 173 | public int[] jpwl_hprot_TPH; |
174 | public sbyte tcp_mct; | 174 | |
175 | } | 175 | /// <summary> |
176 | 176 | /// Don't forget to initialize 16 elements | |
177 | public struct opj_dparameters | 177 | /// </summary> |
178 | { | 178 | public int[] jpwl_pprot_tileno; |
179 | public int cp_reduce; | 179 | public int[] jpwl_pprot_packno; |
180 | public int cp_layer; | 180 | public int[] jpwl_pprot; |
181 | public string infile; | 181 | public int jpwl_sens_size; |
182 | public string outfile; | 182 | public int jpwl_sense_addr; |
183 | public int decod_format; | 183 | public int jpwl_sens_range; |
184 | public int cod_format; | 184 | public int jpwl_sens_MH; |
185 | public bool jpwl_correct; | 185 | |
186 | public int jpwl_exp_comps; | 186 | /// <summary> |
187 | public int jpwl_max_tiles; | 187 | /// Don't forget to initialize 16 elements |
188 | public LIMIT_DECODING cp_limit_decoding; | 188 | /// </summary> |
189 | 189 | public int[] jpwl_sens_TPH_tileno; | |
190 | } | 190 | |
191 | 191 | /// <summary> | |
192 | public struct opj_common_fields | 192 | /// Don't forget to initialize 16 elements |
193 | { | 193 | /// </summary> |
194 | public bool is_decompressor; | 194 | public int[] jpwl_sens_TPH; |
195 | public CODEC_FORMAT codec_format; | 195 | public CINEMA_MODE cp_cinema; |
196 | } | 196 | public int max_comp_size; |
197 | 197 | public sbyte tp_on; | |
198 | public struct opj_common_struct | 198 | public sbyte tp_flag; |
199 | { | 199 | public sbyte tcp_mct; |
200 | public opj_common_fields flds; | 200 | } |
201 | } | 201 | |
202 | 202 | public struct opj_dparameters | |
203 | public struct opj_cinfo | 203 | { |
204 | { | 204 | public int cp_reduce; |
205 | public opj_common_fields flds; | 205 | public int cp_layer; |
206 | } | 206 | public string infile; |
207 | public struct opj_dinfo | 207 | public string outfile; |
208 | { | 208 | public int decod_format; |
209 | public opj_common_fields flds; | 209 | public int cod_format; |
210 | } | 210 | public bool jpwl_correct; |
211 | 211 | public int jpwl_exp_comps; | |
212 | public struct opj_cio | 212 | public int jpwl_max_tiles; |
213 | { | 213 | public LIMIT_DECODING cp_limit_decoding; |
214 | public opj_common_struct cinfo; | 214 | } |
215 | public int openmode; | 215 | |
216 | public byte buffer; | 216 | public struct opj_common_fields |
217 | public int length; | 217 | { |
218 | public byte start; | 218 | public bool is_decompressor; |
219 | public byte end; | 219 | public CODEC_FORMAT codec_format; |
220 | public byte bp; | 220 | } |
221 | } | 221 | |
222 | 222 | public struct opj_common_struct | |
223 | public struct opj_image_comp | 223 | { |
224 | { | 224 | public opj_common_fields flds; |
225 | public int dx; | 225 | } |
226 | public int dy; | 226 | |
227 | public int w; | 227 | public struct opj_cinfo |
228 | public int h; | 228 | { |
229 | public int x0; | 229 | public opj_common_fields flds; |
230 | public int y0; | 230 | } |
231 | public int prec; | 231 | |
232 | public int bpp; | 232 | public struct opj_dinfo |
233 | public int sgnd; | 233 | { |
234 | public int resno_decoded; | 234 | public opj_common_fields flds; |
235 | public int factor; | 235 | } |
236 | public int data; | 236 | |
237 | } | 237 | public struct opj_cio |
238 | 238 | { | |
239 | public struct opj_image | 239 | public opj_common_struct cinfo; |
240 | { | 240 | public int openmode; |
241 | public int x0; | 241 | public byte buffer; |
242 | public int y0; | 242 | public int length; |
243 | public int x1; | 243 | public byte start; |
244 | public int y1; | 244 | public byte end; |
245 | public int numcomps; | 245 | public byte bp; |
246 | public COLOR_SPACE color_space; | 246 | } |
247 | public opj_image_comp comps; | 247 | |
248 | } | 248 | public struct opj_image_comp |
249 | 249 | { | |
250 | public struct opj_image_comptparm | 250 | public int dx; |
251 | { | 251 | public int dy; |
252 | public int dx; | 252 | public int w; |
253 | public int dy; | 253 | public int h; |
254 | public int w; | 254 | public int x0; |
255 | public int h; | 255 | public int y0; |
256 | public int x0; | 256 | public int prec; |
257 | public int y0; | 257 | public int bpp; |
258 | public int prec; | 258 | public int sgnd; |
259 | public int bpp; | 259 | public int resno_decoded; |
260 | public int sgnd; | 260 | public int factor; |
261 | } | 261 | public int data; |
262 | 262 | } | |
263 | public struct opj_packet_info | 263 | |
264 | { | 264 | public struct opj_image |
265 | public int start_pos; | 265 | { |
266 | public int end_ph_pos; | 266 | public int x0; |
267 | public int end_pos; | 267 | public int y0; |
268 | public double disto; | 268 | public int x1; |
269 | } | 269 | public int y1; |
270 | 270 | public int numcomps; | |
271 | public struct opj_tp_info | 271 | public COLOR_SPACE color_space; |
272 | { | 272 | public opj_image_comp comps; |
273 | public int tp_start_pos; | 273 | } |
274 | public int tp_end_header; | 274 | |
275 | public int tp_end_pos; | 275 | public struct opj_image_comptparm |
276 | public int tp_start_pack; | 276 | { |
277 | public int tp_numpacks; | 277 | public int dx; |
278 | } | 278 | public int dy; |
279 | 279 | public int w; | |
280 | public struct opj_tile_info | 280 | public int h; |
281 | { | 281 | public int x0; |
282 | public double thresh; | 282 | public int y0; |
283 | public int tileno; | 283 | public int prec; |
284 | public int start_pos; | 284 | public int bpp; |
285 | public int end_header; | 285 | public int sgnd; |
286 | public int end_pos; | 286 | } |
287 | /// <summary> | 287 | |
288 | /// Don't forget to initialize 33 elements | 288 | public struct opj_packet_info |
289 | /// </summary> | 289 | { |
290 | public int[] pw; | 290 | public int start_pos; |
291 | /// <summary> | 291 | public int end_ph_pos; |
292 | /// Don't forget to initialize 33 elements | 292 | public int end_pos; |
293 | /// </summary> | 293 | public double disto; |
294 | public int[] ph; | 294 | } |
295 | /// <summary> | 295 | |
296 | /// Don't forget to initialize 33 elements | 296 | public struct opj_tp_info |
297 | /// </summary> | 297 | { |
298 | public int[] pdx; | 298 | public int tp_start_pos; |
299 | /// <summary> | 299 | public int tp_end_header; |
300 | /// Don't forget to initialize 33 elements | 300 | public int tp_end_pos; |
301 | /// </summary> | 301 | public int tp_start_pack; |
302 | public int[] pdy; | 302 | public int tp_numpacks; |
303 | 303 | } | |
304 | public opj_packet_info packet; | 304 | |
305 | public int numpix; | 305 | public struct opj_tile_info |
306 | public double distotile; | 306 | { |
307 | public int num_tps; | 307 | public double thresh; |
308 | public opj_tp_info tp; | 308 | public int tileno; |
309 | } | 309 | public int start_pos; |
310 | 310 | public int end_header; | |
311 | public struct opj_marker_info_t | 311 | public int end_pos; |
312 | { | 312 | /// <summary> |
313 | public ushort type; | 313 | /// Don't forget to initialize 33 elements |
314 | public int pos; | 314 | /// </summary> |
315 | public int len; | 315 | public int[] pw; |
316 | } | 316 | /// <summary> |
317 | 317 | /// Don't forget to initialize 33 elements | |
318 | public struct opj_codestream_info | 318 | /// </summary> |
319 | { | 319 | public int[] ph; |
320 | public double D_max; | 320 | /// <summary> |
321 | public int packno; | 321 | /// Don't forget to initialize 33 elements |
322 | public int index_write; | 322 | /// </summary> |
323 | public int image_w; | 323 | public int[] pdx; |
324 | public int image_h; | 324 | /// <summary> |
325 | 325 | /// Don't forget to initialize 33 elements | |
326 | public PROG_ORDER prog; | 326 | /// </summary> |
327 | 327 | public int[] pdy; | |
328 | public int tile_x; | 328 | |
329 | public int tile_y; | 329 | public opj_packet_info packet; |
330 | public int tile_Ox; | 330 | public int numpix; |
331 | public int tile_Oy; | 331 | public double distotile; |
332 | public int tw; | 332 | public int num_tps; |
333 | public int numcomps; | 333 | public opj_tp_info tp; |
334 | public int numlayers; | 334 | } |
335 | public int numdecompos; | 335 | |
336 | public int marknum; | 336 | public struct opj_marker_info_t |
337 | public opj_marker_info_t marker; | 337 | { |
338 | public int maxmarknum; | 338 | public ushort type; |
339 | public int main_head_start; | 339 | public int pos; |
340 | public int main_head_end; | 340 | public int len; |
341 | public int codestream_size; | 341 | } |
342 | public opj_tile_info tile; | 342 | |
343 | 343 | public struct opj_codestream_info | |
344 | } | 344 | { |
345 | 345 | public double D_max; | |
346 | 346 | public int packno; | |
347 | 347 | public int index_write; | |
348 | 348 | public int image_w; | |
349 | 349 | public int image_h; | |
350 | 350 | ||
351 | public static class opj_defines | 351 | public PROG_ORDER prog; |
352 | { | 352 | |
353 | public const int OPJ_STREAM_READ = 0x0001; | 353 | public int tile_x; |
354 | public const int OPJ_STREAM_WRITE = 0x0002; | 354 | public int tile_y; |
355 | 355 | public int tile_Ox; | |
356 | } | 356 | public int tile_Oy; |
357 | 357 | public int tw; | |
358 | } | 358 | public int numcomps; |
359 | public int numlayers; | ||
360 | public int numdecompos; | ||
361 | public int marknum; | ||
362 | public opj_marker_info_t marker; | ||
363 | public int maxmarknum; | ||
364 | public int main_head_start; | ||
365 | public int main_head_end; | ||
366 | public int codestream_size; | ||
367 | public opj_tile_info tile; | ||
368 | } | ||
369 | |||
370 | public static class opj_defines | ||
371 | { | ||
372 | public const int OPJ_STREAM_READ = 0x0001; | ||
373 | public const int OPJ_STREAM_WRITE = 0x0002; | ||
374 | } | ||
375 | } | ||
diff --git a/OpenSim/Framework/OpenJpeg/pi.cs b/OpenSim/Framework/OpenJpeg/pi.cs index f7e211f..7da7d71 100644 --- a/OpenSim/Framework/OpenJpeg/pi.cs +++ b/OpenSim/Framework/OpenJpeg/pi.cs | |||
@@ -1,48 +1,71 @@ | |||
1 | using System; | 1 | /* |
2 | using System.Collections.Generic; | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | using System.Text; | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | 4 | * | |
5 | namespace OpenSim.Framework.OpenJpeg | 5 | * Redistribution and use in source and binary forms, with or without |
6 | { | 6 | * modification, are permitted provided that the following conditions are met: |
7 | public static class pi | 7 | * * Redistributions of source code must retain the above copyright |
8 | { | 8 | * notice, this list of conditions and the following disclaimer. |
9 | } | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | 10 | * notice, this list of conditions and the following disclaimer in the | |
11 | public struct opj_pi_resolution | 11 | * documentation and/or other materials provided with the distribution. |
12 | { | 12 | * * Neither the name of the OpenSimulator Project nor the |
13 | public int pdx, pdy; | 13 | * names of its contributors may be used to endorse or promote products |
14 | public int pw, ph; | 14 | * derived from this software without specific prior written permission. |
15 | } | 15 | * |
16 | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | |
17 | public struct opj_pi_comp | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | { | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | public int dx, dy; | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | public int numresolutions; | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | public opj_pi_resolution resolutions; | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | } | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
24 | public struct obj_pi_iterator | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | { | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | public sbyte tp_on; | 26 | */ |
27 | public short include; | 27 | |
28 | public int step_l; | 28 | using System; |
29 | public int step_r; | 29 | using System.Collections.Generic; |
30 | public int step_c; | 30 | using System.Text; |
31 | public int step_p; | 31 | |
32 | public int compno; | 32 | namespace OpenSim.Framework.OpenJpeg |
33 | public int resno; | 33 | { |
34 | public int precno; | 34 | public static class pi |
35 | public int layno; | 35 | { |
36 | public int first; | 36 | } |
37 | public opj_poc poc; | 37 | |
38 | public int numcomps; | 38 | public struct opj_pi_resolution |
39 | public opj_pi_comp comps; | 39 | { |
40 | 40 | public int pdx, pdy; | |
41 | public int tx0, ty0, tx1, ty1; | 41 | public int pw, ph; |
42 | public int x, y, dx, dy; | 42 | } |
43 | } | 43 | |
44 | 44 | public struct opj_pi_comp | |
45 | 45 | { | |
46 | 46 | public int dx, dy; | |
47 | 47 | public int numresolutions; | |
48 | } | 48 | public opj_pi_resolution resolutions; |
49 | } | ||
50 | |||
51 | public struct obj_pi_iterator | ||
52 | { | ||
53 | public sbyte tp_on; | ||
54 | public short include; | ||
55 | public int step_l; | ||
56 | public int step_r; | ||
57 | public int step_c; | ||
58 | public int step_p; | ||
59 | public int compno; | ||
60 | public int resno; | ||
61 | public int precno; | ||
62 | public int layno; | ||
63 | public int first; | ||
64 | public opj_poc poc; | ||
65 | public int numcomps; | ||
66 | public opj_pi_comp comps; | ||
67 | |||
68 | public int tx0, ty0, tx1, ty1; | ||
69 | public int x, y, dx, dy; | ||
70 | } | ||
71 | } | ||