]> git.sesse.net Git - casparcg/blobdiff - core/video_format.h
2.0. ffmpeg: Header file optimization and fixes.
[casparcg] / core / video_format.h
index 32877919b8017a92059b487a5ac7da9b512d9613..3bac87d69ce6da9c7bc4437d422e24836fb7f436 100644 (file)
@@ -55,12 +55,26 @@ struct video_mode
 { \r
        enum type\r
        {\r
-               progressive,\r
+               progressive = 0,\r
                lower,\r
                upper,\r
-               count,\r
-               invalid\r
+               count\r
        };\r
+\r
+       static std::wstring print(video_mode::type value)\r
+       {\r
+               switch(value)\r
+               {\r
+                       case progressive:\r
+                               return L"progressive"; \r
+                       case lower:\r
+                               return L"lower";\r
+                       case upper:\r
+                               return L"upper";\r
+                       default:\r
+                               return L"invalid";\r
+               }\r
+       }\r
 };\r
 \r
 struct video_format_desc\r
@@ -71,10 +85,17 @@ struct video_format_desc
        size_t                                  height;         // output frame height\r
        video_mode::type                mode;           // progressive, interlaced upper field first, interlaced lower field first\r
        double                                  fps;            // actual framerate, e.g. i50 = 25 fps, p50 = 50 fps\r
-       double                                  interval;       // time between frames\r
+       size_t                                  time_scale;\r
+       size_t                                  duration;\r
+       size_t                                  field_count;\r
        size_t                                  size;           // output frame size in bytes \r
        std::wstring                    name;           // name of output format\r
 \r
+       size_t                                  audio_bytes_per_sample;\r
+       size_t                                  audio_sample_rate;\r
+       size_t                                  audio_channels;\r
+       size_t                                  audio_samples_per_frame;\r
+\r
        static const video_format_desc& get(video_format::type format);\r
        static const video_format_desc& get(const std::wstring& name);\r
 };\r