v4l2 set the frame rate through frame intervals, not set frame rate directly. the frame rate and frame intervals are reciprocal. so in libavdevice/v4l2.c we can see the following code: tpf->numerator = framerate_q.den; tpf->denominator = framerate_q.num;
Signed-off-by: Ming Qian <ming.q...@nxp.com> --- libavcodec/v4l2_m2m_enc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c index c9f1741bfd..5b954f4435 100644 --- a/libavcodec/v4l2_m2m_enc.c +++ b/libavcodec/v4l2_m2m_enc.c @@ -40,8 +40,8 @@ static inline void v4l2_set_timeperframe(V4L2m2mContext *s, unsigned int num, un struct v4l2_streamparm parm = { 0 }; parm.type = V4L2_TYPE_IS_MULTIPLANAR(s->output.type) ? V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE : V4L2_BUF_TYPE_VIDEO_OUTPUT; - parm.parm.output.timeperframe.denominator = den; - parm.parm.output.timeperframe.numerator = num; + parm.parm.output.timeperframe.denominator = num; + parm.parm.output.timeperframe.numerator = den; if (ioctl(s->fd, VIDIOC_S_PARM, &parm) < 0) av_log(s->avctx, AV_LOG_WARNING, "Failed to set timeperframe"); -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".