summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/exif/ExifOutputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/exif/ExifOutputStream.java')
-rw-r--r--src/com/android/gallery3d/exif/ExifOutputStream.java29
1 files changed, 5 insertions, 24 deletions
diff --git a/src/com/android/gallery3d/exif/ExifOutputStream.java b/src/com/android/gallery3d/exif/ExifOutputStream.java
index 0f56014a4..e9475c53e 100644
--- a/src/com/android/gallery3d/exif/ExifOutputStream.java
+++ b/src/com/android/gallery3d/exif/ExifOutputStream.java
@@ -29,25 +29,6 @@ public class ExifOutputStream extends FilterOutputStream {
private static final int STATE_FRAME_HEADER = 1;
private static final int STATE_JPEG_DATA = 2;
- private static final short SOI = (short) 0xFFD8;
- private static final short APP1 = (short) 0xFFE1;
- private static final short EOI = (short) 0xFFD9;
-
- /**
- * SOF (start of frame). All value between SOF0 and SOF15 is SOF tag except for DHT, JPG,
- * and DAC tag.
- */
- private static final short SOF0 = (short) 0xFFC0;
- private static final short SOF15 = (short) 0xFFCF;
- private static final short DHT = (short) 0xFFC4;
- private static final short JPG = (short) 0xFFC8;
- private static final short DAC = (short) 0xFFCC;
-
- private static final boolean isSofMarker(short marker) {
- return marker >= SOF0 && marker <= SOF15 && marker != DHT && marker != JPG
- && marker != DAC;
- }
-
private static final int EXIF_HEADER = 0x45786966;
private static final short TIFF_HEADER = 0x002A;
private static final short TIFF_BIG_ENDIAN = 0x4d4d;
@@ -106,7 +87,7 @@ public class ExifOutputStream extends FilterOutputStream {
length -= byteRead;
if (mBuffer.position() < 2) return;
mBuffer.rewind();
- assert(mBuffer.getShort() == SOI);
+ assert(mBuffer.getShort() == JpegHeader.SOI);
out.write(mBuffer.array(), 0 ,2);
mState = STATE_FRAME_HEADER;
mBuffer.rewind();
@@ -120,7 +101,7 @@ public class ExifOutputStream extends FilterOutputStream {
// Check if this image data doesn't contain SOF.
if (mBuffer.position() == 2) {
short tag = mBuffer.getShort();
- if (tag == EOI) {
+ if (tag == JpegHeader.EOI) {
out.write(mBuffer.array(), 0, 2);
mBuffer.rewind();
}
@@ -128,10 +109,10 @@ public class ExifOutputStream extends FilterOutputStream {
if (mBuffer.position() < 4) return;
mBuffer.rewind();
short marker = mBuffer.getShort();
- if (marker == APP1) {
+ if (marker == JpegHeader.APP1) {
mByteToSkip = (mBuffer.getShort() & 0xff) - 2;
mState = STATE_JPEG_DATA;
- } else if (!isSofMarker(marker)) {
+ } else if (!JpegHeader.isSofMarker(marker)) {
out.write(mBuffer.array(), 0, 4);
mByteToCopy = (mBuffer.getShort() & 0xff) - 2;
} else {
@@ -162,7 +143,7 @@ public class ExifOutputStream extends FilterOutputStream {
int exifSize = calculateAllOffset();
OrderedDataOutputStream dataOutputStream = new OrderedDataOutputStream(out);
dataOutputStream.setByteOrder(ByteOrder.BIG_ENDIAN);
- dataOutputStream.writeShort(APP1);
+ dataOutputStream.writeShort(JpegHeader.APP1);
dataOutputStream.writeShort((short) (exifSize + 8));
dataOutputStream.writeInt(EXIF_HEADER);
dataOutputStream.writeShort((short) 0x0000);