Round image line sizes up to 32. Seems to help with LHS image corruption with both...
[dcpomatic.git] / src / lib / util.h
index bc5a00fc47e2a63b8d8edd3db5f18fd4f52d65c6..244c018554e958b36bbec842d0335401353afeec 100644 (file)
@@ -33,6 +33,13 @@ extern "C" {
 #include <libavcodec/avcodec.h>
 #include <libavfilter/avfilter.h>
 }
+#include "compose.hpp"
+
+#ifdef DVDOMATIC_DEBUG
+#define TIMING(...) _log->microsecond_log (String::compose (__VA_ARGS__), Log::TIMING);
+#else
+#define TIMING(...)
+#endif
 
 class Scaler;
 
@@ -114,9 +121,35 @@ struct Position
        int y;
 };
 
+/** A rectangle */
+struct Rectangle
+{
+       Rectangle ()
+               : x (0)
+               , y (0)
+               , w (0)
+               , h (0)
+       {}
+
+       Rectangle (int x_, int y_, int w_, int h_)
+               : x (x_)
+               , y (y_)
+               , w (w_)
+               , h (h_)
+       {}
+
+       int x;
+       int y;
+       int w;
+       int h;
+
+       Rectangle intersection (Rectangle const & other) const;
+};
+
 extern std::string crop_string (Position, Size);
 extern int dcp_audio_sample_rate (int);
 extern std::string colour_lut_index_to_name (int index);
+extern int round_up (int, int);
 
 /** @class Socket
  *  @brief A class to wrap a boost::asio::ip::tcp::socket with some things