Emoji improvements

This commit is contained in:
Ali
2022-07-22 23:30:46 +02:00
parent 7b663a3445
commit 61b47ada27
34 changed files with 484 additions and 206 deletions

View File

@@ -235,10 +235,12 @@ private final class AnimationCacheItemWriterInternal {
private var frames: [FrameMetadata] = []
private let dctQuality: Int
private let dctQualityLuma: Int
private let dctQualityChroma: Int
init?(allocateTempFile: @escaping () -> String) {
self.dctQuality = 70
self.dctQualityLuma = 70
self.dctQualityChroma = 75
self.compressedPath = allocateTempFile()
@@ -297,7 +299,7 @@ private final class AnimationCacheItemWriterInternal {
if let current = self.currentDctData {
dctData = current
} else {
dctData = DctData(generatingTablesAtQuality: self.dctQuality)
dctData = DctData(generatingTablesAtQualityLuma: self.dctQualityLuma, chroma: self.dctQualityChroma)
self.currentDctData = dctData
}
@@ -433,12 +435,14 @@ private final class AnimationCacheItemWriterImpl: AnimationCacheItemWriter {
private var frames: [FrameMetadata] = []
private let dctQuality: Int
private let dctQualityLuma: Int
private let dctQualityChroma: Int
private let lock = Lock()
init?(queue: Queue, allocateTempFile: @escaping () -> String, completion: @escaping (CompressedResult?) -> Void) {
self.dctQuality = 70
self.dctQualityLuma = 70
self.dctQualityChroma = 75
self.queue = queue
self.compressedPath = allocateTempFile()
@@ -511,7 +515,7 @@ private final class AnimationCacheItemWriterImpl: AnimationCacheItemWriter {
if let current = self.currentDctData {
dctData = current
} else {
dctData = DctData(generatingTablesAtQuality: self.dctQuality)
dctData = DctData(generatingTablesAtQualityLuma: self.dctQualityLuma, chroma: self.dctQualityChroma)
self.currentDctData = dctData
}

View File

@@ -173,11 +173,11 @@ final class DctData {
self.chromaDct = ImageDCT(table: chromaTableData)
}
init(generatingTablesAtQuality quality: Int) {
self.lumaTable = ImageDCTTable(quality: quality, isChroma: false)
init(generatingTablesAtQualityLuma lumaQuality: Int, chroma chromaQuality: Int) {
self.lumaTable = ImageDCTTable(quality: lumaQuality, isChroma: false)
self.lumaDct = ImageDCT(table: self.lumaTable)
self.chromaTable = ImageDCTTable(quality: quality, isChroma: true)
self.chromaTable = ImageDCTTable(quality: chromaQuality, isChroma: true)
self.chromaDct = ImageDCT(table: self.chromaTable)
}
}