class O3D3XX::Chunk
Handle PCIC
binary/image chunks
Public Class Methods
info(chunk)
click to toggle source
# File lib/o3d3xx/pcic.rb, line 251 def self.info(chunk) info = Array.new info.push("CHUNK type : #{chunk[:CHUNK_TYPE]}") info.push("CHUNK size : #{chunk[:CHUNK_SIZE]}") info.push("CHUNK header size : #{chunk[:HEADER_SIZE]}") info.push("CHUNK version : #{chunk[:HEADER_VERSION]}") info.push("CHUNK height : #{chunk[:IMAGE_HEIGTH]}") info.push("CHUNK width : #{chunk[:IMAGE_WIDTH]}") info.push("CHUNK format : #{chunk[:PIXEL_FORMAT]}") info.push("CHUNK time stamp : #{chunk[:TIME_STAMP]}") info.push("CHUNK frame count : #{chunk[:FRAME_COUNT]}") info.push("CHUNK data size : #{chunk[:PIXEL_DATA].length}") end
parse(data)
click to toggle source
# File lib/o3d3xx/pcic.rb, line 236 def self.parse(data) chunk_header = data.unpack('L<9*') result = { :CHUNK_TYPE => chunk_header[0], :CHUNK_SIZE => chunk_header[1], :HEADER_SIZE => chunk_header[2], :HEADER_VERSION => chunk_header[3], :IMAGE_WIDTH => chunk_header[4], :IMAGE_HEIGTH => chunk_header[5], :PIXEL_FORMAT => chunk_header[6], :TIME_STAMP => chunk_header[7], :FRAME_COUNT => chunk_header[8], :PIXEL_DATA => data[chunk_header[2]...chunk_header[1]], } end
parseChunkArray(data)
click to toggle source
# File lib/o3d3xx/pcic.rb, line 265 def self.parseChunkArray(data) result = Array.new offset = 0 while offset < data.size chunk = self.parse(data[offset..data.size]) result << chunk offset += chunk[:CHUNK_SIZE] end return result end