#include "audio_analyser.h"
-#include "job.h"
#include "audio_point.h"
-#include "types.h"
#include "dcpomatic_time.h"
+#include "job.h"
#include <leqm_nrt.h>
#include <boost/scoped_ptr.hpp>
#include "film.h"
#include "filter.h"
#include "playlist.h"
-#include "types.h"
#include <dcp/warnings.h>
extern "C" {
#include <leqm_nrt.h>
#include "audio_analysis.h"
+#include "audio_content.h"
#include "cross.h"
-#include "util.h"
#include "playlist.h"
-#include "audio_content.h"
+#include "util.h"
#include <dcp/raw_convert.h>
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
class Job;
class Film;
class AtmosContent;
+class AudioContent;
+class TextContent;
+class VideoContent;
class ContentProperty
{
*/
-#include "types.h"
+#include "video_frame_type.h"
#include <dcp/types.h>
#include <boost/optional.hpp>
#include <boost/filesystem.hpp>
#include "dcpomatic_time.h"
#include "film.h"
-#include "types.h"
#include "weak_film.h"
#include <boost/utility.hpp>
#include "player.h"
#include "ratio.h"
#include "text_content.h"
-#include "types.h"
#include "video_content.h"
#include "writer.h"
#include <dcp/cpl.h>
#include "crop.h"
#include "position.h"
#include "position_image.h"
-#include "types.h"
+#include "video_range.h"
extern "C" {
#include <libavutil/pixfmt.h>
}
#include "content.h"
#include "overlaps.h"
-#include "types.h"
using std::function;
#include "dcpomatic_time.h"
#include "frame_rate_change.h"
-#include "types.h"
class Content;
#include "player_text.h"
#include "referenced_reel_asset.h"
#include "render_text.h"
-#include "types.h"
#include "weak_film.h"
#include <dcp/atmos_asset_writer.h>
#include <dcp/file.h>
#include "font_config.h"
#include "image.h"
#include "render_text.h"
-#include "types.h"
#include "util.h"
#include <dcp/raw_convert.h>
#include <dcp/warnings.h>
#include "decoder.h"
#include "rect.h"
-#include "types.h"
#include "content_text.h"
#include "decoder_part.h"
#include <dcp/subtitle_string.h>
}
}
-string
-video_frame_type_to_string (VideoFrameType t)
-{
- switch (t) {
- case VideoFrameType::TWO_D:
- return "2d";
- case VideoFrameType::THREE_D:
- return "3d";
- case VideoFrameType::THREE_D_LEFT_RIGHT:
- return "3d-left-right";
- case VideoFrameType::THREE_D_TOP_BOTTOM:
- return "3d-top-bottom";
- case VideoFrameType::THREE_D_ALTERNATE:
- return "3d-alternate";
- case VideoFrameType::THREE_D_LEFT:
- return "3d-left";
- case VideoFrameType::THREE_D_RIGHT:
- return "3d-right";
- default:
- DCPOMATIC_ASSERT (false);
- }
-
- DCPOMATIC_ASSERT (false);
-}
-
-VideoFrameType
-string_to_video_frame_type (string s)
-{
- if (s == "2d") {
- return VideoFrameType::TWO_D;
- } else if (s == "3d") {
- return VideoFrameType::THREE_D;
- } else if (s == "3d-left-right") {
- return VideoFrameType::THREE_D_LEFT_RIGHT;
- } else if (s == "3d-top-bottom") {
- return VideoFrameType::THREE_D_TOP_BOTTOM;
- } else if (s == "3d-alternate") {
- return VideoFrameType::THREE_D_ALTERNATE;
- } else if (s == "3d-left") {
- return VideoFrameType::THREE_D_LEFT;
- } else if (s == "3d-right") {
- return VideoFrameType::THREE_D_RIGHT;
- }
-
- DCPOMATIC_ASSERT (false);
-}
-
CPLSummary::CPLSummary (boost::filesystem::path p)
: dcp_directory (p.leaf().string())
{
}
-string
-video_range_to_string (VideoRange r)
-{
- switch (r) {
- case VideoRange::FULL:
- return "full";
- case VideoRange::VIDEO:
- return "video";
- default:
- DCPOMATIC_ASSERT (false);
- }
-}
-
-
-VideoRange
-string_to_video_range (string s)
-{
- if (s == "full") {
- return VideoRange::FULL;
- } else if (s == "video") {
- return VideoRange::VIDEO;
- }
-
- DCPOMATIC_ASSERT (false);
- return VideoRange::FULL;
-}
-
typedef int64_t Frame;
-enum class VideoFrameType
-{
- TWO_D,
- /** `True' 3D content, e.g. 3D DCPs */
- THREE_D,
- THREE_D_LEFT_RIGHT,
- THREE_D_TOP_BOTTOM,
- THREE_D_ALTERNATE,
- /** This content is all the left frames of some 3D */
- THREE_D_LEFT,
- /** This content is all the right frames of some 3D */
- THREE_D_RIGHT
-};
-
-std::string video_frame_type_to_string (VideoFrameType);
-VideoFrameType string_to_video_frame_type (std::string);
-
enum class Eyes
{
BOTH,
};
-enum class VideoRange
-{
- FULL, ///< full, or "JPEG" (0-255 for 8-bit)
- VIDEO ///< video, or "MPEG" (16-235 for 8-bit)
-};
-
-extern std::string video_range_to_string (VideoRange r);
-extern VideoRange string_to_video_range (std::string s);
-
-
/** Type of captions.
*
* The generally accepted definitions seem to be:
#include "dcpomatic_time.h"
#include "pixel_quanta.h"
#include "user_property.h"
+#include "video_frame_type.h"
+#include "video_range.h"
#include <dcp/language_tag.h>
#include <boost/thread/mutex.hpp>
--- /dev/null
+/*
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "dcpomatic_assert.h"
+#include "video_frame_type.h"
+
+
+using std::string;
+
+
+string
+video_frame_type_to_string(VideoFrameType t)
+{
+ switch (t) {
+ case VideoFrameType::TWO_D:
+ return "2d";
+ case VideoFrameType::THREE_D:
+ return "3d";
+ case VideoFrameType::THREE_D_LEFT_RIGHT:
+ return "3d-left-right";
+ case VideoFrameType::THREE_D_TOP_BOTTOM:
+ return "3d-top-bottom";
+ case VideoFrameType::THREE_D_ALTERNATE:
+ return "3d-alternate";
+ case VideoFrameType::THREE_D_LEFT:
+ return "3d-left";
+ case VideoFrameType::THREE_D_RIGHT:
+ return "3d-right";
+ default:
+ DCPOMATIC_ASSERT (false);
+ }
+
+ DCPOMATIC_ASSERT (false);
+}
+
+VideoFrameType
+string_to_video_frame_type(string s)
+{
+ if (s == "2d") {
+ return VideoFrameType::TWO_D;
+ } else if (s == "3d") {
+ return VideoFrameType::THREE_D;
+ } else if (s == "3d-left-right") {
+ return VideoFrameType::THREE_D_LEFT_RIGHT;
+ } else if (s == "3d-top-bottom") {
+ return VideoFrameType::THREE_D_TOP_BOTTOM;
+ } else if (s == "3d-alternate") {
+ return VideoFrameType::THREE_D_ALTERNATE;
+ } else if (s == "3d-left") {
+ return VideoFrameType::THREE_D_LEFT;
+ } else if (s == "3d-right") {
+ return VideoFrameType::THREE_D_RIGHT;
+ }
+
+ DCPOMATIC_ASSERT(false);
+}
+
--- /dev/null
+/*
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#ifndef DCPOMATIC_VIDEO_FRAME_TYPE_H
+#define DCPOMATIC_VIDEO_FRAME_TYPE_H
+
+
+#include <string>
+
+
+enum class VideoFrameType
+{
+ TWO_D,
+ /** `True' 3D content, e.g. 3D DCPs */
+ THREE_D,
+ THREE_D_LEFT_RIGHT,
+ THREE_D_TOP_BOTTOM,
+ THREE_D_ALTERNATE,
+ /** This content is all the left frames of some 3D */
+ THREE_D_LEFT,
+ /** This content is all the right frames of some 3D */
+ THREE_D_RIGHT
+};
+
+
+std::string video_frame_type_to_string(VideoFrameType);
+VideoFrameType string_to_video_frame_type(std::string);
+
+
+#endif
--- /dev/null
+/*
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "dcpomatic_assert.h"
+#include "video_range.h"
+
+
+using std::string;
+
+
+string
+video_range_to_string(VideoRange r)
+{
+ switch (r) {
+ case VideoRange::FULL:
+ return "full";
+ case VideoRange::VIDEO:
+ return "video";
+ default:
+ DCPOMATIC_ASSERT (false);
+ }
+}
+
+
+VideoRange
+string_to_video_range(string s)
+{
+ if (s == "full") {
+ return VideoRange::FULL;
+ } else if (s == "video") {
+ return VideoRange::VIDEO;
+ }
+
+ DCPOMATIC_ASSERT (false);
+ return VideoRange::FULL;
+}
+
+
--- /dev/null
+/*
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#ifndef DCPOMATIC_VIDEO_RANGE_H
+#define DCPOMATIC_VIDEO_RANGE_H
+
+
+#include <string>
+
+
+enum class VideoRange
+{
+ FULL, ///< full, or "JPEG" (0-255 for 8-bit)
+ VIDEO ///< video, or "MPEG" (16-235 for 8-bit)
+};
+
+
+extern std::string video_range_to_string(VideoRange r);
+extern VideoRange string_to_video_range(std::string s);
+
+
+#endif
+
+
video_decoder.cc
video_filter_graph.cc
video_filter_graph_set.cc
+ video_frame_type.cc
video_mxf_content.cc
video_mxf_decoder.cc
video_mxf_examiner.cc
+ video_range.cc
video_ring_buffers.cc
writer.cc
zipper.cc
#include "dcpomatic_spin_ctrl.h"
#include "wx_util.h"
#include "lib/config.h"
-#include "lib/types.h"
AutoCropDialog::AutoCropDialog (wxWindow* parent, Crop crop)
#include "content_menu.h"
#include "lib/enum_indexed_vector.h"
#include "lib/film.h"
-#include "lib/types.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/splitter.h>
#include "lib/dcpomatic_time.h"
#include "lib/film.h"
-#include "lib/types.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
*/
+
#include "lib/types.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
LIBDCP_ENABLE_WARNINGS
#include <boost/filesystem.hpp>
+
class KDMCPLPanel : public wxPanel
{
public:
#include "timeline_view.h"
#include "lib/change_signaller.h"
-#include "lib/types.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
#include "content_widget.h"
#include "timecode.h"
#include "lib/film.h"
+#include "lib/video_frame_type.h"
class CheckBox;
#include "lib/content.h"
#include "lib/content_factory.h"
#include "lib/guess_crop.h"
-#include "lib/types.h"
#include "lib/video_content.h"
#include "test.h"
#include <boost/test/unit_test.hpp>
*/
-#include "lib/types.h"
+#include "lib/video_frame_type.h"
+#include <dcp/types.h>
#include <dcp/verify.h>
#include <boost/filesystem.hpp>
#include <vector>
+class Content;
class Film;
class Image;
class Log;