Use LZFSE compression

This commit is contained in:
Peter 2019-07-03 01:58:43 +03:00
parent 9525d8878a
commit dd4584c8b3
3 changed files with 5 additions and 5 deletions

View File

@ -108,7 +108,7 @@ private final class AnimatedStickerCachedFrameSource: AnimatedStickerFrameSource
init?(queue: Queue, data: Data) {
self.queue = queue
self.data = data
self.scratchBuffer = Data(count: compression_decode_scratch_buffer_size(COMPRESSION_LZ4))
self.scratchBuffer = Data(count: compression_decode_scratch_buffer_size(COMPRESSION_LZFSE))
var offset = 0
var width = 0
@ -170,7 +170,7 @@ private final class AnimatedStickerCachedFrameSource: AnimatedStickerFrameSource
self.scratchBuffer.withUnsafeMutableBytes { (scratchBytes: UnsafeMutablePointer<UInt8>) -> Void in
self.decodeBuffer.withUnsafeMutableBytes { (decodeBytes: UnsafeMutablePointer<UInt8>) -> Void in
self.frameBuffer.withUnsafeMutableBytes { (frameBytes: UnsafeMutablePointer<UInt8>) -> Void in
compression_decode_buffer(decodeBytes, decodeBufferLength, bytes.advanced(by: self.offset), Int(frameLength), UnsafeMutableRawPointer(scratchBytes), COMPRESSION_LZ4)
compression_decode_buffer(decodeBytes, decodeBufferLength, bytes.advanced(by: self.offset), Int(frameLength), UnsafeMutableRawPointer(scratchBytes), COMPRESSION_LZFSE)
var lhs = UnsafeMutableRawPointer(frameBytes).assumingMemoryBound(to: UInt64.self)
var rhs = UnsafeRawPointer(decodeBytes).assumingMemoryBound(to: UInt64.self)

View File

@ -244,7 +244,7 @@ func experimentalConvertCompressedLottieToCombinedMp4(data: Data, size: CGSize,
var compressedFrameData = Data(count: frameLength)
let compressedFrameDataLength = compressedFrameData.count
let scratchData = malloc(compression_encode_scratch_buffer_size(COMPRESSION_LZ4))!
let scratchData = malloc(compression_encode_scratch_buffer_size(COMPRESSION_LZFSE))!
defer {
free(scratchData)
}
@ -278,7 +278,7 @@ func experimentalConvertCompressedLottieToCombinedMp4(data: Data, size: CGSize,
drawingTime += CACurrentMediaTime() - drawStartTime
compressedFrameData.withUnsafeMutableBytes { (bytes: UnsafeMutablePointer<UInt8>) -> Void in
let length = compression_encode_buffer(bytes, compressedFrameDataLength, previousYuvaFrameData.assumingMemoryBound(to: UInt8.self), yuvaLength, scratchData, COMPRESSION_LZ4)
let length = compression_encode_buffer(bytes, compressedFrameDataLength, previousYuvaFrameData.assumingMemoryBound(to: UInt8.self), yuvaLength, scratchData, COMPRESSION_LZFSE)
var frameLengthValue: Int32 = Int32(length)
let _ = fileContext.write(&frameLengthValue, count: 4)
let _ = fileContext.write(bytes, count: length)

View File

@ -271,7 +271,7 @@ final class CachedAnimatedStickerRepresentation: CachedMediaResourceRepresentati
let height: Int32
var uniqueId: String {
return "animated-sticker-\(self.width)x\(self.height)-v4"
return "animated-sticker-\(self.width)x\(self.height)-v5"
}
init(width: Int32, height: Int32) {