Low compression quality compared to cwebp CLI tool
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- objective-c, swift
- Bereich
- computer-graphics
Rechercherichtung
Beginne mit dem im Bericht gezeigten Einstiegspunkt für die verlustfreie Kodierung von SDImageWebPCoder und vergleiche dessen Ausgabe anhand des bereitgestellten Beispiels mit cwebp -lossless. Prüfe, welche Optionen encodeCompressionQuality, encodeWebPMethod und encodeWebPPass weitergereicht werden, und definiere die Aufgabe als abgeschlossen, wenn das Verhalten von cwebp hinsichtlich verlustfreier Qualität und Dateigröße übereinstimmt oder der Implementierungsunterschied dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
When using SDImageWebPCoder to encode images with lossless options, the resulting file size and compression quality appear to be worse compared to Google's cwebp command-line tool. Despite both using lossless compression settings, SDImageWebPCoder produces slightly lower quality images, with visible artifacts and banding on gradients and shadows.
I experimented with different encoding options such as: encodeCompressionQuality, encodeWebPMethod, encodeWebPPass etc. Despite these adjustments, the output quality and file size were still worse compared to cwebp -lossless. This suggests a fundamental difference in how the WebP encoding is implemented in SDImageWebPCoder versus the official WebP compression tool.
Code
SDImageWebPCoder:
if let data = SDImageWebPCoder.shared.encodedData(with: nsImage, format: .webP, options: [.encodeWebPLossless: 1]) {
try data.write(to: destination))
}
cwebp:
cwebp -lossless input.png -o output.webp
Results
- Vorherrschende Sprache
- Objective-C
- Sterne
- 277
- Forks
- 101
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus SDWebImage/SDWebImageWebPCoder
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
SDWebImage/SDWebImageWebPCoder#117 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
SDWebImage/SDWebImageWebPCoder#115 · 4 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
SDWebImage/SDWebImageWebPCoder#113 · 3 Kommentare ·
-
Frames loading Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
SDWebImage/SDWebImageWebPCoder#105 · 15 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
SDWebImage/SDWebImageWebPCoder#78 · 2 Kommentare ·
Alle Issues in SDWebImage/SDWebImageWebPCoder
Ähnliche Issues
-
macOS下查找brew::ncurse失败 Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
noah-nuebling/mac-mouse-fix#2054 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
obsproject/obs-studio#13918 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
SwiftOldDriver/iOS-Weekly#5439 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100