INNER CODE UNIT · C++
image
7thSamurai/steganography · src/image.cpp:34
auto image = this->image.get() + offset;
if (level == EncodingLevel::Low) {
for (auto i = 0; i < size; i++, image += 8) {
image[0] = (image[0] & ~0b1) | ((data[i] >> 0) & 0b1);
image[1] = (image[1] & ~0b1) | ((data[i] >> 1) & 0b1);
image[2] = (image[2] & ~0b1) | ((data[i] >> 2) & 0b1);
image[3] = (image[3] & ~0b1) | ((data[i] >> 3) & 0b1);
image[4] = (image[4] & ~0b1) | ((data[i] >> 4) & 0b1);
image[5] = (image[5] & ~0b1) | ((data[i] >> 5) & 0b1);
image[6] = (image[6] & ~0b1) | ((data[i] >> 6) & 0b1);
image[7] = (image[7] & ~0b1) | ((data[i] >> 7) & 0b1);
}
}
else if (level == EncodingLevel::Med) {
for (auto i = 0; i < size; i++, image += 4) {
image[0] = (image[0] & ~0b11) | ((data[i] >> 0) & 0b11);