[FFmpeg-cvslog] v4l2: set the average framerate instead of codec timebase.
Anton Khirnov
git at videolan.org
Mon Jan 14 14:23:53 CET 2013
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Jan 7 18:54:50 2013 +0100| [838b849e70f11dc242399da8d19c5795fe90913b] | committer: Anton Khirnov
v4l2: set the average framerate instead of codec timebase.
Codec timebase is supposed to be set by decoders only.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=838b849e70f11dc242399da8d19c5795fe90913b
---
libavdevice/v4l2.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index fd2ab38..eb5de15 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -634,11 +634,11 @@ static int v4l2_set_parameters(AVFormatContext *s1)
return AVERROR(errno);
}
}
- s1->streams[0]->codec->time_base.den = tpf->denominator;
- s1->streams[0]->codec->time_base.num = tpf->numerator;
+ s1->streams[0]->avg_frame_rate.num = tpf->denominator;
+ s1->streams[0]->avg_frame_rate.den = tpf->numerator;
s->timeout = 100 +
- av_rescale_q(1, s1->streams[0]->codec->time_base,
+ av_rescale_q(1, s1->streams[0]->avg_frame_rate,
(AVRational){1, 1000});
return 0;
@@ -779,7 +779,7 @@ static int v4l2_read_header(AVFormatContext *s1)
avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt);
st->codec->width = s->width;
st->codec->height = s->height;
- st->codec->bit_rate = s->frame_size * 1/av_q2d(st->codec->time_base) * 8;
+ st->codec->bit_rate = s->frame_size * av_q2d(st->avg_frame_rate) * 8;
return 0;
}
More information about the ffmpeg-cvslog
mailing list