Skip to content

Instantly share code, notes, and snippets.

@3outeille
Created September 6, 2022 17:53
Show Gist options
  • Save 3outeille/b9c41a7d079a5e0127a8c3189e291029 to your computer and use it in GitHub Desktop.
Save 3outeille/b9c41a7d079a5e0127a8c3189e291029 to your computer and use it in GitHub Desktop.
fg_simulate_grain_blk8x8
void fg_simulate_grain_blk8x8(int32_t *grainStripe, uint32_t grainStripeOffsetBlk8,
uint32_t width, uint8_t log2ScaleFactor, int16_t scaleFactor, uint32_t kOffset, uint32_t lOffset, uint8_t h, uint8_t v, uint32_t xSize)
{
uint32_t k, l;
uint32_t idx, idx_offset, idx_offset_l, grainStripeOffsetBlk8_l;
idx_offset = ( h*NUM_CUT_OFF_FREQ + v ) * DATA_BASE_SIZE * DATA_BASE_SIZE;
for (l = 0; l < 8; l++) /* y direction */
{
idx_offset_l = idx_offset + (l + lOffset) * DATA_BASE_SIZE;
grainStripeOffsetBlk8_l = grainStripeOffsetBlk8 + (l*width);
for (k = 0; k < xSize; k++) /* x direction */
{
idx = idx_offset_l + (k + kOffset);
grainStripe[grainStripeOffsetBlk8_l + k ] = ((scaleFactor * fg_data_base[idx]) >> (log2ScaleFactor + GRAIN_SCALE));
}
}
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment