From 7e663fe4f54f9b88d60024c713c5c7a5982a42e7 Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Wed, 20 Nov 2024 17:53:17 +0200 Subject: [PATCH] more cleanup --- src/core/libraries/libpng/pngdec.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/core/libraries/libpng/pngdec.cpp b/src/core/libraries/libpng/pngdec.cpp index c430cb285..4c0027165 100644 --- a/src/core/libraries/libpng/pngdec.cpp +++ b/src/core/libraries/libpng/pngdec.cpp @@ -121,19 +121,25 @@ s32 PS4_SYSV_ABI scePngDecDecode(OrbisPngDecHandle handle, const OrbisPngDecDeco u32 width, height; int color_type, bit_depth, interlace_method; png_read_info(pngh->png_ptr, pngh->info_ptr); - png_get_IHDR(pngh->png_ptr, pngh->info_ptr, &width, &height, &bit_depth, &color_type, - &interlace_method, nullptr, nullptr); + + width = png_get_image_width(pngh->png_ptr, pngh->info_ptr); + height = png_get_image_height(pngh->png_ptr, pngh->info_ptr); + color_type = MapPngColor(png_get_color_type(pngh->png_ptr, pngh->info_ptr)); + bit_depth = png_get_bit_depth(pngh->png_ptr, pngh->info_ptr); if (imageInfo != nullptr) { imageInfo->bitDepth = bit_depth; imageInfo->imageWidth = width; imageInfo->imageHeight = height; - imageInfo->colorSpace = MapPngColor(color_type); + imageInfo->colorSpace = color_type; imageInfo->imageFlag = 0; - if (interlace_method == 1) + if (png_get_interlace_type(pngh->png_ptr, pngh->info_ptr) == 1) { imageInfo->imageFlag |= OrbisPngDecImageFlag::ORBIS_PNG_DEC_IMAGE_FLAG_ADAM7_INTERLACE; - if (png_get_valid(pngh->png_ptr, pngh->info_ptr, PNG_INFO_tRNS)) - imageInfo->imageFlag |= OrbisPngDecImageFlag::ORBIS_PNG_DEC_IMAGE_FLAG_TRNS_CHUNK_EXIST; + } + if (png_get_valid(pngh->png_ptr, pngh->info_ptr, PNG_INFO_tRNS)) { + + imageInfo->imageFlag |= ORBIS_PNG_DEC_IMAGE_FLAG_TRNS_CHUNK_EXIST; + } } if (bit_depth == 16)