31 static const uint32_t 
pixel_mask[3] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff };
 
   32 static const uint32_t 
sao_size[5] = {8, 16, 32, 48, 64};
 
   34 #define SIZEOF_PIXEL ((bit_depth + 7) / 8) 
   35 #define PIXEL_STRIDE (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) //same with sao_edge src_stride 
   36 #define BUF_SIZE (PIXEL_STRIDE * (64+2) * 2) //+2 for top and bottom row, *2 for high bit depth 
   37 #define OFFSET_THRESH (1 << (bit_depth - 5)) 
   38 #define OFFSET_LENGTH 5 
   40 #define randomize_buffers(buf0, buf1, size)                 \ 
   42         uint32_t mask = pixel_mask[(bit_depth - 8) >> 1];   \ 
   44         for (k = 0; k < size; k += 4) {                     \ 
   45             uint32_t r = rnd() & mask;                      \ 
   46             AV_WN32A(buf0 + k, r);                          \ 
   47             AV_WN32A(buf1 + k, r);                          \ 
   51 #define randomize_buffers2(buf, size)                       \ 
   53         uint32_t max_offset = OFFSET_THRESH;                \ 
   55         if (bit_depth == 8) {                               \ 
   56             for (k = 0; k < size; k++) {                    \ 
   57                 uint8_t r = rnd() % max_offset;             \ 
   61             for (k = 0; k < size; k++) {                    \ 
   62                 uint16_t r = rnd() % max_offset;            \ 
   76     int left_class = 
rnd()%32;
 
   78     for (
i = 0; 
i <= 4; 
i++) {
 
   82                           int16_t *sao_offset_val, 
int sao_left_class, 
int width, 
int height);
 
  109     for (
i = 0; 
i <= 4; 
i++) {
 
  114                           int16_t *sao_offset_val, 
int eo, 
int width, 
int height);