media: rockchip: isp: sync head for compressed data
Change-Id: Iabfba2ce0b9e8687f3935330f56ff3bb5c5e340b Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -354,11 +354,38 @@ struct rkmodule_lsc_cfg {
|
|||||||
* NO_HDR: linear mode
|
* NO_HDR: linear mode
|
||||||
* HDR_X2: hdr two frame or line mode
|
* HDR_X2: hdr two frame or line mode
|
||||||
* HDR_X3: hdr three or line mode
|
* HDR_X3: hdr three or line mode
|
||||||
|
* HDR_COMPR: linearised and compressed data for hdr
|
||||||
*/
|
*/
|
||||||
enum rkmodule_hdr_mode {
|
enum rkmodule_hdr_mode {
|
||||||
NO_HDR = 0,
|
NO_HDR = 0,
|
||||||
HDR_X2 = 5,
|
HDR_X2 = 5,
|
||||||
HDR_X3 = 6,
|
HDR_X3 = 6,
|
||||||
|
HDR_COMPR,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum rkmodule_hdr_compr_segment {
|
||||||
|
HDR_COMPR_SEGMENT_4 = 4,
|
||||||
|
HDR_COMPR_SEGMENT_12 = 12,
|
||||||
|
HDR_COMPR_SEGMENT_16 = 16,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* rkmodule_hdr_compr
|
||||||
|
* linearised and compressed data for hdr: data_src = K * data_compr + XX
|
||||||
|
*
|
||||||
|
* bit: bit of src data, max 20 bit.
|
||||||
|
* segment: linear segment, support 4, 6 or 16.
|
||||||
|
* k_shift: left shift bit of slop amplification factor, 2^k_shift, [0 15].
|
||||||
|
* slope_k: K * 2^k_shift.
|
||||||
|
* data_src_shitf: left shift bit of source data, data_src = 2^data_src_shitf
|
||||||
|
* data_compr: compressed data.
|
||||||
|
*/
|
||||||
|
struct rkmodule_hdr_compr {
|
||||||
|
enum rkmodule_hdr_compr_segment segment;
|
||||||
|
__u8 bit;
|
||||||
|
__u8 k_shift;
|
||||||
|
__u8 data_src_shitf[HDR_COMPR_SEGMENT_16];
|
||||||
|
__u16 data_compr[HDR_COMPR_SEGMENT_16];
|
||||||
|
__u32 slope_k[HDR_COMPR_SEGMENT_16];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -397,6 +424,7 @@ struct rkmodule_hdr_esp {
|
|||||||
struct rkmodule_hdr_cfg {
|
struct rkmodule_hdr_cfg {
|
||||||
__u32 hdr_mode;
|
__u32 hdr_mode;
|
||||||
struct rkmodule_hdr_esp esp;
|
struct rkmodule_hdr_esp esp;
|
||||||
|
struct rkmodule_hdr_compr compr;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
/* sensor lvds sync code
|
/* sensor lvds sync code
|
||||||
|
|||||||
@@ -251,6 +251,7 @@ struct isp2x_mesh_head {
|
|||||||
* T_START_X1: isp read one frame
|
* T_START_X1: isp read one frame
|
||||||
* T_START_X2: isp read hdr two frame
|
* T_START_X2: isp read hdr two frame
|
||||||
* T_START_X3: isp read hdr three frame
|
* T_START_X3: isp read hdr three frame
|
||||||
|
* T_START_C: isp read hdr linearised and compressed data
|
||||||
*/
|
*/
|
||||||
enum isp2x_trigger_mode {
|
enum isp2x_trigger_mode {
|
||||||
T_TRY = BIT(0),
|
T_TRY = BIT(0),
|
||||||
@@ -260,6 +261,7 @@ enum isp2x_trigger_mode {
|
|||||||
T_START_X1 = BIT(4),
|
T_START_X1 = BIT(4),
|
||||||
T_START_X2 = BIT(5),
|
T_START_X2 = BIT(5),
|
||||||
T_START_X3 = BIT(6),
|
T_START_X3 = BIT(6),
|
||||||
|
T_START_C = BIT(7),
|
||||||
};
|
};
|
||||||
|
|
||||||
struct isp2x_csi_trigger {
|
struct isp2x_csi_trigger {
|
||||||
|
|||||||
Reference in New Issue
Block a user