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