MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ setup_dimensions()

void MayaFlux::Kakshya::WindowContainer::setup_dimensions ( )
private

Definition at line 82 of file WindowContainer.cpp.

83{
84 const auto& state = m_window->get_state();
85 const uint32_t w = state.current_width;
86 const uint32_t h = state.current_height;
87 const uint32_t c = m_window->get_create_info().container_format.color_channels;
88 const size_t sz = static_cast<size_t>(w) * h * c;
89
91
94 { static_cast<uint64_t>(m_frame_capacity),
95 static_cast<uint64_t>(h),
96 static_cast<uint64_t>(w),
97 static_cast<uint64_t>(c) },
99
100 m_data.resize(m_frame_capacity);
101 for (auto& slot : m_data)
102 slot = std::vector<uint8_t>(sz, 0U);
103
105 m_normalised_dirty = std::vector<std::atomic<bool>>(m_frame_capacity);
106 for (auto& flag : m_normalised_dirty)
107 flag.store(true, std::memory_order_relaxed);
108
109 m_processed_data.resize(1);
110 m_processed_data[0] = std::vector<uint8_t>(sz, 0U);
111}
uint32_t h
Definition InkPress.cpp:28
std::shared_ptr< Core::Window > m_window
std::vector< std::vector< float > > m_normalised_cache
std::vector< DataVariant > m_processed_data
std::vector< std::atomic< bool > > m_normalised_dirty
std::vector< DataVariant > m_data
@ VIDEO_COLOR
4D video (time + 2D + color)
@ ROW_MAJOR
C/C++ style (last dimension varies fastest)
std::shared_ptr< T > store(std::shared_ptr< T > obj)
Transfer ownership of an existing object to the persistent store for process lifetime.
Definition Persist.hpp:28
static ContainerDataStructure image_interleaved()
Create structure for interleaved image data.
static std::vector< DataDimension > create_dimensions(DataModality modality, const std::vector< uint64_t > &shape, MemoryLayout layout=MemoryLayout::ROW_MAJOR)
Create dimension descriptors for a data modality.
Definition NDData.cpp:136

References MayaFlux::Kakshya::DataDimension::create_dimensions(), MayaFlux::Kakshya::ContainerDataStructure::dimensions, h, MayaFlux::Kakshya::ContainerDataStructure::image_interleaved(), m_data, m_frame_capacity, m_normalised_cache, m_normalised_dirty, m_processed_data, m_structure, m_window, MayaFlux::Kakshya::ROW_MAJOR, and MayaFlux::Kakshya::VIDEO_COLOR.

Referenced by handle_surface_resize(), and WindowContainer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: