blob: 1b03e45b105e777d9ec58a74ab41185b2bf99b8a [file] [log] [blame]
halcanary96287f72015-05-07 11:46:59 -07001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7#ifndef SkJpegInfo_DEFINED
8#define SkJpegInfo_DEFINED
9
Tom Hudson2880df22015-10-29 09:55:42 -040010#include "SkSize.h"
11
halcanary96287f72015-05-07 11:46:59 -070012class SkData;
13
14struct SkJFIFInfo {
Tom Hudson2880df22015-10-29 09:55:42 -040015 SkISize fSize;
halcanary96287f72015-05-07 11:46:59 -070016 enum Type {
17 kGrayscale,
18 kYCbCr,
19 } fType;
20};
21
22/** Returns true iff the data seems to be a valid JFIF JPEG image.
Tom Hudson2880df22015-10-29 09:55:42 -040023 If so and if info is not nullptr, populate info.
halcanary96287f72015-05-07 11:46:59 -070024
25 JPEG/JFIF References:
26 http://www.w3.org/Graphics/JPEG/itu-t81.pdf
27 http://www.w3.org/Graphics/JPEG/jfif3.pdf
28*/
29bool SkIsJFIF(const SkData* skdata, SkJFIFInfo* info);
30
31#endif // SkJpegInfo_DEFINED