12523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan/* 22523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * Copyright (C) 2012 The Android Open Source Project 32523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * 42523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * Licensed under the Apache License, Version 2.0 (the "License"); 52523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * you may not use this file except in compliance with the License. 62523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * You may obtain a copy of the License at 72523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * 82523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * http://www.apache.org/licenses/LICENSE-2.0 92523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * 102523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * Unless required by applicable law or agreed to in writing, software 112523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * distributed under the License is distributed on an "AS IS" BASIS, 122523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * See the License for the specific language governing permissions and 142523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * limitations under the License. 152523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan */ 162523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan 17a16e7b50f3148f581439509279f242092e254309ztenghuipackage com.android.camera.exif; 182523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan 192523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyanclass JpegHeader { 202523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short SOI = (short) 0xFFD8; 212523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short APP1 = (short) 0xFFE1; 222523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short APP0 = (short) 0xFFE0; 232523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short EOI = (short) 0xFFD9; 242523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan 252523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan /** 262523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * SOF (start of frame). All value between SOF0 and SOF15 is SOF marker except for DHT, JPG, 272523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan * and DAC marker. 282523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan */ 292523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short SOF0 = (short) 0xFFC0; 302523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short SOF15 = (short) 0xFFCF; 312523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short DHT = (short) 0xFFC4; 322523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short JPG = (short) 0xFFC8; 332523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final short DAC = (short) 0xFFCC; 342523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan 352523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan public static final boolean isSofMarker(short marker) { 362523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan return marker >= SOF0 && marker <= SOF15 && marker != DHT && marker != JPG 372523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan && marker != DAC; 382523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan } 392523f4344661b1e6a734d1ba20e92308c87a7c54Hung-ying Tyan} 40