• K
    [media] v4l2: Fix typo in struct v4l2_captureparm description · 2e74598d
    Kirill Smelkov 提交于
    Judging from what drivers do and from my experience temeperframe
    fraction is set in seconds - look e.g. here
        static int bttv_g_parm(struct file *file, void *f,
                                        struct v4l2_streamparm *parm)
        {
                struct bttv_fh *fh = f;
                struct bttv *btv = fh->btv;
                v4l2_video_std_frame_period(bttv_tvnorms[btv->tvnorm].v4l2_id,
                                            &parm->parm.capture.timeperframe);
        ...
        void v4l2_video_std_frame_period(int id, struct v4l2_fract *frameperiod)
        {
                if (id & V4L2_STD_525_60) {
                        frameperiod->numerator = 1001;
                        frameperiod->denominator = 30000;
                } else {
                        frameperiod->numerator = 1;
                        frameperiod->denominator = 25;
                }
    and also v4l2-ctl in userspace decodes this as seconds:
        if (doioctl(fd, VIDIOC_G_PARM, &parm, "VIDIOC_G_PARM") == 0) {
                const struct v4l2_fract &tf = parm.parm.capture.timeperframe;
                ...
                printf("\tFrames per second: %.3f (%d/%d)\n",
                                (1.0 * tf.denominator) / tf.numerator,
                                tf.denominator, tf.numerator);
    The typo was there from day 1 - added in 2002 in e028b61b ([PATCH]
    add v4l2 api)(*)
    (*) found in history tree
        git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.gitSigned-off-by: NKirill Smelkov <kirr@mns.spb.ru>
    Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    2e74598d
videodev2.h 68.3 KB