media: rockchip: vpss: offline support 8k

Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: Ida1b1d32570bdbdade6d7dc1bd216da6d21c5248
This commit is contained in:
Mingwei Yan
2024-04-17 14:11:40 +08:00
committed by Tao Huang
parent 8667847bb9
commit b3b89be50d
4 changed files with 1042 additions and 312 deletions

View File

@@ -20,11 +20,12 @@
#define RKVPSS_DEFAULT_WIDTH 1920
#define RKVPSS_DEFAULT_HEIGHT 1080
#define RKVPSS_MAX_WIDTH 4672
#define RKVPSS_MAX_HEIGHT 3504
#define RKVPSS_MIN_WIDTH 32
#define RKVPSS_MIN_HEIGHT 32
#define RKVPSS_UNITE_MAX_WIDTH 8192
#define RKVPSS_UNITE_MAX_HEIGHT 6144
#define RKVPSS_VIDEO_NAME_LEN 16
#define RKVPSS_REG_CACHE_SYNC 0xeeeeeeee
@@ -43,6 +44,13 @@ enum rkvpss_fmt_pix_type {
FMT_RGB,
};
enum rkvpss_rotate {
ROTATE_0 = 0,
ROTATE_90,
ROTATE_180,
ROTATE_270,
};
/* One structure per video node */
struct rkvpss_vdev_node {
struct vb2_queue buf_queue;

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,8 @@
#ifndef _RKVPSS_OFFLINE_H
#define _RKVPSS_OFFLINE_H
#define DEV_NUM_MAX 10
#define UNITE_ENLARGE 16
#define UNITE_LEFT_ENLARGE 16
#include "hw.h"
@@ -45,6 +47,20 @@ struct rkvpss_dev_rate {
u32 delay;
};
struct rkvpss_unite_scl_params {
u32 y_w_fac;
u32 c_w_fac;
u32 y_h_fac;
u32 c_h_fac;
u32 y_w_phase;
u32 c_w_phase;
u32 quad_crop_w;
u32 scl_in_crop_w_y;
u32 scl_in_crop_w_c;
u32 right_scl_need_size_y;
u32 right_scl_need_size_c;
};
struct rkvpss_offline_dev {
struct rkvpss_hw_dev *hw;
struct v4l2_device v4l2_dev;
@@ -56,6 +72,8 @@ struct rkvpss_offline_dev {
struct list_head cfginfo_list;
struct mutex ofl_lock;
struct rkvpss_dev_rate dev_rate[DEV_NUM_MAX];
struct rkvpss_unite_scl_params unite_params[RKVPSS_OUTPUT_MAX];
u32 unite_right_enlarge;
bool mode_sel_en;
};

View File

@@ -65,6 +65,9 @@
#define RKVPSS_CMD_MODULE_GET \
_IOR('V', BASE_VIDIOC_PRIVATE + 54, struct rkvpss_module_sel)
#define RKVPSS_CMD_CHECKPARAMS \
_IOW('V', BASE_VIDIOC_PRIVATE + 55, struct rkvpss_frame_cfg)
/********************************************************************/
/* struct rkvpss_mirror_flip