diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-10-09 09:22:36 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-10-28 14:55:53 +0100 |
commit | cb46a6bcbcb85b3910cc0cce78399686ab8efff6 (patch) | |
tree | 47709e77ce7cd376f91374fe3248d1dc0802b521 | |
parent | 323c9a8c523d772d7439cf386749f0243fecfa9a (diff) | |
download | ffmpeg-cb46a6bcbcb85b3910cc0cce78399686ab8efff6.tar.gz |
lavf: move AVStream.{nb_decoded_frames,mux_ts_offset} to AVStreamInternal
Those are private fields, no reason to have them exposed in a public
header.
-rw-r--r-- | libavformat/avformat.h | 11 | ||||
-rw-r--r-- | libavformat/internal.h | 11 | ||||
-rw-r--r-- | libavformat/mux.c | 6 | ||||
-rw-r--r-- | libavformat/utils.c | 10 |
4 files changed, 19 insertions, 19 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index d652be9ab9..2b42fb7fad 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1152,17 +1152,6 @@ typedef struct AVStream { int64_t last_discard_sample; /** - * Number of internally decoded frames, used internally in libavformat, do not access - * its lifetime differs from info which is why it is not in that structure. - */ - int nb_decoded_frames; - - /** - * Timestamp offset added to timestamps before muxing - */ - int64_t mux_ts_offset; - - /** * An opaque field for libavformat internal usage. * Must not be accessed in any way by callers. */ diff --git a/libavformat/internal.h b/libavformat/internal.h index efa5a8b238..b1112fe463 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -226,6 +226,17 @@ struct AVStreamInternal { } *info; /** + * Number of internally decoded frames, used internally in libavformat, do not access + * its lifetime differs from info which is why it is not in that structure. + */ + int nb_decoded_frames; + + /** + * Timestamp offset added to timestamps before muxing + */ + int64_t mux_ts_offset; + + /** * Internal data to check for wrapping of the time stamp */ int64_t pts_wrap_reference; diff --git a/libavformat/mux.c b/libavformat/mux.c index 44d5e5d1c0..8a2d6370f6 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -678,7 +678,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) if (s->avoid_negative_ts > 0) { AVStream *st = s->streams[pkt->stream_index]; - int64_t offset = st->mux_ts_offset; + int64_t offset = st->internal->mux_ts_offset; int64_t ts = s->internal->avoid_negative_ts_use_pts ? pkt->pts : pkt->dts; if (s->internal->offset == AV_NOPTS_VALUE && ts != AV_NOPTS_VALUE && @@ -688,7 +688,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) } if (s->internal->offset != AV_NOPTS_VALUE && !offset) { - offset = st->mux_ts_offset = + offset = st->internal->mux_ts_offset = av_rescale_q_rnd(s->internal->offset, s->internal->offset_timebase, st->time_base, @@ -1038,7 +1038,7 @@ int ff_interleaved_peek(AVFormatContext *s, int stream, *pkt = pktl->pkt; if (add_offset) { AVStream *st = s->streams[pkt->stream_index]; - int64_t offset = st->mux_ts_offset; + int64_t offset = st->internal->mux_ts_offset; if (s->output_ts_offset) offset += av_rescale_q(s->output_ts_offset, AV_TIME_BASE_Q, st->time_base); diff --git a/libavformat/utils.c b/libavformat/utils.c index 5da286ed57..d1e77d7b24 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1000,11 +1000,11 @@ static int has_decode_delay_been_guessed(AVStream *st) return 1; #endif if (st->internal->avctx->has_b_frames<3) - return st->nb_decoded_frames >= 7; + return st->internal->nb_decoded_frames >= 7; else if (st->internal->avctx->has_b_frames<4) - return st->nb_decoded_frames >= 18; + return st->internal->nb_decoded_frames >= 18; else - return st->nb_decoded_frames >= 20; + return st->internal->nb_decoded_frames >= 20; } static AVPacketList *get_next_pkt(AVFormatContext *s, AVStream *st, AVPacketList *pktl) @@ -2960,7 +2960,7 @@ static int has_codec_parameters(AVStream *st, const char **errmsg_ptr) FAIL("unspecified sample rate"); if (!avctx->channels) FAIL("unspecified number of channels"); - if (st->internal->info->found_decoder >= 0 && !st->nb_decoded_frames && avctx->codec_id == AV_CODEC_ID_DTS) + if (st->internal->info->found_decoder >= 0 && !st->internal->nb_decoded_frames && avctx->codec_id == AV_CODEC_ID_DTS) FAIL("no decodable DTS frames"); break; case AVMEDIA_TYPE_VIDEO: @@ -3067,7 +3067,7 @@ static int try_decode_frame(AVFormatContext *s, AVStream *st, } if (ret >= 0) { if (got_picture) - st->nb_decoded_frames++; + st->internal->nb_decoded_frames++; ret = got_picture; } } |