projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Partial hacks to use of libdcp 1.0.
[dcpomatic.git]
/
src
/
lib
/
types.h
diff --git
a/src/lib/types.h
b/src/lib/types.h
index 01560ba81fdedbd9eb643a816adb002b45acaace..a1b40f29939c87a050dd9f4a04cd85f591de8c0b 100644
(file)
--- a/
src/lib/types.h
+++ b/
src/lib/types.h
@@
-26,6
+26,10
@@
#include <libdcp/util.h>
class Content;
#include <libdcp/util.h>
class Content;
+class VideoContent;
+class AudioContent;
+class SubtitleContent;
+class FFmpegContent;
class AudioBuffers;
/** The version number of the protocol used to communicate
class AudioBuffers;
/** The version number of the protocol used to communicate
@@
-34,12
+38,17
@@
class AudioBuffers;
*/
#define SERVER_LINK_VERSION 1
*/
#define SERVER_LINK_VERSION 1
-typedef int64_t Time;
+typedef int64_t
DCP
Time;
#define TIME_MAX INT64_MAX
#define TIME_MAX INT64_MAX
-#define TIME_HZ ((Time) 96000)
-typedef int64_t OutputAudioFrame;
-typedef int OutputVideoFrame;
+#define TIME_HZ ((DCPTime) 96000)
+typedef int64_t ContentTime;
+typedef int64_t AudioFrame;
+typedef int VideoFrame;
typedef std::vector<boost::shared_ptr<Content> > ContentList;
typedef std::vector<boost::shared_ptr<Content> > ContentList;
+typedef std::vector<boost::shared_ptr<VideoContent> > VideoContentList;
+typedef std::vector<boost::shared_ptr<AudioContent> > AudioContentList;
+typedef std::vector<boost::shared_ptr<SubtitleContent> > SubtitleContentList;
+typedef std::vector<boost::shared_ptr<FFmpegContent> > FFmpegContentList;
template<class T>
struct TimedAudioBuffers
template<class T>
struct TimedAudioBuffers
@@
-60,7
+69,8
@@
struct TimedAudioBuffers
enum VideoFrameType
{
VIDEO_FRAME_TYPE_2D,
enum VideoFrameType
{
VIDEO_FRAME_TYPE_2D,
- VIDEO_FRAME_TYPE_3D_LEFT_RIGHT
+ VIDEO_FRAME_TYPE_3D_LEFT_RIGHT,
+ VIDEO_FRAME_TYPE_3D_TOP_BOTTOM
};
enum Eyes
};
enum Eyes
@@
-87,6
+97,21
@@
struct Crop
int top;
/** Number of pixels to remove from the bottom */
int bottom;
int top;
/** Number of pixels to remove from the bottom */
int bottom;
+
+ dcp::Size apply (dcp::Size s, int minimum = 4) const {
+ s.width -= left + right;
+ s.height -= top + bottom;
+
+ if (s.width < minimum) {
+ s.width = minimum;
+ }
+
+ if (s.height < minimum) {
+ s.height = minimum;
+ }
+
+ return s;
+ }
};
extern bool operator== (Crop const & a, Crop const & b);
};
extern bool operator== (Crop const & a, Crop const & b);