mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 08:41:15 +00:00
LibGfx: Remove a redundant copy of all data when writing a BMP
This commit is contained in:
parent
f1a3028ef1
commit
833d0d95c9
Notes:
sideshowbarker
2024-07-17 00:37:23 +09:00
Author: https://github.com/nico Commit: https://github.com/SerenityOS/serenity/commit/833d0d95c9 Pull-request: https://github.com/SerenityOS/serenity/pull/17826 Reviewed-by: https://github.com/linusg ✅
|
@ -72,7 +72,7 @@ ErrorOr<ByteBuffer> 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 const> 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());
|
||||
|
|
|
@ -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 };
|
||||
|
||||
|
|
Loading…
Reference in a new issue