1
0
Fork 0
mirror of synced 2024-05-29 17:19:39 +12:00
waifu2x/lib/compression.lua
nagadomi eb3926b61c Fix to work on Lua52
web.lua does not work on Lua52 because turbo does not support Lua52 FFI.
2017-03-02 14:47:49 +09:00

21 lines
546 B
Lua

-- snapply compression for ByteTensor
local snappy = require 'snappy'
local compression = {}
compression.compress = function (bt)
local enc = snappy.compress(bt:storage():string())
return {bt:size(), torch.ByteStorage():string(enc)}
end
compression.decompress = function(data)
local size = data[1]
local dec = snappy.decompress(data[2]:string())
local bt = torch.ByteTensor(table.unpack(torch.totable(size)))
bt:storage():string(dec)
return bt
end
compression.size = function(data)
return data[1]
end
return compression