From 833d0d95c9cf2068081327b20c191c1612fcd020 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Sun, 12 Mar 2023 12:15:08 -0400 Subject: [PATCH] LibGfx: Remove a redundant copy of all data when writing a BMP --- Userland/Libraries/LibGfx/BMPWriter.cpp | 4 ++-- Userland/Libraries/LibGfx/BMPWriter.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibGfx/BMPWriter.cpp b/Userland/Libraries/LibGfx/BMPWriter.cpp index 0a1fd43afa..1b8236f153 100644 --- a/Userland/Libraries/LibGfx/BMPWriter.cpp +++ b/Userland/Libraries/LibGfx/BMPWriter.cpp @@ -72,7 +72,7 @@ ErrorOr BMPWriter::encode(Bitmap const& bitmap, Options options) return BMPWriter().dump(bitmap, options); } -ByteBuffer BMPWriter::compress_pixel_data(ByteBuffer const& pixel_data, BMPWriter::Compression compression) +ByteBuffer BMPWriter::compress_pixel_data(ByteBuffer pixel_data, BMPWriter::Compression compression) { switch (compression) { case BMPWriter::Compression::BI_BITFIELDS: @@ -112,7 +112,7 @@ ByteBuffer BMPWriter::dump(RefPtr bitmap, Options options) auto buffer = buffer_result.release_value(); auto pixel_data = write_pixel_data(bitmap, pixel_row_data_size, m_bytes_per_pixel, m_include_alpha_channel); - pixel_data = compress_pixel_data(pixel_data, m_compression); + pixel_data = compress_pixel_data(move(pixel_data), m_compression); size_t file_size = pixel_data_offset + pixel_data.size(); OutputStreamer streamer(buffer.data()); diff --git a/Userland/Libraries/LibGfx/BMPWriter.h b/Userland/Libraries/LibGfx/BMPWriter.h index 467540b55b..88ef0852f3 100644 --- a/Userland/Libraries/LibGfx/BMPWriter.h +++ b/Userland/Libraries/LibGfx/BMPWriter.h @@ -37,7 +37,7 @@ private: BI_BITFIELDS = 3, }; - static ByteBuffer compress_pixel_data(ByteBuffer const&, Compression); + static ByteBuffer compress_pixel_data(ByteBuffer, Compression); Compression m_compression { Compression::BI_BITFIELDS };