Class: O3D3XX::Chunk
- Inherits:
-
Object
- Object
- O3D3XX::Chunk
- Defined in:
- lib/o3d3xx/pcic.rb
Overview
Handle PCIC binary/image chunks
Class Method Summary collapse
Class Method Details
.info(chunk) ⇒ Object
251 252 253 254 255 256 257 258 259 260 261 262 263 |
# 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) ⇒ Object
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 |
# 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) ⇒ Object
265 266 267 268 269 270 271 272 273 274 |
# 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 |