1e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka/*
2e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Copyright (C) 2012 The Android Open Source Project
3e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka *
4e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Licensed under the Apache License, Version 2.0 (the "License");
5e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * you may not use this file except in compliance with the License.
6e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * You may obtain a copy of the License at
7e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka *
8e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka *      http://www.apache.org/licenses/LICENSE-2.0
9e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka *
10e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Unless required by applicable law or agreed to in writing, software
11e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * distributed under the License is distributed on an "AS IS" BASIS,
12e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * See the License for the specific language governing permissions and
14e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * limitations under the License.
15e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka */
16e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka
17e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurkapackage com.android.gallery3d.exif;
18e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka
19e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurkaclass JpegHeader {
20e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short SOI =  (short) 0xFFD8;
21e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short APP1 = (short) 0xFFE1;
22e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short APP0 = (short) 0xFFE0;
23e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short EOI = (short) 0xFFD9;
24e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka
25e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    /**
26e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka     *  SOF (start of frame). All value between SOF0 and SOF15 is SOF marker except for DHT, JPG,
27e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka     *  and DAC marker.
28e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka     */
29e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short SOF0 = (short) 0xFFC0;
30e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short SOF15 = (short) 0xFFCF;
31e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short DHT = (short) 0xFFC4;
32e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short JPG = (short) 0xFFC8;
33e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final short DAC = (short) 0xFFCC;
34e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka
35e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    public static final boolean isSofMarker(short marker) {
36e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka        return marker >= SOF0 && marker <= SOF15 && marker != DHT && marker != JPG
37e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka                && marker != DAC;
38e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka    }
39e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka}
40