media: rockchip: vicap change compact mode by align of width

and it only control with unit and online mode

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ibdf6b6969dacdb0f418066594b9c0520d0d9a7fb
This commit is contained in:
Zefa Chen
2023-06-05 10:22:23 +08:00
committed by Tao Huang
parent 972d711bd4
commit 3852e749f0

View File

@@ -172,23 +172,29 @@ static int sditf_get_set_fmt(struct v4l2_subdev *sd,
priv->hdr_cfg.hdr_mode == HDR_COMPR) {
rkcif_set_fmt(&cif_dev->stream[0], &pixm, false);
} else if (priv->hdr_cfg.hdr_mode == HDR_X2) {
if (is_uncompact) {
cif_dev->stream[0].is_compact = false;
cif_dev->stream[0].is_high_align = true;
} else {
cif_dev->stream[0].is_compact = true;
if (priv->mode.rdbk_mode == RKISP_VICAP_ONLINE &&
priv->toisp_inf.link_mode == TOISP_UNITE) {
if (is_uncompact) {
cif_dev->stream[0].is_compact = false;
cif_dev->stream[0].is_high_align = true;
} else {
cif_dev->stream[0].is_compact = true;
}
}
rkcif_set_fmt(&cif_dev->stream[0], &pixm, false);
rkcif_set_fmt(&cif_dev->stream[1], &pixm, false);
} else if (priv->hdr_cfg.hdr_mode == HDR_X3) {
if (is_uncompact) {
cif_dev->stream[0].is_compact = false;
cif_dev->stream[0].is_high_align = true;
cif_dev->stream[1].is_compact = false;
cif_dev->stream[1].is_high_align = true;
} else {
cif_dev->stream[0].is_compact = true;
cif_dev->stream[1].is_compact = true;
if (priv->mode.rdbk_mode == RKISP_VICAP_ONLINE &&
priv->toisp_inf.link_mode == TOISP_UNITE) {
if (is_uncompact) {
cif_dev->stream[0].is_compact = false;
cif_dev->stream[0].is_high_align = true;
cif_dev->stream[1].is_compact = false;
cif_dev->stream[1].is_high_align = true;
} else {
cif_dev->stream[0].is_compact = true;
cif_dev->stream[1].is_compact = true;
}
}
rkcif_set_fmt(&cif_dev->stream[0], &pixm, false);
rkcif_set_fmt(&cif_dev->stream[1], &pixm, false);