MCPcopy Create free account
hub / github.com/ARM-software/astc-encoder / ChannelsInLayer

Function ChannelsInLayer

Source/ThirdParty/tinyexr.h:7636–7660  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7634};
7635
7636static void ChannelsInLayer(const EXRHeader &exr_header,
7637 const std::string &layer_name,
7638 std::vector<LayerChannel> &channels) {
7639 channels.clear();
7640 //std::cout << "layer_name = " << layer_name << "\n";
7641 for (int c = 0; c < exr_header.num_channels; c++) {
7642 //std::cout << "chan[" << c << "] = " << exr_header.channels[c].name << "\n";
7643 std::string ch_name(exr_header.channels[c].name);
7644 if (layer_name.empty()) {
7645 const size_t pos = ch_name.find_last_of('.');
7646 if (pos != std::string::npos && pos < ch_name.size()) {
7647 if (pos != 0) continue;
7648 ch_name = ch_name.substr(pos + 1);
7649 }
7650 } else {
7651 const size_t pos = ch_name.find(layer_name + '.');
7652 if (pos == std::string::npos) continue;
7653 if (pos == 0) {
7654 ch_name = ch_name.substr(layer_name.size() + 1);
7655 }
7656 }
7657 LayerChannel ch(size_t(c), ch_name);
7658 channels.push_back(ch);
7659 }
7660}
7661
7662} // namespace tinyexr
7663

Callers 1

LoadEXRWithLayerFunction · 0.85

Calls 1

clearMethod · 0.80

Tested by

no test coverage detected