#ifndef _PVR_SETUP_H_
#define _PVR_SETUP_H_

#include <sys/time.h>
#include <linux/types.h>
#include <linux/videodev.h>
#include <linux/videodev2.h>

struct valSet {
  v4l2_queryctrl queryctrl;
  int value;
  __u32 ctrl_class;
};


typedef enum {
  aspect1by1,
  aspect4by3,
  aspect16by9,
  acpect221by100
} eAspectRate;

typedef enum {
  bitrateVBR,
  bitrateCBR
} eBitrateMode;

typedef enum {
  dnrSpatialTemporal,
  dnrTemporal,
  dnrSpatial,
  dnrNone
} eDnrMode;


class cPvrSetup {
public:
  int HideMainMenuEntry;
  int LogLevel;
  int DelayAfterTune;
  int AntiFlickering;
  valSet Brightness;
  valSet Contrast;
  valSet Saturation;
  valSet Hue;
  valSet AudioVolumeTV;
  valSet AudioVolumeFM;
  valSet AudioMute;
  valSet AudioSampling;
  valSet AudioEncoding;
  valSet StreamType;
  valSet VideoBitrate;
  valSet VideoBitratePeak;
  valSet AudioBitrate;
  valSet BitrateMode;
  valSet AspectRatio;
  valSet BFrames;
  valSet GopSize;
  valSet GopClosure;
  valSet FilterSpatialMode;
  valSet FilterSpatial;
  valSet FilterLumaSpatialType;
  valSet FilterChromaSpatialType;
  valSet FilterTemporalMode;
  valSet FilterTemporal;
  valSet FilterMedianType;
  valSet FilterLumaMedianBottom;
  valSet FilterLumaMedianTop;
  valSet FilterChromaMedianBottom;
  valSet FilterChromaMedianTop;
  valSet VBIformat;
public:
  cPvrSetup(void);
};

extern cPvrSetup PvrSetup;

#endif
