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 92 of file EXRWriter.cpp.

94{
95 if (!options.channel_names.empty()) {
96 if (options.channel_names.size() != data.channels) {
98 "EXRWriter: channel_names size ({}) does not match channels ({}); "
99 "falling back to defaults",
100 options.channel_names.size(), data.channels);
101 } else {
102 return options.channel_names;
103 }
104 }
105
106 switch (data.channels) {
107 case 1:
108 return { "Y" };
109 case 2:
110 return { "Y", "A" };
111 case 3:
112 return { "B", "G", "R" };
113 case 4:
114 return { "A", "B", "G", "R" };
115 default: {
116 std::vector<std::string> names;
117 names.reserve(data.channels);
118 for (uint32_t i = 0; i < data.channels; ++i) {
119 names.emplace_back("C" + std::to_string(i));
120 }
121 return names;
122 }
123 }
124}
#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: