]> git.sesse.net Git - casparcg/blobdiff - core/frame/frame.cpp
2.1.0: -Moved NTSC DV padding into ffmpeg/muxer.
[casparcg] / core / frame / frame.cpp
index fc4d9409f796f79737c251e56fe268ee80e7dbf1..95b1a0372d1d2225531373e83f2637dcd9ab27a2 100644 (file)
@@ -36,20 +36,16 @@ namespace caspar { namespace core {
                \r
 struct mutable_frame::impl : boost::noncopyable\r
 {                      \r
-       std::vector<array<std::uint8_t>>                                        buffers_;\r
+       std::vector<array<std::uint8_t>>                        buffers_;\r
        core::audio_buffer                                                      audio_data_;\r
        const core::pixel_format_desc                           desc_;\r
        const void*                                                                     tag_;\r
-       double                                                                          frame_rate_;\r
-       core::field_mode                                                        field_mode_;\r
        \r
-       impl(std::vector<array<std::uint8_t>> buffers, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc, double frame_rate, core::field_mode field_mode\r
+       impl(std::vector<array<std::uint8_t>> buffers, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc) \r
                : buffers_(std::move(buffers))\r
                , audio_data_(std::move(audio_buffer))\r
                , desc_(desc)\r
                , tag_(tag)\r
-               , frame_rate_(frame_rate)\r
-               , field_mode_(field_mode)\r
        {\r
                BOOST_FOREACH(auto& buffer, buffers_)\r
                        if(!buffer.data())\r
@@ -57,8 +53,8 @@ struct mutable_frame::impl : boost::noncopyable
        }\r
 };\r
        \r
-mutable_frame::mutable_frame(std::vector<array<std::uint8_t>> image_buffers, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc, double frame_rate, core::field_mode field_mode\r
-       : impl_(new impl(std::move(image_buffers), std::move(audio_buffer), tag, desc, frame_rate, field_mode)){}\r
+mutable_frame::mutable_frame(std::vector<array<std::uint8_t>> image_buffers, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc) \r
+       : impl_(new impl(std::move(image_buffers), std::move(audio_buffer), tag, desc)){}\r
 mutable_frame::~mutable_frame(){}\r
 mutable_frame::mutable_frame(mutable_frame&& other) : impl_(std::move(other.impl_)){}\r
 mutable_frame& mutable_frame::operator=(mutable_frame&& other)\r
@@ -72,8 +68,6 @@ const array<std::uint8_t>& mutable_frame::image_data(std::size_t index) const{re
 const core::audio_buffer& mutable_frame::audio_data() const{return impl_->audio_data_;}\r
 array<std::uint8_t>& mutable_frame::image_data(std::size_t index){return impl_->buffers_.at(index);}\r
 core::audio_buffer& mutable_frame::audio_data(){return impl_->audio_data_;}\r
-double mutable_frame::frame_rate() const{return impl_->frame_rate_;}\r
-core::field_mode mutable_frame::field_mode() const{return impl_->field_mode_;}\r
 std::size_t mutable_frame::width() const{return impl_->desc_.planes.at(0).width;}\r
 std::size_t mutable_frame::height() const{return impl_->desc_.planes.at(0).height;}                                            \r
 const void* mutable_frame::stream_tag()const{return impl_->tag_;}                              \r
@@ -93,24 +87,19 @@ struct const_frame::impl : boost::noncopyable
        core::audio_buffer                                                      audio_data_;\r
        const core::pixel_format_desc                           desc_;\r
        const void*                                                                     tag_;\r
-       double                                                                          frame_rate_;\r
-       core::field_mode                                                        field_mode_;\r
 \r
        impl(const void* tag)\r
                : desc_(core::pixel_format::invalid)\r
                , tag_(tag)     \r
                , id_(0)\r
-               , field_mode_(core::field_mode::empty)\r
        {\r
        }\r
        \r
-       impl(boost::shared_future<array<const std::uint8_t>> image, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc, double frame_rate, core::field_mode field_mode\r
+       impl(boost::shared_future<array<const std::uint8_t>> image, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc) \r
                : audio_data_(std::move(audio_buffer))\r
                , desc_(desc)\r
                , tag_(tag)\r
                , id_(reinterpret_cast<int>(this))\r
-               , frame_rate_(frame_rate)\r
-               , field_mode_(field_mode)\r
        {\r
                if(desc.format != core::pixel_format::bgra)\r
                        BOOST_THROW_EXCEPTION(not_implemented());\r
@@ -123,8 +112,6 @@ struct const_frame::impl : boost::noncopyable
                , desc_(other.pixel_format_desc())\r
                , tag_(other.stream_tag())\r
                , id_(reinterpret_cast<int>(this))\r
-               , frame_rate_(other.frame_rate())\r
-               , field_mode_(other.field_mode())\r
        {\r
                for(std::size_t n = 0; n < desc_.planes.size(); ++n)\r
                {\r
@@ -156,8 +143,8 @@ struct const_frame::impl : boost::noncopyable
 };\r
        \r
 const_frame::const_frame(const void* tag) : impl_(new impl(tag)){}\r
-const_frame::const_frame(boost::shared_future<array<const std::uint8_t>> image, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc, double frame_rate, core::field_mode field_mode\r
-       : impl_(new impl(std::move(image), std::move(audio_buffer), tag, desc, frame_rate, field_mode)){}\r
+const_frame::const_frame(boost::shared_future<array<const std::uint8_t>> image, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc) \r
+       : impl_(new impl(std::move(image), std::move(audio_buffer), tag, desc)){}\r
 const_frame::const_frame(mutable_frame&& other) : impl_(new impl(std::move(other))){}\r
 const_frame::~const_frame(){}\r
 const_frame::const_frame(const_frame&& other) : impl_(std::move(other.impl_)){}\r
@@ -179,8 +166,6 @@ bool const_frame::operator>(const const_frame& other){return impl_> other.impl_;
 const core::pixel_format_desc& const_frame::pixel_format_desc()const{return impl_->desc_;}\r
 array<const std::uint8_t> const_frame::image_data(int index)const{return impl_->image_data(index);}\r
 const core::audio_buffer& const_frame::audio_data()const{return impl_->audio_data_;}\r
-double const_frame::frame_rate()const{return impl_->frame_rate_;}\r
-core::field_mode const_frame::field_mode()const{return impl_->field_mode_;}\r
 std::size_t const_frame::width()const{return impl_->width();}\r
 std::size_t const_frame::height()const{return impl_->height();}        \r
 std::size_t const_frame::size()const{return impl_->size();}                                            \r