UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
image_pattern_raw Class Reference
Inheritance diagram for image_pattern_raw:
Inheritance graph
Collaboration diagram for image_pattern_raw:
Collaboration graph

Public Member Functions

 image_pattern_raw (string config)
 
void raw_fill (unsigned char *data, size_t data_len)
 
- Public Member Functions inherited from image_pattern
 image_pattern ()=default
 
 image_pattern (const image_pattern &)=delete
 
 image_pattern (image_pattern &&)=delete
 
virtual ~image_pattern ()=default
 
auto init (int width, int height, enum generator_depth depth) noexcept
 
image_pattern & operator= (const image_pattern &)=delete
 
image_pattern && operator= (image_pattern &&)=delete
 

Private Member Functions

enum generator_depth fill (int width, int height, unsigned char *data) override
 

Private Attributes

vector< unsigned char > m_pattern
 

Additional Inherited Members

- Static Public Member Functions inherited from image_pattern
static unique_ptr< image_pattern > create (string const &pattern, string const &params)
 

Detailed Description

Definition at line 493 of file video_pattern_generator.cpp.

Constructor & Destructor Documentation

◆ image_pattern_raw()

image_pattern_raw::image_pattern_raw ( string config)
inlineexplicit

Definition at line 495 of file video_pattern_generator.cpp.

495 {
496 if (config.empty()) {
497 throw ug_runtime_error("Empty raw pattern is not allowed!");
498 }
499 if (config.substr(0, "0x"s.length()) == "0x") { // strip optional "0x"
500 config = config.substr(2);
501 }
502 while (!config.empty()) {
503 unsigned char byte = 0;
504 if (sscanf(config.c_str(), "%2hhx", &byte) == 1) {
505 m_pattern.push_back(byte);
506 }
507 config = config.substr(min<size_t>(config.size(), 2));
508 }
509 }
vector< unsigned char > m_pattern

References m_pattern.

Member Function Documentation

◆ fill()

enum generator_depth image_pattern_raw::fill ( int width,
int height,
unsigned char * data )
inlineoverrideprivatevirtual
Return values
bitdepth used by the generator (either 8 or 16)

Implements image_pattern.

Definition at line 519 of file video_pattern_generator.cpp.

519 {
520 memset(data, 0, width * height * 3); // placeholder only
522 }

References bits8.

◆ raw_fill()

void image_pattern_raw::raw_fill ( unsigned char * data,
size_t data_len )
inline

Definition at line 511 of file video_pattern_generator.cpp.

511 {
512 while (data_len >= m_pattern.size()) {
513 copy(m_pattern.begin(), m_pattern.end(), data);
514 data += m_pattern.size();
515 data_len -= m_pattern.size();
516 }
517 }

References m_pattern.

Member Data Documentation

◆ m_pattern

vector<unsigned char> image_pattern_raw::m_pattern
private

Definition at line 523 of file video_pattern_generator.cpp.

Referenced by image_pattern_raw(), and raw_fill().


The documentation for this class was generated from the following file: