{
        struct vpu_inst *inst = to_inst(file);
        struct venc_t *venc = inst->priv;
-       struct v4l2_fract *timeperframe = &parm->parm.capture.timeperframe;
+       struct v4l2_fract *timeperframe;
 
        if (!parm)
                return -EINVAL;
        if (!vpu_helper_check_type(inst, parm->type))
                return -EINVAL;
 
+       timeperframe = &parm->parm.capture.timeperframe;
        parm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
        parm->parm.capture.readbuffers = 0;
        timeperframe->numerator = venc->params.frame_rate.numerator;
 {
        struct vpu_inst *inst = to_inst(file);
        struct venc_t *venc = inst->priv;
-       struct v4l2_fract *timeperframe = &parm->parm.capture.timeperframe;
+       struct v4l2_fract *timeperframe;
        unsigned long n, d;
 
        if (!parm)
        if (!vpu_helper_check_type(inst, parm->type))
                return -EINVAL;
 
+       timeperframe = &parm->parm.capture.timeperframe;
        if (!timeperframe->numerator)
                timeperframe->numerator = venc->params.frame_rate.numerator;
        if (!timeperframe->denominator)