projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f8cf68c
)
Basic support for separate 3D left/right sources.
author
Carl Hetherington
<cth@carlh.net>
Tue, 1 Apr 2014 09:02:09 +0000
(10:02 +0100)
committer
Carl Hetherington
<cth@carlh.net>
Tue, 1 Apr 2014 09:02:09 +0000
(10:02 +0100)
ChangeLog
patch
|
blob
|
history
src/lib/types.h
patch
|
blob
|
history
src/lib/video_content.cc
patch
|
blob
|
history
src/lib/video_content.h
patch
|
blob
|
history
src/lib/video_decoder.cc
patch
|
blob
|
history
src/wx/video_panel.cc
patch
|
blob
|
history
diff --git
a/ChangeLog
b/ChangeLog
index c8a9ddf8b405abf92136c80b91c3494fec876669..22fddbeb1fbca95c3271bc0f2e08ab4065c856a5 100644
(file)
--- a/
ChangeLog
+++ b/
ChangeLog
@@
-1,3
+1,8
@@
+2014-04-01 Carl Hetherington <cth@carlh.net>
+
+ * Basic support for separate left/right-eye files or directories
+ for 3D.
+
2014-03-30 Carl Hetherington <cth@carlh.net>
* Version 1.66.9 released.
2014-03-30 Carl Hetherington <cth@carlh.net>
* Version 1.66.9 released.
diff --git
a/src/lib/types.h
b/src/lib/types.h
index 8a16818bddae84b86ecc9d55cf5b5ed600fe547f..c255bd0d8a43acd6c80a9a5a38f4040fa0e82dca 100644
(file)
--- a/
src/lib/types.h
+++ b/
src/lib/types.h
@@
-70,7
+70,11
@@
enum VideoFrameType
VIDEO_FRAME_TYPE_2D,
VIDEO_FRAME_TYPE_3D_LEFT_RIGHT,
VIDEO_FRAME_TYPE_3D_TOP_BOTTOM,
VIDEO_FRAME_TYPE_2D,
VIDEO_FRAME_TYPE_3D_LEFT_RIGHT,
VIDEO_FRAME_TYPE_3D_TOP_BOTTOM,
- VIDEO_FRAME_TYPE_3D_ALTERNATE
+ VIDEO_FRAME_TYPE_3D_ALTERNATE,
+ /** This content is all the left frames of some 3D */
+ VIDEO_FRAME_TYPE_3D_LEFT,
+ /** This content is all the right frames of some 3D */
+ VIDEO_FRAME_TYPE_3D_RIGHT
};
enum Eyes
};
enum Eyes
diff --git
a/src/lib/video_content.cc
b/src/lib/video_content.cc
index 4a1ef95acfc3335995f420685e3f5d1de0a8fd9e..b704b64477b1ceaef7208dafd5ae2e0b775fcd89 100644
(file)
--- a/
src/lib/video_content.cc
+++ b/
src/lib/video_content.cc
@@
-330,6
+330,8
@@
VideoContent::video_size_after_3d_split () const
switch (video_frame_type ()) {
case VIDEO_FRAME_TYPE_2D:
case VIDEO_FRAME_TYPE_3D_ALTERNATE:
switch (video_frame_type ()) {
case VIDEO_FRAME_TYPE_2D:
case VIDEO_FRAME_TYPE_3D_ALTERNATE:
+ case VIDEO_FRAME_TYPE_3D_LEFT:
+ case VIDEO_FRAME_TYPE_3D_RIGHT:
return s;
case VIDEO_FRAME_TYPE_3D_LEFT_RIGHT:
return libdcp::Size (s.width / 2, s.height);
return s;
case VIDEO_FRAME_TYPE_3D_LEFT_RIGHT:
return libdcp::Size (s.width / 2, s.height);
diff --git
a/src/lib/video_content.h
b/src/lib/video_content.h
index f846b7ac97a095e4db0eb95d5fb0a33d17f341f2..fbba9c09da21ea8b015ad441c92e446e4bb9d499 100644
(file)
--- a/
src/lib/video_content.h
+++ b/
src/lib/video_content.h
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013
-2014
Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git
a/src/lib/video_decoder.cc
b/src/lib/video_decoder.cc
index 3ae963a202f7081322f8e9bab5ab525d0d7309cc..2a33a8c3a260d78bc2697f80f217e78d635ff1ff 100644
(file)
--- a/
src/lib/video_decoder.cc
+++ b/
src/lib/video_decoder.cc
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012
-2014
Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-57,6
+57,12
@@
VideoDecoder::video (shared_ptr<const Image> image, bool same, VideoContent::Fra
Video (image->crop (Crop (0, 0, half, 0), true), EYES_RIGHT, same, frame);
break;
}
Video (image->crop (Crop (0, 0, half, 0), true), EYES_RIGHT, same, frame);
break;
}
+ case VIDEO_FRAME_TYPE_3D_LEFT:
+ Video (image, EYES_LEFT, same, frame);
+ break;
+ case VIDEO_FRAME_TYPE_3D_RIGHT:
+ Video (image, EYES_RIGHT, same, frame);
+ break;
}
_video_position = frame + 1;
}
_video_position = frame + 1;
diff --git
a/src/wx/video_panel.cc
b/src/wx/video_panel.cc
index 56848907b3e96a72e2d7d42f9e75af8cb91aed38..ac4c29222b231e9912ca1e7306bbd91f253c8ac2 100644
(file)
--- a/
src/wx/video_panel.cc
+++ b/
src/wx/video_panel.cc
@@
-197,6
+197,8
@@
VideoPanel::VideoPanel (FilmEditor* e)
_frame_type->wrapped()->Append (_("3D left/right"));
_frame_type->wrapped()->Append (_("3D top/bottom"));
_frame_type->wrapped()->Append (_("3D alternate"));
_frame_type->wrapped()->Append (_("3D left/right"));
_frame_type->wrapped()->Append (_("3D top/bottom"));
_frame_type->wrapped()->Append (_("3D alternate"));
+ _frame_type->wrapped()->Append (_("3D left only"));
+ _frame_type->wrapped()->Append (_("3D right only"));
_filters_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_filters_clicked, this));
_colour_conversion_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_colour_conversion_clicked, this));
_filters_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_filters_clicked, this));
_colour_conversion_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&VideoPanel::edit_colour_conversion_clicked, this));