59 |
public MultiPixelPackedSampleModel(int dataType, int w, int h, |
public MultiPixelPackedSampleModel(int dataType, int w, int h, |
60 |
int numberOfBits) |
int numberOfBits) |
61 |
{ |
{ |
62 |
this(dataType, w, h, 0, numberOfBits, 0); |
this(dataType, w, h, numberOfBits, 0, 0); |
63 |
} |
} |
64 |
|
|
65 |
public MultiPixelPackedSampleModel(int dataType, int w, int h, |
public MultiPixelPackedSampleModel(int dataType, int w, int h, |
101 |
|
|
102 |
// Compute scan line large enough for w pixels. |
// Compute scan line large enough for w pixels. |
103 |
if (scanlineStride == 0) |
if (scanlineStride == 0) |
104 |
scanlineStride = ((dataBitOffset + w * numberOfBits) / elemBits) + 1; |
scanlineStride = ((dataBitOffset + w * numberOfBits) / elemBits); |
105 |
this.scanlineStride = scanlineStride; |
this.scanlineStride = scanlineStride; |
106 |
|
|
107 |
|
|
112 |
bitOffsets = new int[numElems]; |
bitOffsets = new int[numElems]; |
113 |
for (int i=0; i < numElems; i++) |
for (int i=0; i < numElems; i++) |
114 |
{ |
{ |
115 |
bitOffsets[i] = numberOfBits * i; |
bitOffsets[numElems - i- 1] = numberOfBits * i; |
116 |
bitMasks[i] = ((1 << numberOfBits) - 1) << bitOffsets[i]; |
bitMasks[numElems - i - 1] = ((1 << numberOfBits) - 1) << |
117 |
|
bitOffsets[numElems - i - 1]; |
118 |
} |
} |
119 |
} |
} |
120 |
|
|