32 static const uint32_t 
pixel_mask[3] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff };
 
   33 static const uint32_t 
sao_size[5] = {8, 16, 32, 48, 64};
 
   35 #define SIZEOF_PIXEL ((bit_depth + 7) / 8) 
   36 #define PIXEL_STRIDE (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) //same with sao_edge src_stride 
   37 #define BUF_SIZE (PIXEL_STRIDE * (64+2) * 2) //+2 for top and bottom row, *2 for high bit depth 
   38 #define OFFSET_THRESH (1 << (bit_depth - 5)) 
   39 #define OFFSET_LENGTH 5 
   41 #define randomize_buffers(buf0, buf1, size)                 \ 
   43         uint32_t mask = pixel_mask[(bit_depth - 8) >> 1];   \ 
   45         for (k = 0; k < size; k += 4) {                     \ 
   46             uint32_t r = rnd() & mask;                      \ 
   47             AV_WN32A(buf0 + k, r);                          \ 
   48             AV_WN32A(buf1 + k, r);                          \ 
   52 #define randomize_buffers2(buf, size)                       \ 
   54         uint32_t max_offset = OFFSET_THRESH;                \ 
   56         if (bit_depth == 8) {                               \ 
   57             for (k = 0; k < size; k++) {                    \ 
   58                 uint8_t r = rnd() % max_offset;             \ 
   62             for (k = 0; k < size; k++) {                    \ 
   63                 uint16_t r = rnd() % max_offset;            \ 
   77     int left_class = 
rnd()%32;
 
   79     for (
i = 0; 
i <= 4; 
i++) {
 
   83                           int16_t *sao_offset_val, 
int sao_left_class, 
int width, 
int height);
 
  110     for (
i = 0; 
i <= 4; 
i++) {
 
  115                           int16_t *sao_offset_val, 
int eo, 
int width, 
int height);