Get rid of raw pointers

This commit is contained in:
2023-06-17 21:47:06 +02:00
parent d9b1c253db
commit 9ffbdcee30
6 changed files with 38 additions and 48 deletions
+3 -3
View File
@@ -496,14 +496,14 @@ void RawImage::downscaleTo(uint32_t size)
}*/
}
RawImage *RawImage::fromPlanar(const RawImage &img)
std::shared_ptr<RawImage> RawImage::fromPlanar(const RawImage &img)
{
return RawImage::fromPlanar(img.data(), img.width(), img.height(), img.channels(), img.type());
}
RawImage *RawImage::fromPlanar(const void *pixels, uint32_t w, uint32_t h, uint32_t ch, RawImage::DataType type)
std::shared_ptr<RawImage> RawImage::fromPlanar(const void *pixels, uint32_t w, uint32_t h, uint32_t ch, RawImage::DataType type)
{
RawImage *image = new RawImage(w, h, ch, type);
std::shared_ptr<RawImage> image = std::make_shared<RawImage>(w, h, ch, type);
size_t size = w * h;
size_t ch2 = ch == 1 ? 1 : 4;
auto convert = [&](auto *in, auto *out, auto alpha)