123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #ifndef VCAP_FMT_H
- #define VCAP_FMT_H
- #include <linux/videodev2.h>
- #define V4L2_BUF_TYPE_INTERLACED_IN_DECODER (V4L2_BUF_TYPE_PRIVATE)
- #define VCAP_GENERIC_NOTIFY_EVENT 0
- #define VCAP_VC_PIX_ERR_EVENT 1
- #define VCAP_VC_LINE_ERR_EVENT 2
- #define VCAP_VC_VSYNC_ERR_EVENT 3
- #define VCAP_VC_NPL_OFLOW_ERR_EVENT 4
- #define VCAP_VC_LBUF_OFLOW_ERR_EVENT 5
- #define VCAP_VC_BUF_OVERWRITE_EVENT 6
- #define VCAP_VC_VSYNC_SEQ_ERR 7
- #define VCAP_VP_REG_R_ERR_EVENT 8
- #define VCAP_VP_REG_W_ERR_EVENT 9
- #define VCAP_VP_IN_HEIGHT_ERR_EVENT 10
- #define VCAP_VP_IN_WIDTH_ERR_EVENT 11
- #define VCAP_VC_UNEXPECT_BUF_DONE 12
- #define VCAP_MAX_NOTIFY_EVENT 13
- enum hal_vcap_mode {
- HAL_VCAP_MODE_PRO = 0,
- HAL_VCAP_MODE_INT,
- };
- enum hal_vcap_polar {
- HAL_VCAP_POLAR_POS = 0,
- HAL_VCAP_POLAR_NEG,
- };
- enum hal_vcap_color {
- HAL_VCAP_YUV = 0,
- HAL_VCAP_RGB,
- };
- enum nr_threshold_mode {
- NR_THRESHOLD_STATIC = 0,
- NR_THRESHOLD_DYNAMIC,
- };
- enum nr_mode {
- NR_DISABLE = 0,
- NR_AUTO,
- NR_MANUAL,
- };
- enum nr_decay_ratio {
- NR_Decay_Ratio_26 = 0,
- NR_Decay_Ratio_25,
- NR_Decay_Ratio_24,
- NR_Decay_Ratio_23,
- NR_Decay_Ratio_22,
- NR_Decay_Ratio_21,
- NR_Decay_Ratio_20,
- NR_Decay_Ratio_19,
- };
- struct nr_config {
- uint8_t max_blend_ratio;
- uint8_t scale_diff_ratio;
- uint8_t diff_limit_ratio;
- uint8_t scale_motion_ratio;
- uint8_t blend_limit_ratio;
- };
- struct nr_param {
- enum nr_threshold_mode threshold;
- enum nr_mode mode;
- enum nr_decay_ratio decay_ratio;
- uint8_t window;
- struct nr_config luma;
- struct nr_config chroma;
- };
- #define VCAPIOC_NR_S_PARAMS _IOWR('V', (BASE_VIDIOC_PRIVATE+0), struct nr_param)
- #define VCAPIOC_NR_G_PARAMS _IOWR('V', (BASE_VIDIOC_PRIVATE+1), struct nr_param)
- #define VCAPIOC_S_NUM_VC_BUF _IOWR('V', (BASE_VIDIOC_PRIVATE+2), int)
- struct v4l2_format_vc_ext {
- enum hal_vcap_mode mode;
- enum hal_vcap_polar h_polar;
- enum hal_vcap_polar v_polar;
- enum hal_vcap_polar d_polar;
- enum hal_vcap_color color_space;
- uint32_t clk_freq;
- uint32_t frame_rate;
- uint32_t vtotal;
- uint32_t htotal;
- uint32_t hactive_start;
- uint32_t hactive_end;
- uint32_t vactive_start;
- uint32_t vactive_end;
- uint32_t vsync_start;
- uint32_t vsync_end;
- uint32_t hsync_start;
- uint32_t hsync_end;
- uint32_t f2_vactive_start;
- uint32_t f2_vactive_end;
- uint32_t f2_vsync_h_start;
- uint32_t f2_vsync_h_end;
- uint32_t f2_vsync_v_start;
- uint32_t f2_vsync_v_end;
- uint32_t sizeimage;
- uint32_t bytesperline;
- };
- enum vcap_type {
- VC_TYPE,
- VP_IN_TYPE,
- VP_OUT_TYPE,
- };
- enum vcap_stride {
- VC_STRIDE_16,
- VC_STRIDE_32,
- };
- struct vcap_priv_fmt {
- enum vcap_type type;
- enum vcap_stride stride;
- union {
- struct v4l2_format_vc_ext timing;
- struct v4l2_pix_format pix;
- /* Once VP is created there will be another type in here */
- } u;
- };
- #endif
|