diff options
Diffstat (limited to 'kde-frameworks/kimageformats')
-rw-r--r-- | kde-frameworks/kimageformats/Manifest | 3 | ||||
-rw-r--r-- | kde-frameworks/kimageformats/files/kimageformats-5.99.0-jxl-perf.patch | 116 | ||||
-rw-r--r-- | kde-frameworks/kimageformats/kimageformats-5.99.0-r3.ebuild (renamed from kde-frameworks/kimageformats/kimageformats-5.99.0-r2.ebuild) | 1 |
3 files changed, 119 insertions, 1 deletions
diff --git a/kde-frameworks/kimageformats/Manifest b/kde-frameworks/kimageformats/Manifest index 94a5ce147cd5..0bcd22863f2a 100644 --- a/kde-frameworks/kimageformats/Manifest +++ b/kde-frameworks/kimageformats/Manifest @@ -2,8 +2,9 @@ AUX kimageformats-5.99.0-avif-0.11.0.patch 1916 BLAKE2B eacae65d69c93e4d4f5f5444 AUX kimageformats-5.99.0-avif-perf-1.patch 932 BLAKE2B 7ba0835e0c21fc65450e8495a209bf11741173dfa147ac9de5cca820e7317960dd98bbf511eec1f9589939db8217581c788084e31e164dd7db41466de9d048bf SHA512 7d35cd83f964ed8bc21d8bec7385dae5f7e822e0f446087d04b1d5da168d7de1815c000479f512bba906ae7087b1a5fb34b5820583cbe9bec12eb724c0bd6133 AUX kimageformats-5.99.0-avif-perf-2.patch 931 BLAKE2B aee4fe26f92a816a484faa25f43c866dcadb003d374364990ea075587f97d09f7b9d6f0cc07b0ad86958d3bd64442a16d74d2660d97f94b7aedd27d867aed759 SHA512 8b007bd6d9a5ba59f8e4ca764849eccd6c92cb3a84a1bf84204bfc2b759c604cb1322f0110b98a9d6dbc75d67c6819c4b90da65f259b6448ec4e1fac12ce4952 AUX kimageformats-5.99.0-avif-perf-3.patch 2384 BLAKE2B 4dcf3b0a1d0300d55b87829dc81109eca3626a499ca81182b23b59e9031f929af727bdf86f984bcee0ffa02dd7b60a2bfab4fc8d2f59abeb37e23eb91741d83b SHA512 7876246e20a8c1203b780f7a0566508801e8cb8ad04059202090559ca8968ac6e4185a458ad67c7a575aa896d001b1eb0aec44c737bd4ba829a6665abdaa7713 +AUX kimageformats-5.99.0-jxl-perf.patch 3437 BLAKE2B 2db2debc1ce40682d310d0fc4c84f29a7f745ec010ca35e07684e221a9d586d2ced559f89ca2d719a2b99cf7d0917678d3b5ca735a75f5794e853d02072dfcde SHA512 3c2033e0d28da88d13b032d84959f49b98cc4677bbd42e5794b0e48a16f8a456569aeebe06a38ff7b5cb1ed3dc0c6fb11ecff7a734c9c94c549a7ee7a9166505 DIST kimageformats-5.96.0.tar.xz 3589112 BLAKE2B 2a9e5f72b09e27ebb561013f816b41e9ef8be9d874074ddd014f631a57f0da79cc2785d3d528f9ea9f76b940075f0f7649aca57c8ff20a376f5ffa3adea80eb1 SHA512 37e51279824df05391647d45125676127d5570d4ed0905d2378dd627c3542d61f6f43bdd4e6f28ef43268127d120c1d2829a5cba34dde1ba7427b9051d241c1c DIST kimageformats-5.99.0.tar.xz 12298368 BLAKE2B e1ae582992368031212699598b2a38a1010c08d89ca963bda0c39a0bbf954c88efa7ad4fc88019fea68afb328d624667188d82fee4317f4b893a234e66d640c5 SHA512 e6e456915d2ec0f9ef16400b4bb299fda7eaf28d8c66ef8e91fc700a711c65313785b8de64a310031ab362f507ef72922d7769bee232862e25ee8f4d44f45476 EBUILD kimageformats-5.96.0.ebuild 1008 BLAKE2B 881d5e6493a719ba5ab913e114d77bc46fe3c82cb655d1a47db14ab0eb2398cd2d6e4b283c0358dc65076d796ebf3e576155fff28be12f65b9aa3ae0710a9af1 SHA512 bb6b63276e7a97e0aef3cd4f8a83be1e600b4cd793501bcac42559cf00bf3c6b3f4f47163c0718c22a91373dccf5f7dce833f79c699315a2763bc09c2a139bfa -EBUILD kimageformats-5.99.0-r2.ebuild 1179 BLAKE2B 56b0a96b76f6d55d34cadca83ae78f80fbef1ded0a8e5295feae33d0f1400366795cb4de1dc55408e2876ddcf75d33818cce1cad61e3ef803196ec95e3791342 SHA512 e9796e01a74e67a7db85db0225d2fc1e2e5319db2c861ed64d4487f699da799c47d7e85e8e1ba50bb64d34ed0450773508ee9d1521c3b53dfde8c7541a061bff +EBUILD kimageformats-5.99.0-r3.ebuild 1214 BLAKE2B ce968a48588810e59ec2e45e7a46840198235bb5a292e6d1a32f2a2d833980d349f5ed6f2383c2209de1afb6f79712620e9e5cdea95a5e73e01e318b799c98d0 SHA512 30491f8c4a8412fbdfeb71db7aa06fe7de8c38168bd7150e9931f494aec7ac3310090e9848af18488d606df7eeaa9fadc71f084f36cdc8d1a0e6957ac8998a2c MISC metadata.xml 775 BLAKE2B 7a31e17d20aaa7fb530e76ff4cac8f681f81d1229ed6c0b08206de919be074a3fa9667ff7f24c9db674a6950de938b7bddb609cb5c015f1b7072fbd981b56e1a SHA512 80aee93fef37b1ef9a81dba5c77934ec269d44a0016c31b4cd2d855edd607894267ad7c0e39cf795b212b200f433611fc9c7014a97df784879717a46d33ff62a diff --git a/kde-frameworks/kimageformats/files/kimageformats-5.99.0-jxl-perf.patch b/kde-frameworks/kimageformats/files/kimageformats-5.99.0-jxl-perf.patch new file mode 100644 index 000000000000..7673c8c33653 --- /dev/null +++ b/kde-frameworks/kimageformats/files/kimageformats-5.99.0-jxl-perf.patch @@ -0,0 +1,116 @@ +From d734f2872745dd1ab5aab9dafb144130d7e9fdcc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Novomesk=C3=BD?= <dnovomesky@gmail.com> +Date: Tue, 18 Oct 2022 15:20:16 +0200 +Subject: [PATCH] jxl: indicate when all frames have been read + +and return correct loop count +--- + src/imageformats/jxl.cpp | 23 ++++++++++++++++++++--- + src/imageformats/jxl_p.h | 1 + + 2 files changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/imageformats/jxl.cpp b/src/imageformats/jxl.cpp +index da2cd2e..2501086 100644 +--- a/src/imageformats/jxl.cpp ++++ b/src/imageformats/jxl.cpp +@@ -48,6 +48,11 @@ bool QJpegXLHandler::canRead() const + + if (m_parseState != ParseJpegXLError) { + setFormat("jxl"); ++ ++ if (m_parseState == ParseJpegXLFinished) { ++ return false; ++ } ++ + return true; + } + return false; +@@ -72,7 +77,7 @@ bool QJpegXLHandler::canRead(QIODevice *device) + + bool QJpegXLHandler::ensureParsed() const + { +- if (m_parseState == ParseJpegXLSuccess || m_parseState == ParseJpegXLBasicInfoParsed) { ++ if (m_parseState == ParseJpegXLSuccess || m_parseState == ParseJpegXLBasicInfoParsed || m_parseState == ParseJpegXLFinished) { + return true; + } + if (m_parseState == ParseJpegXLError) { +@@ -90,7 +95,7 @@ bool QJpegXLHandler::ensureALLCounted() const + return false; + } + +- if (m_parseState == ParseJpegXLSuccess) { ++ if (m_parseState == ParseJpegXLSuccess || m_parseState == ParseJpegXLFinished) { + return true; + } + +@@ -401,7 +406,15 @@ bool QJpegXLHandler::decode_one_frame() + if (!rewind()) { + return false; + } ++ ++ // all frames in animation have been read ++ m_parseState = ParseJpegXLFinished; ++ } else { ++ m_parseState = ParseJpegXLSuccess; + } ++ } else { ++ // the static image has been read ++ m_parseState = ParseJpegXLFinished; + } + + return true; +@@ -860,6 +873,7 @@ bool QJpegXLHandler::jumpToNextImage() + } + } + ++ m_parseState = ParseJpegXLSuccess; + return true; + } + +@@ -874,12 +888,14 @@ bool QJpegXLHandler::jumpToImage(int imageNumber) + } + + if (imageNumber == m_currentimage_index) { ++ m_parseState = ParseJpegXLSuccess; + return true; + } + + if (imageNumber > m_currentimage_index) { + JxlDecoderSkipFrames(m_decoder, imageNumber - m_currentimage_index); + m_currentimage_index = imageNumber; ++ m_parseState = ParseJpegXLSuccess; + return true; + } + +@@ -891,6 +907,7 @@ bool QJpegXLHandler::jumpToImage(int imageNumber) + JxlDecoderSkipFrames(m_decoder, imageNumber); + } + m_currentimage_index = imageNumber; ++ m_parseState = ParseJpegXLSuccess; + return true; + } + +@@ -914,7 +931,7 @@ int QJpegXLHandler::loopCount() const + } + + if (m_basicinfo.have_animation) { +- return 1; ++ return (m_basicinfo.animation.num_loops > 0) ? m_basicinfo.animation.num_loops - 1 : -1; + } else { + return 0; + } +diff --git a/src/imageformats/jxl_p.h b/src/imageformats/jxl_p.h +index 8339d7e..7a4af0b 100644 +--- a/src/imageformats/jxl_p.h ++++ b/src/imageformats/jxl_p.h +@@ -57,6 +57,7 @@ private: + ParseJpegXLNotParsed = 0, + ParseJpegXLSuccess = 1, + ParseJpegXLBasicInfoParsed = 2, ++ ParseJpegXLFinished = 3, + }; + + ParseJpegXLState m_parseState; +-- +GitLab + diff --git a/kde-frameworks/kimageformats/kimageformats-5.99.0-r2.ebuild b/kde-frameworks/kimageformats/kimageformats-5.99.0-r3.ebuild index 6be9f5b4f8b1..feebf9696329 100644 --- a/kde-frameworks/kimageformats/kimageformats-5.99.0-r2.ebuild +++ b/kde-frameworks/kimageformats/kimageformats-5.99.0-r3.ebuild @@ -32,6 +32,7 @@ DOCS=( src/imageformats/AUTHORS ) PATCHES=( "${FILESDIR}"/${P}-avif-perf-{1,2,3}.patch "${FILESDIR}"/${P}-avif-0.11.0.patch + "${FILESDIR}"/${P}-jxl-perf.patch ) src_configure() { |