// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef CORE_FXCODEC_INCLUDE_FX_CODEC_DEF_H_
#define CORE_FXCODEC_INCLUDE_FX_CODEC_DEF_H_

enum FXCODEC_STATUS {
  FXCODEC_STATUS_ERROR = -1,
  FXCODEC_STATUS_FRAME_READY,
  FXCODEC_STATUS_FRAME_TOBECONTINUE,
  FXCODEC_STATUS_DECODE_READY,
  FXCODEC_STATUS_DECODE_TOBECONTINUE,
  FXCODEC_STATUS_DECODE_FINISH,
#ifdef PDF_ENABLE_XFA
  FXCODEC_STATUS_ERR_MEMORY,
#endif  // PDF_ENABLE_XFA
  FXCODEC_STATUS_ERR_READ,
  FXCODEC_STATUS_ERR_FLUSH,
  FXCODEC_STATUS_ERR_FORMAT,
  FXCODEC_STATUS_ERR_PARAMS
};
#define JP2_SPACE_INVALID -1
#define JPX_SPACE_INVALID -1
#define JP2_SPACE_bilevel1 0
#define JP2_SPACE_YCbCr1 1
#define JP2_SPACE_YCbCr2 3
#define JP2_SPACE_YCbCr3 4
#define JP2_SPACE_PhotoYCC 9
#define JP2_SPACE_CMY 11
#define JP2_SPACE_CMYK 12
#define JP2_SPACE_YCCK 13
#define JP2_SPACE_CIELab 14
#define JP2_SPACE_bilevel2 15
#define JP2_SPACE_sRGB 16
#define JP2_SPACE_sLUM 17
#define JP2_SPACE_sYCC 18
#define JP2_SPACE_CIEJab 19
#define JP2_SPACE_esRGB 20
#define JP2_SPACE_ROMMRGB 21
#define JP2_SPACE_YPbPr60 22
#define JP2_SPACE_YPbPr50 23
#define JP2_SPACE_esYCC 24
#define JP2_SPACE_iccLUM 100
#define JP2_SPACE_iccRGB 101
#define Icc_INTENT_PERCEPTUAL 0
#define Icc_INTENT_RELATIVE_COLORIMETRIC 1
#define Icc_INTENT_SATURATION 2
#define Icc_INTENT_ABSOLUTE_COLORIMETRIC 3
#define Icc_FORMAT_DEFAULT 0
#define Icc_FORMAT_SWAP (1 << 10)
#define Icc_FLAGS_DEFAULT 0x0000
#define Icc_FLAGS_BLACKPOINTCOMPENSATION 0x2000
#define Icc_FLAGS_NOWHITEONWHITEFIXUP 0x0004
#define Icc_FLAGS_HIGHRESPRECALC 0x0400
#define Icc_FLAGS_LOWRESPRECALC 0x0800
#define Icc_FLAGS_GAMUTCHECK 0x1000
#define Icc_FLAGS_SOFTPROOFING 0x4000
#define Icc_PARAMTYPE_NONE 0
#define Icc_PARAMTYPE_BUFFER 1
#define Icc_PARAMTYPE_PARAM 2
#ifdef PDF_ENABLE_XFA
enum FXCODEC_IMAGE_TYPE {
  FXCODEC_IMAGE_UNKNOWN = 0,
  FXCODEC_IMAGE_BMP,
  FXCODEC_IMAGE_JPG,
  FXCODEC_IMAGE_PNG,
  FXCODEC_IMAGE_GIF,
  FXCODEC_IMAGE_TIF,
  FXCODEC_IMAGE_MAX
};
enum FXCODEC_RESUNIT {
  FXCODEC_RESUNIT_NONE = 0,
  FXCODEC_RESUNIT_INCH,
  FXCODEC_RESUNIT_CENTIMETER,
  FXCODEC_RESUNIT_METER
};
#endif  // PDF_ENABLE_XFA
#define EXIFTAG_USHORT_RESUNIT 296
#define EXIFTAG_FLOAT_DPIX 282
#define EXIFTAG_FLOAT_DPIY 283
#define EXIFTAG_USHORT_ORIENTATION 274
#define EXIFTAG_STRING_MANUFACTURER 271
#define EXIFTAG_STRING_MODULE 272
#define EXIFTAG_STRING_SOFTWARE 305
#define EXIFTAG_STRING_IAMGEDESCRIPTION 270
#define EXIFTAG_STRING_DATETIME 306
#define EXIFTAG_STRING_COPYRIGHT 33432

#endif  // CORE_FXCODEC_INCLUDE_FX_CODEC_DEF_H_
