aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/demux.h
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-05-06 18:37:18 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-05-10 07:37:43 +0200
commit3cfae9e038a501d89af6cd11b6843e31dcf3c161 (patch)
treee65510d0b0253e1f05d96686f02a5339a8abb541 /libavformat/demux.h
parent35ec5c819b0f472536eb48e8f3871eb5ca222da6 (diff)
downloadffmpeg-3cfae9e038a501d89af6cd11b6843e31dcf3c161.tar.gz
avformat/internal: Move definition of FFStream->info to demux.h
It is only used by avformat_find_stream_info(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/demux.h')
-rw-r--r--libavformat/demux.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libavformat/demux.h b/libavformat/demux.h
index f003d81f52..c667f304a5 100644
--- a/libavformat/demux.h
+++ b/libavformat/demux.h
@@ -26,6 +26,35 @@
#include "libavcodec/packet.h"
#include "avformat.h"
+#define MAX_STD_TIMEBASES (30*12+30+3+6)
+typedef struct FFStreamInfo {
+ int64_t last_dts;
+ int64_t duration_gcd;
+ int duration_count;
+ int64_t rfps_duration_sum;
+ double (*duration_error)[2][MAX_STD_TIMEBASES];
+ int64_t codec_info_duration;
+ int64_t codec_info_duration_fields;
+ int frame_delay_evidence;
+
+ /**
+ * 0 -> decoder has not been searched for yet.
+ * >0 -> decoder found
+ * <0 -> decoder with codec_id == -found_decoder has not been found
+ */
+ int found_decoder;
+
+ int64_t last_duration;
+
+ /**
+ * Those are used for average framerate estimation.
+ */
+ int64_t fps_first_dts;
+ int fps_first_dts_idx;
+ int64_t fps_last_dts;
+ int fps_last_dts_idx;
+} FFStreamInfo;
+
#define RELATIVE_TS_BASE (INT64_MAX - (1LL << 48))
static av_always_inline int is_relative(int64_t ts)