From eed44dff9799211ce4837cf348571b504df644ed Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Fri, 30 Oct 2020 13:11:35 +0000 Subject: [PATCH] Use make_unique; remove unnecessary cast --- codecs/jxl/dec/jxl_dec.cpp | 7 +++---- codecs/jxl/dec/jxl_dec.wasm | Bin 327185 -> 327240 bytes 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/codecs/jxl/dec/jxl_dec.cpp b/codecs/jxl/dec/jxl_dec.cpp index b977006e..e2282b38 100644 --- a/codecs/jxl/dec/jxl_dec.cpp +++ b/codecs/jxl/dec/jxl_dec.cpp @@ -42,13 +42,12 @@ val decode(std::string data) { JxlDecoderGetColorAsICCProfile(dec.get(), JXL_COLOR_PROFILE_TARGET_DATA, icc_profile.data(), icc_profile.size())); - std::unique_ptr float_pixels(new float[(buffer_size + 3) / 4]); + auto float_pixels = std::make_unique((buffer_size + 3) / 4); EXPECT_EQ(JXL_DEC_SUCCESS, - JxlDecoderSetImageOutBuffer( - dec.get(), &format, reinterpret_cast(float_pixels.get()), buffer_size)); + JxlDecoderSetImageOutBuffer(dec.get(), &format, float_pixels.get(), buffer_size)); EXPECT_EQ(JXL_DEC_FULL_IMAGE, JxlDecoderProcessInput(dec.get(), &next_in, &avail_in)); - std::unique_ptr pixels(new uint8_t[info.xsize * info.ysize * 4]); + auto pixels = std::make_unique(info.xsize * info.ysize * 4); // Convert to sRGB. skcms_ICCProfile jxl_profile; // If the image is encoded in its original color space, the decoded data will be in the color diff --git a/codecs/jxl/dec/jxl_dec.wasm b/codecs/jxl/dec/jxl_dec.wasm index dc7d629f5f4726b1387dff46f3a72a6be02bd89e..8b2b0b6cf35607e6f4abd3ef8a531fcc039f58e4 100644 GIT binary patch delta 17007 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

`#Thkb#u}}jI73r|wJP-?XCe7X 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