[media] solo6x10: update GOP size, QP immediately
authorAndrey Utkin <andrey.utkin@corp.bluecherry.net>
Tue, 8 Jul 2014 15:23:33 +0000 (12:23 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 17 Jul 2014 23:04:40 +0000 (20:04 -0300)
Previously, it was needed to reopen device to update GOP size and
quantization parameter. Now we update device registers with new values
immediately.

Signed-off-by: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
Signed-off-by: Ismael Luceno <ismael.luceno@corp.bluecherry.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c

index 748a73a5f32d706e05b985c935efa2043e0fbba8..1fd6bec7974d9c2985ed4265f48228fab1bc6ef9 100644 (file)
@@ -1120,9 +1120,13 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
                                         ctrl->val);
        case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
                solo_enc->gop = ctrl->val;
+               solo_reg_write(solo_dev, SOLO_VE_CH_GOP(solo_enc->ch), solo_enc->gop);
+               solo_reg_write(solo_dev, SOLO_VE_CH_GOP_E(solo_enc->ch), solo_enc->gop);
                return 0;
        case V4L2_CID_MPEG_VIDEO_H264_MIN_QP:
                solo_enc->qp = ctrl->val;
+               solo_reg_write(solo_dev, SOLO_VE_CH_QP(solo_enc->ch), solo_enc->qp);
+               solo_reg_write(solo_dev, SOLO_VE_CH_QP_E(solo_enc->ch), solo_enc->qp);
                return 0;
        case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD:
                solo_enc->motion_thresh = ctrl->val << 8;