class PRbed::BytesParser
Public Class Methods
new(nsamples)
click to toggle source
# File lib/PRbed.rb, line 15 def initialize(nsamples) @nsamples = nsamples @bufsize = (@nsamples + 3) & ~3 end
Public Instance Methods
parse(bs)
click to toggle source
# File lib/PRbed.rb, line 20 def parse(bs) a = Array.new(@bufsize, MISSING) i = 0 bs.each_byte do |c| a[i ] = c & 0b00000011 a[i + 1] = (c & 0b00001100) >> 2 a[i + 2] = (c & 0b00110000) >> 4 a[i + 3] = (c & 0b11000000) >> 6 i += SAMPLES_PER_BYTE end a.pop(@bufsize - @nsamples) a end