ffmpeg | branch: master | Limin Wang <lance.lmw...@gmail.com> | Mon Oct 11 23:37:17 2021 +0800| [b07437f956f911dd76abb2ab0d5f3204a85e34da] | committer: Limin Wang
avformat/rtpdec_rfc4175: add support for exactframerate Signed-off-by: Limin Wang <lance.lmw...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b07437f956f911dd76abb2ab0d5f3204a85e34da --- libavformat/rtpdec_rfc4175.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavformat/rtpdec_rfc4175.c b/libavformat/rtpdec_rfc4175.c index 712c6830f9..060f725d3c 100644 --- a/libavformat/rtpdec_rfc4175.c +++ b/libavformat/rtpdec_rfc4175.c @@ -25,9 +25,11 @@ #include "rtpdec_formats.h" #include "libavutil/avstring.h" #include "libavutil/pixdesc.h" +#include "libavutil/parseutils.h" struct PayloadContext { char *sampling; + AVRational framerate; int depth; int width; int height; @@ -69,6 +71,11 @@ static int rfc4175_parse_format(AVStream *stream, PayloadContext *data) stream->codecpar->bits_per_coded_sample = av_get_bits_per_pixel(desc); data->frame_size = data->width * data->height * data->pgroup / data->xinc; + if (data->framerate.den > 0) { + stream->avg_frame_rate = data->framerate; + stream->codecpar->bit_rate = data->frame_size * av_q2d(data->framerate) * 8; + } + return 0; } @@ -84,6 +91,10 @@ static int rfc4175_parse_fmtp(AVFormatContext *s, AVStream *stream, data->sampling = av_strdup(value); else if (!strncmp(attr, "depth", 5)) data->depth = atoi(value); + else if (!strncmp(attr, "exactframerate", 14)) { + if (av_parse_video_rate(&data->framerate, value) < 0) + return AVERROR(EINVAL); + } return 0; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".