feat(ricepp): slight decode perf boost

This commit is contained in:
Marcus Holland-Moritz 2024-02-23 21:07:29 +01:00
parent 22f753340a
commit 3b7d6ed861

View File

@ -60,9 +60,7 @@ void decode_block(V block, BitstreamReader& reader, PixelTraits const& traits,
auto const fs = fsp1 - 1; auto const fs = fsp1 - 1;
for (auto& b : block) { for (auto& b : block) {
value_type diff = reader.find_first_set() << fs; value_type diff = reader.find_first_set() << fs;
if (fs > 0) {
diff |= reader.template read_bits<value_type>(fs); diff |= reader.template read_bits<value_type>(fs);
}
last += static_cast<std::make_signed_t<value_type>>( last += static_cast<std::make_signed_t<value_type>>(
(diff & 1) ? ~(diff >> 1) : (diff >> 1)); (diff & 1) ? ~(diff >> 1) : (diff >> 1));
b = traits.write(last); b = traits.write(last);