[FFmpeg-cvslog] avformat/utils: Move avpriv_set_pts_info() to avformat.c
Andreas Rheinhardt
git at videolan.org
Tue May 10 09:36:11 EEST 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sat May 7 08:59:48 2022 +0200| [60fa58b8357984867b9104ad5e902a21ba2d78b0] | committer: Andreas Rheinhardt
avformat/utils: Move avpriv_set_pts_info() to avformat.c
It is an essential auxiliary function for both demuxing and muxing.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=60fa58b8357984867b9104ad5e902a21ba2d78b0
---
libavformat/avformat.c | 26 ++++++++++++++++++++++++++
libavformat/utils.c | 26 --------------------------
2 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/libavformat/avformat.c b/libavformat/avformat.c
index 2249f09825..2a919ad89f 100644
--- a/libavformat/avformat.c
+++ b/libavformat/avformat.c
@@ -663,6 +663,32 @@ AVRational av_stream_get_codec_timebase(const AVStream *st)
return cffstream(st)->avctx->time_base;
}
+void avpriv_set_pts_info(AVStream *st, int pts_wrap_bits,
+ unsigned int pts_num, unsigned int pts_den)
+{
+ FFStream *const sti = ffstream(st);
+ AVRational new_tb;
+ if (av_reduce(&new_tb.num, &new_tb.den, pts_num, pts_den, INT_MAX)) {
+ if (new_tb.num != pts_num)
+ av_log(NULL, AV_LOG_DEBUG,
+ "st:%d removing common factor %d from timebase\n",
+ st->index, pts_num / new_tb.num);
+ } else
+ av_log(NULL, AV_LOG_WARNING,
+ "st:%d has too large timebase, reducing\n", st->index);
+
+ if (new_tb.num <= 0 || new_tb.den <= 0) {
+ av_log(NULL, AV_LOG_ERROR,
+ "Ignoring attempt to set invalid timebase %d/%d for st:%d\n",
+ new_tb.num, new_tb.den,
+ st->index);
+ return;
+ }
+ st->time_base = new_tb;
+ sti->avctx->pkt_timebase = new_tb;
+ st->pts_wrap_bits = pts_wrap_bits;
+}
+
const AVCodec *ff_find_decoder(AVFormatContext *s, const AVStream *st,
enum AVCodecID codec_id)
{
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 26f44ddfa1..848afa3c35 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -530,32 +530,6 @@ int ff_hex_to_data(uint8_t *data, const char *p)
return len;
}
-void avpriv_set_pts_info(AVStream *st, int pts_wrap_bits,
- unsigned int pts_num, unsigned int pts_den)
-{
- FFStream *const sti = ffstream(st);
- AVRational new_tb;
- if (av_reduce(&new_tb.num, &new_tb.den, pts_num, pts_den, INT_MAX)) {
- if (new_tb.num != pts_num)
- av_log(NULL, AV_LOG_DEBUG,
- "st:%d removing common factor %d from timebase\n",
- st->index, pts_num / new_tb.num);
- } else
- av_log(NULL, AV_LOG_WARNING,
- "st:%d has too large timebase, reducing\n", st->index);
-
- if (new_tb.num <= 0 || new_tb.den <= 0) {
- av_log(NULL, AV_LOG_ERROR,
- "Ignoring attempt to set invalid timebase %d/%d for st:%d\n",
- new_tb.num, new_tb.den,
- st->index);
- return;
- }
- st->time_base = new_tb;
- sti->avctx->pkt_timebase = new_tb;
- st->pts_wrap_bits = pts_wrap_bits;
-}
-
void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf,
void *context)
{
More information about the ffmpeg-cvslog
mailing list