Browse Source

libobs/media-io: Add frame rate helpers

Palana 10 years ago
parent
commit
95487c3eec
2 changed files with 34 additions and 1 deletions
  1. 2 1
      libobs/CMakeLists.txt
  2. 32 0
      libobs/media-io/frame-rate.h

+ 2 - 1
libobs/CMakeLists.txt

@@ -212,7 +212,8 @@ set(libobs_mediaio_HEADERS
 	media-io/format-conversion.h
 	media-io/format-conversion.h
 	media-io/audio-resampler.h
 	media-io/audio-resampler.h
 	media-io/video-scaler.h
 	media-io/video-scaler.h
-	media-io/media-remux.h)
+	media-io/media-remux.h
+	media-io/frame-rate.h)
 
 
 set(libobs_util_SOURCES
 set(libobs_util_SOURCES
 	util/array-serializer.c
 	util/array-serializer.c

+ 32 - 0
libobs/media-io/frame-rate.h

@@ -0,0 +1,32 @@
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct media_frames_per_second {
+	uint32_t numerator;
+	uint32_t denominator;
+};
+
+static inline double media_frames_per_second_to_frame_interval(
+		struct media_frames_per_second fps)
+{
+	return (double)fps.denominator / fps.numerator;
+}
+
+static inline double media_frames_per_second_to_fps(
+		struct media_frames_per_second fps)
+{
+	return (double)fps.numerator / fps.denominator;
+}
+
+static inline bool media_frames_per_second_is_valid(
+		struct media_frames_per_second fps)
+{
+	return fps.numerator && fps.denominator;
+}
+
+#ifdef __cplusplus
+}
+#endif