AnsweredAssumed Answered

Best way of compacting one buffer into a second

Question asked by boxerab on Apr 9, 2015
Latest reply on Apr 12, 2015 by boxerab

I am performing image compression.


The image I is broken up into K code blocks {Bi}.


Each block has fixed size MxN pixels. 


Each block is independently compressed.


All compressed blocks {Ci}, with compressed sizes {Pi}, are stored in a linear buffer B, of size K * M, where M is a fixed size greater than all sizes Pi.


Now, I would like to pack buffer B into buffer C, and get rid of empty space at the end of each compressed code block Ci.


So, I need a kernel that will:


  • for each block Ci, find sum of all Pk for k < i, (call this offset_i)
  • copy data for each Ci, from B into C, at offset_i, of size Pi


Any ideas on how to do this would be greatly appreciated!!