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

◆ resolve_channel_names()

std::vector< std::string > MayaFlux::IO::EXRWriter::resolve_channel_names ( const ImageData data,
const ImageWriteOptions options 
) const
private

Resolve channel name list based on options and channel count.

Definition at line 89 of file EXRWriter.cpp.

91{
92 if (!options.channel_names.empty()) {
93 if (options.channel_names.size() != data.channels) {
95 "EXRWriter: channel_names size ({}) does not match channels ({}); "
96 "falling back to defaults",
97 options.channel_names.size(), data.channels);
98 } else {
99 return options.channel_names;
100 }
101 }
102
103 switch (data.channels) {
104 case 1:
105 return { "Y" };
106 case 2:
107 return { "Y", "A" };
108 case 3:
109 return { "B", "G", "R" };
110 case 4:
111 return { "A", "B", "G", "R" };
112 default: {
113 std::vector<std::string> names;
114 names.reserve(data.channels);
115 for (uint32_t i = 0; i < data.channels; ++i) {
116 names.emplace_back("C" + std::to_string(i));
117 }
118 return names;
119 }
120 }
121}
#define MF_WARN(comp, ctx,...)
@ FileIO
Filesystem I/O operations.
@ IO
Networking, file handling, streaming.

References MayaFlux::IO::ImageWriteOptions::channel_names, MayaFlux::IO::ImageData::channels, MayaFlux::Journal::FileIO, MayaFlux::Journal::IO, and MF_WARN.

Referenced by write().

+ Here is the caller graph for this function: