Currently we end an operation based on if we see the end of block bit, but this doesn't allow breaking a deflate block into smaller subblocks. Change these operations to end based on the size of the input.
Currently we use byte addressing for addressing deflate locations in the puffin. But this is not a good idea if we need to break large deflate blocks into smaller ones for memory efficiency, then we need to address deflates based on bits.
Currently we end Huff or Puff operation based on if we see the end of block bit, but this doesn't allow breaking a deflate block into smaller subblocks. So first change these operations to end based on the size of the input.
Then Add a new struct BitExtent for addressing all the deflate locations and modify code based on that.
Comment 1 by ahass...@chromium.org
, Oct 5 2017