summaryrefslogtreecommitdiff
path: root/libavformat/demux.h
diff options
context:
space:
mode:
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)