#ifndef HDRPLUS_FINISH_H_
#define HDRPLUS_FINISH_H_

#include <hdrplus_pipeline.h>

template <class T = float> struct TypedWhiteBalance {
  template <class TT>
  explicit TypedWhiteBalance(const TypedWhiteBalance<TT> &other)
      : r(other.r), g0(other.g0), g1(other.g1), b(other.b) {}

  TypedWhiteBalance(T r, T g0, T g1, T b) : r(r), g0(g0), g1(g1), b(b) {}

  T r;
  T g0;
  T g1;
  T b;
};

using WhiteBalance = TypedWhiteBalance<float>;

typedef uint16_t BlackPoint;
typedef uint16_t WhitePoint;

typedef float Compression;
typedef float Gain;

enum class CfaPattern : int {
  CFA_UNKNOWN = 0,
  CFA_RGGB = 1,
  CFA_GRBG = 2,
  CFA_BGGR = 3,
  CFA_GBRG = 4
};


#endif