tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

grain_test_vectors.h (21401B)


      1 /*
      2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
      3 *
      4 * This source code is subject to the terms of the BSD 2 Clause License and
      5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      6 * was not distributed with this source code in the LICENSE file, you can
      7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      8 * Media Patent License 1.0 was not distributed with this source code in the
      9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
     10 */
     11 #ifndef AOM_AV1_ENCODER_GRAIN_TEST_VECTORS_H_
     12 #define AOM_AV1_ENCODER_GRAIN_TEST_VECTORS_H_
     13 
     14 /* Test vectors for emulation of different film grain types.
     15 * Note that bit depth would be derived from the bitstream and
     16 * not signaled in film grain metadata. The parameters are valid
     17 * for any bit depth.
     18 */
     19 
     20 #if !CONFIG_REALTIME_ONLY
     21 static aom_film_grain_t film_grain_test_vectors[16] = {
     22  /* Test 1 */
     23  {
     24      1 /* apply_grain */,
     25      1 /* update_parameters */,
     26      { { 16, 0 },
     27        { 25, 136 },
     28        { 33, 144 },
     29        { 41, 160 },
     30        { 48, 168 },
     31        { 56, 136 },
     32        { 67, 128 },
     33        { 82, 144 },
     34        { 97, 152 },
     35        { 113, 144 },
     36        { 128, 176 },
     37        { 143, 168 },
     38        { 158, 176 },
     39        { 178, 184 } },
     40      14 /* num_points_y */,
     41      { { 16, 0 },
     42        { 20, 64 },
     43        { 28, 88 },
     44        { 60, 104 },
     45        { 90, 136 },
     46        { 105, 160 },
     47        { 134, 168 },
     48        { 168, 208 } },
     49      8 /* num_cb_points */,
     50      { { 16, 0 },
     51        { 28, 96 },
     52        { 56, 80 },
     53        { 66, 96 },
     54        { 80, 104 },
     55        { 108, 96 },
     56        { 122, 112 },
     57        { 137, 112 },
     58        { 169, 176 } },
     59      9 /* num_cr_points */,
     60      11 /* scaling_shift */,
     61      2 /* ar_coeff_lag */,
     62      { 0, 0, -58, 0, 0, 0, -76, 100, -43, 0, -51, 82 },
     63      { 0, 0, -49, 0, 0, 0, -36, 22, -30, 0, -38, 7, 39 },
     64      { 0, 0, -47, 0, 0, 0, -31, 31, -25, 0, -32, 13, -100 },
     65      8 /* ar_coeff_shift */,
     66      247 /* cb_mult */,
     67      192 /* cb_luma_mult */,
     68      18 /* cb_offset */,
     69      229 /* cr_mult */,
     70      192 /* cr_luma_mult */,
     71      54 /* cr_offset */,
     72      0 /* overlap_flag */,
     73      1 /* clip_to_restricted_range */,
     74      8 /* bit_depth */,
     75      0 /* chroma_scaling_from_luma*/,
     76      0 /* grain_scale_shift*/,
     77      45231 /* random_seed */
     78  },
     79  /* Test 2 */
     80  {
     81      1 /* apply_grain */,
     82      1 /* update_parameters */,
     83      { { 0, 96 }, { 255, 96 } },
     84      2 /* num_points_y */,
     85      { { 0, 64 }, { 255, 64 } },
     86      2 /* num_cb_points */,
     87      { { 0, 64 }, { 255, 64 } },
     88      2 /* num_cr_points */,
     89      11 /* scaling_shift */,
     90      3 /* ar_coeff_lag */,
     91      {
     92          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
     93          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
     94      },
     95      {
     96          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,
     97          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
     98      },
     99      {
    100          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,
    101          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
    102      },
    103      7 /* ar_coeff_shift */,
    104      128 /* cb_mult */,
    105      192 /* cb_luma_mult */,
    106      256 /* cb_offset */,
    107      128 /* cr_mult */,
    108      192 /* cr_luma_mult */,
    109      256 /* cr_offset */,
    110      1 /* overlap_flag */,
    111      0 /* clip_to_restricted_range */,
    112      8 /* bit_depth */,
    113      0 /*chroma_scaling_from_luma*/,
    114      0 /* grain_scale_shift*/,
    115      45231 /* random_seed */
    116  },
    117  /* Test 3 */
    118  {
    119      1 /* apply_grain */,
    120      1 /* update_parameters */,
    121      { { 0, 192 }, { 255, 192 } },
    122      2 /* num_points_y */,
    123      { { 0, 128 }, { 255, 128 } },
    124      2 /* num_cb_points */,
    125      { { 0, 128 }, { 255, 128 } },
    126      2 /* num_cr_points */,
    127      11 /* scaling_shift */,
    128      3 /* ar_coeff_lag */,
    129      {
    130          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    131          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    132      },
    133      {
    134          4,   -7, 2,  4,   12, -12, 5,   -8, 6,  8,   -19, -16, 19,
    135          -10, -2, 17, -42, 58, -2,  -13, 9,  14, -36, 67,  0,
    136      },
    137      {
    138          4,   -7, 2,  4,   12, -12, 5,   -8, 6,  8,   -19, -16, 19,
    139          -10, -2, 17, -42, 58, -2,  -13, 9,  14, -36, 67,  0,
    140      },
    141      7 /* ar_coeff_shift */,
    142      128 /* cb_mult */,
    143      192 /* cb_luma_mult */,
    144      256 /* cb_offset */,
    145      128 /* cr_mult */,
    146      192 /* cr_luma_mult */,
    147      256 /* cr_offset */,
    148      1 /* overlap_flag */,
    149      1 /* clip_to_restricted_range */,
    150      8 /* bit_depth */,
    151      0 /*chroma_scaling_from_luma*/,
    152      1 /* grain_scale_shift*/,
    153      45231 /* random_seed */
    154  },
    155  /* Test 4 */
    156  {
    157      1 /* apply_grain */,
    158      1 /* update_parameters */,
    159      {
    160          { 16, 0 },
    161          { 24, 137 },
    162          { 53, 146 },
    163          { 63, 155 },
    164          { 78, 155 },
    165          { 107, 150 },
    166          { 122, 147 },
    167          { 136, 147 },
    168          { 166, 153 },
    169      },
    170      9 /* num_points_y */,
    171      {
    172          { 16, 0 },
    173          { 20, 72 },
    174          { 27, 82 },
    175          { 33, 91 },
    176          { 69, 121 },
    177          { 95, 143 },
    178          { 108, 154 },
    179          { 134, 169 },
    180          { 147, 177 },
    181      },
    182      9 /* num_cb_points */,
    183      {
    184          { 16, 0 },
    185          { 24, 95 },
    186          { 54, 93 },
    187          { 65, 94 },
    188          { 79, 98 },
    189          { 109, 107 },
    190          { 124, 119 },
    191          { 139, 136 },
    192          { 169, 170 },
    193      },
    194      9 /* num_cr_points */,
    195      11 /* scaling_shift */,
    196      3 /* ar_coeff_lag */,
    197      {
    198          7,  -9,  2, 4,   7, -12, 7,  -18, 18, -30, -27, -42,
    199          13, -20, 7, -18, 6, 107, 55, -2,  -4, -9,  -22, 113,
    200      },
    201      {
    202          -3, -1, -4,  3,   -6,  -2,  3,  1,  -4, -10, -10, -5, -5,
    203          -3, -1, -13, -28, -25, -31, -6, -4, 14, -64, 66,  0,
    204      },
    205      {
    206          0,  4, -3, 13,  0,  1,   -3, 0,  -3, -10, -68, -4, -2,
    207          -5, 2, -3, -20, 62, -31, 0,  -4, -1, -8,  -29, 0,
    208      },
    209      8 /* ar_coeff_shift */,
    210      128 /* cb_mult */,
    211      192 /* cb_luma_mult */,
    212      256 /* cb_offset */,
    213      128 /* cr_mult */,
    214      192 /* cr_luma_mult */,
    215      256 /* cr_offset */,
    216      1 /* overlap_flag */,
    217      0 /* clip_to_restricted_range */,
    218      8 /* bit_depth */,
    219      0 /*chroma_scaling_from_luma*/,
    220      0 /* grain_scale_shift*/,
    221      45231 /* random_seed */
    222  },
    223  /* Test 5 */
    224  {
    225      1 /* apply_grain */,
    226      0 /* update_parameters */,
    227      { { 0, 64 }, { 255, 64 } },
    228      2 /* num_points_y */,
    229      {
    230          { 0, 96 },
    231          { 32, 90 },
    232          { 64, 83 },
    233          { 96, 76 },
    234          { 128, 68 },
    235          { 159, 59 },
    236          { 191, 48 },
    237          { 223, 34 },
    238          { 255, 0 },
    239      },
    240      9 /* num_cb_points */,
    241      {
    242          { 0, 0 },
    243          { 32, 34 },
    244          { 64, 48 },
    245          { 96, 59 },
    246          { 128, 68 },
    247          { 159, 76 },
    248          { 191, 83 },
    249          { 223, 90 },
    250          { 255, 96 },
    251      },
    252      9 /* num_cr_points */,
    253      11 /* scaling_shift */,
    254      3 /* ar_coeff_lag */,
    255      {
    256          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    257          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    258      },
    259      {
    260          -2, 2,  -5, 7,   -6, 4,   -2, -1, 1,  -2,  0,  -2, 2,
    261          -3, -5, 13, -13, 6,  -14, 8,  -1, 18, -36, 58, 0,
    262      },
    263      {
    264          -2, -1, -3, 14, -4, -1, -3, 0, -1, 7, -31, 7, 2,
    265          0,  1,  0,  -7, 50, -8, -2, 2, 2,  2, -4,  0,
    266      },
    267      7 /* ar_coeff_shift */,
    268      128 /* cb_mult */,
    269      192 /* cb_luma_mult */,
    270      256 /* cb_offset */,
    271      128 /* cr_mult */,
    272      192 /* cr_luma_mult */,
    273      256 /* cr_offset */,
    274      1 /* overlap_flag */,
    275      1 /* clip_to_restricted_range */,
    276      8 /* bit_depth */,
    277      0 /*chroma_scaling_from_luma*/,
    278      0 /* grain_scale_shift*/,
    279      1063 /* random_seed */
    280  },
    281  /* Test 6 */
    282  {
    283      1 /* apply_grain */,
    284      1 /* update_parameters */,
    285      {
    286          { 0, 96 },
    287          { 20, 92 },
    288          { 39, 88 },
    289          { 59, 84 },
    290          { 78, 80 },
    291          { 98, 75 },
    292          { 118, 70 },
    293          { 137, 65 },
    294          { 157, 60 },
    295          { 177, 53 },
    296          { 196, 46 },
    297          { 216, 38 },
    298          { 235, 27 },
    299          { 255, 0 },
    300      },
    301      14 /* num_points_y */,
    302      { { 0, 0 } },
    303      0 /* num_cb_points */,
    304      { { 0, 0 } },
    305      0 /* num_cr_points */,
    306      11 /* scaling_shift */,
    307      3 /* ar_coeff_lag */,
    308      {
    309          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    310          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    311      },
    312      {
    313          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    314          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    315      },
    316      {
    317          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    318          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    319      },
    320      7 /* ar_coeff_shift */,
    321      128 /* cb_mult */,
    322      192 /* cb_luma_mult */,
    323      256 /* cb_offset */,
    324      128 /* cr_mult */,
    325      192 /* cr_luma_mult */,
    326      256 /* cr_offset */,
    327      1 /* overlap_flag */,
    328      1 /* clip_to_restricted_range */,
    329      8 /* bit_depth */,
    330      0 /*chroma_scaling_from_luma*/,
    331      0 /* grain_scale_shift*/,
    332      2754 /* random_seed */
    333  },
    334  /* Test 7 */
    335  {
    336      1 /* apply_grain */,
    337      1 /* update_parameters */,
    338      {
    339          { 0, 0 },
    340          { 20, 27 },
    341          { 39, 38 },
    342          { 59, 46 },
    343          { 78, 53 },
    344          { 98, 60 },
    345          { 118, 65 },
    346          { 137, 70 },
    347          { 157, 75 },
    348          { 177, 80 },
    349          { 196, 84 },
    350          { 216, 88 },
    351          { 235, 92 },
    352          { 255, 96 },
    353      },
    354      14 /* num_points_y */,
    355      { { 0, 0 }, { 255, 0 } },
    356      2 /* num_cb_points */,
    357      { { 0, 0 }, { 255, 0 } },
    358      2 /* num_cr_points */,
    359      11 /* scaling_shift */,
    360      3 /* ar_coeff_lag */,
    361      {
    362          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    363          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    364      },
    365      {
    366          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    367          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    368      },
    369      {
    370          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    371          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    372      },
    373      7 /* ar_coeff_shift */,
    374      128 /* cb_mult */,
    375      192 /* cb_luma_mult */,
    376      256 /* cb_offset */,
    377      128 /* cr_mult */,
    378      192 /* cr_luma_mult */,
    379      256 /* cr_offset */,
    380      1 /* overlap_flag */,
    381      1 /* clip_to_restricted_range */,
    382      8 /* bit_depth */,
    383      0 /*chroma_scaling_from_luma*/,
    384      0 /* grain_scale_shift*/,
    385      45231 /* random_seed */
    386  },
    387  /* Test 8 */
    388  {
    389      1 /* apply_grain */,
    390      1 /* update_parameters */,
    391      { { 0, 96 }, { 255, 96 } },
    392      2 /* num_points_y */,
    393      { { 0, 62 }, { 255, 62 } },
    394      2 /* num_cb_points */,
    395      { { 0, 62 }, { 255, 62 } },
    396      2 /* num_cr_points */,
    397      11 /* scaling_shift */,
    398      3 /* ar_coeff_lag */,
    399      {
    400          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    401          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    402      },
    403      {
    404          0,  -2, -2, 8,   5,  -1, 1,   -1, 5,  16,  -33, -9,  6,
    405          -1, -3, 10, -47, 63, 0,  -15, 3,  11, -42, 75,  -69,
    406      },
    407      {
    408          1,  -1, -1, 9,   5,  0, 1,   -1, 5,  15,  -32, -10, 8,
    409          -2, -4, 11, -46, 62, 1, -16, 3,  13, -43, 75,  -55,
    410      },
    411      7 /* ar_coeff_shift */,
    412      128 /* cb_mult */,
    413      192 /* cb_luma_mult */,
    414      256 /* cb_offset */,
    415      128 /* cr_mult */,
    416      192 /* cr_luma_mult */,
    417      256 /* cr_offset */,
    418      1 /* overlap_flag */,
    419      0 /* clip_to_restricted_range */,
    420      8 /* bit_depth */,
    421      0 /*chroma_scaling_from_luma*/,
    422      0 /* grain_scale_shift*/,
    423      45231 /* random_seed */
    424  },
    425  /* Test 9 */
    426  {
    427      1 /* apply_grain */,
    428      0 /* update_parameters */,
    429      { { 0, 48 }, { 255, 48 } },
    430      2 /* num_points_y */,
    431      { { 0, 32 }, { 255, 32 } },
    432      2 /* num_cb_points */,
    433      { { 0, 32 }, { 255, 32 } },
    434      2 /* num_cr_points */,
    435      10 /* scaling_shift */,
    436      2 /* ar_coeff_lag */,
    437      { 10, -30, -20, -39, 1, -24, 12, 103, 60, -9, -24, 113 },
    438      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127 },
    439      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127 },
    440      8 /* ar_coeff_shift */,
    441      128 /* cb_mult */,
    442      192 /* cb_luma_mult */,
    443      256 /* cb_offset */,
    444      128 /* cr_mult */,
    445      192 /* cr_luma_mult */,
    446      256 /* cr_offset */,
    447      1 /* overlap_flag */,
    448      0 /* clip_to_restricted_range */,
    449      8 /* bit_depth */,
    450      0 /*chroma_scaling_from_luma*/,
    451      0 /* grain_scale_shift*/,
    452      45231 /* random_seed */
    453  },
    454  /* Test 10 */
    455  {
    456      1 /* apply_grain */,
    457      1 /* update_parameters */,
    458      { { 0, 48 }, { 255, 48 } },
    459      2 /* num_points_y */,
    460      { { 0, 32 }, { 255, 32 } },
    461      2 /* num_cb_points */,
    462      { { 0, 32 }, { 255, 32 } },
    463      2 /* num_cr_points */,
    464      10 /* scaling_shift */,
    465      2 /* ar_coeff_lag */,
    466      { 10, -30, -20, -39, 1, -24, 12, 103, 60, -9, -24, 113 },
    467      { -7, -6, -48, -22, 2, -3, -45, 73, -11, -26, -52, 76, 0 },
    468      { -7, -6, -48, -22, 2, -3, -45, 73, -11, -26, -52, 76, 0 },
    469      8 /* ar_coeff_shift */,
    470      128 /* cb_mult */,
    471      192 /* cb_luma_mult */,
    472      256 /* cb_offset */,
    473      128 /* cr_mult */,
    474      192 /* cr_luma_mult */,
    475      256 /* cr_offset */,
    476      1 /* overlap_flag */,
    477      0 /* clip_to_restricted_range */,
    478      8 /* bit_depth */,
    479      0 /*chroma_scaling_from_luma*/,
    480      0 /* grain_scale_shift*/,
    481      45231 /* random_seed */
    482  },
    483  /* Test 11 */
    484  {
    485      1 /* apply_grain */,
    486      0 /* update_parameters */,
    487      { { 0, 32 }, { 255, 32 } },
    488      2 /* num_points_y */,
    489      {
    490          { 0, 48 },
    491          { 32, 45 },
    492          { 64, 42 },
    493          { 96, 38 },
    494          { 128, 34 },
    495          { 159, 29 },
    496          { 191, 24 },
    497          { 223, 17 },
    498          { 255, 0 },
    499      },
    500      9 /* num_cb_points */,
    501      {
    502          { 0, 0 },
    503          { 32, 17 },
    504          { 64, 24 },
    505          { 96, 29 },
    506          { 128, 34 },
    507          { 159, 38 },
    508          { 191, 42 },
    509          { 223, 45 },
    510          { 255, 48 },
    511      },
    512      9 /* num_cr_points */,
    513      10 /* scaling_shift */,
    514      3 /* ar_coeff_lag */,
    515      {
    516          7,  -9,  2, 4,   7, -12, 7,  -18, 18, -30, -27, -42,
    517          13, -20, 7, -18, 6, 107, 55, -2,  -4, -9,  -22, 113,
    518      },
    519      {
    520          -3, -1, -4,  3,   -6,  -2,  3,  1,  -4, -10, -10, -5, -5,
    521          -3, -1, -13, -28, -25, -31, -6, -4, 14, -64, 66,  0,
    522      },
    523      {
    524          0,  4, -3, 13,  0,  1,   -3, 0,  -3, -10, -68, -4, -2,
    525          -5, 2, -3, -20, 62, -31, 0,  -4, -1, -8,  -29, 0,
    526      },
    527      8 /* ar_coeff_shift */,
    528      128 /* cb_mult */,
    529      192 /* cb_luma_mult */,
    530      256 /* cb_offset */,
    531      128 /* cr_mult */,
    532      192 /* cr_luma_mult */,
    533      256 /* cr_offset */,
    534      1 /* overlap_flag */,
    535      1 /* clip_to_restricted_range */,
    536      8 /* bit_depth */,
    537      0 /*chroma_scaling_from_luma*/,
    538      0 /* grain_scale_shift*/,
    539      1357 /* random_seed */
    540  },
    541  /* Test 12 */
    542  {
    543      1 /* apply_grain */,
    544      1 /* update_parameters */,
    545      {
    546          { 16, 0 },
    547          { 24, 49 },
    548          { 39, 69 },
    549          { 46, 84 },
    550          { 53, 91 },
    551          { 63, 100 },
    552          { 78, 114 },
    553          { 92, 134 },
    554          { 164, 139 },
    555      },
    556      9 /* num_points_y */,
    557      {
    558          { 16, 0 },
    559          { 20, 31 },
    560          { 26, 42 },
    561          { 33, 54 },
    562          { 40, 65 },
    563          { 47, 72 },
    564          { 56, 85 },
    565          { 84, 123 },
    566          { 152, 157 },
    567      },
    568      9 /* num_cb_points */,
    569      {
    570          { 16, 0 },
    571          { 25, 14 },
    572          { 39, 33 },
    573          { 47, 40 },
    574          { 54, 47 },
    575          { 64, 62 },
    576          { 79, 76 },
    577          { 94, 83 },
    578          { 167, 101 },
    579      },
    580      9 /* num_cr_points */,
    581      10 /* scaling_shift */,
    582      2 /* ar_coeff_lag */,
    583      { 0, 0, -58, 0, 0, 0, -76, 100, -43, 0, -51, 82 },
    584      { 0, 0, -49, 0, 0, 0, -36, 22, -30, 0, -38, 7, 39 },
    585      { 0, 0, -47, 0, 0, 0, -31, 31, -25, 0, -32, 13, -100 },
    586      8 /* ar_coeff_shift */,
    587      128 /* cb_mult */,
    588      192 /* cb_luma_mult */,
    589      256 /* cb_offset */,
    590      128 /* cr_mult */,
    591      192 /* cr_luma_mult */,
    592      256 /* cr_offset */,
    593      0 /* overlap_flag */,
    594      0 /* clip_to_restricted_range */,
    595      8 /* bit_depth */,
    596      0 /*chroma_scaling_from_luma*/,
    597      0 /* grain_scale_shift*/,
    598      45231 /* random_seed */
    599  },
    600  /* Test 13 */
    601  {
    602      1 /* apply_grain */,
    603      1 /* update_parameters */,
    604      {
    605          { 0, 48 },
    606          { 20, 46 },
    607          { 39, 44 },
    608          { 59, 42 },
    609          { 78, 40 },
    610          { 98, 38 },
    611          { 118, 35 },
    612          { 137, 33 },
    613          { 157, 30 },
    614          { 177, 27 },
    615          { 196, 23 },
    616          { 216, 19 },
    617          { 235, 13 },
    618          { 255, 0 },
    619      },
    620      14 /* num_points_y */,
    621      { { 0, 0 }, { 255, 0 } },
    622      0 /* num_cb_points */,
    623      { { 0, 0 }, { 255, 0 } },
    624      0 /* num_cr_points */,
    625      10 /* scaling_shift */,
    626      2 /* ar_coeff_lag */,
    627      { 10, -30, -20, -39, 1, -24, 12, 103, 60, -9, -24, 113 },
    628      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    629      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    630      8 /* ar_coeff_shift */,
    631      128 /* cb_mult */,
    632      192 /* cb_luma_mult */,
    633      256 /* cb_offset */,
    634      128 /* cr_mult */,
    635      192 /* cr_luma_mult */,
    636      256 /* cr_offset */,
    637      1 /* overlap_flag */,
    638      0 /* clip_to_restricted_range */,
    639      8 /* bit_depth */,
    640      0 /*chroma_scaling_from_luma*/,
    641      0 /* grain_scale_shift*/,
    642      45231 /* random_seed */
    643  },
    644  /* Test 14 */
    645  {
    646      1 /* apply_grain */,
    647      1 /* update_parameters */,
    648      {
    649          { 0, 0 },
    650          { 20, 13 },
    651          { 39, 19 },
    652          { 59, 23 },
    653          { 78, 27 },
    654          { 98, 30 },
    655          { 118, 33 },
    656          { 137, 35 },
    657          { 157, 38 },
    658          { 177, 40 },
    659          { 196, 42 },
    660          { 216, 44 },
    661          { 235, 46 },
    662          { 255, 48 },
    663      },
    664      14 /* num_points_y */,
    665      { { 0, 0 }, { 255, 0 } },
    666      0 /* num_cb_points */,
    667      { { 0, 0 }, { 255, 0 } },
    668      0 /* num_cr_points */,
    669      10 /* scaling_shift */,
    670      2 /* ar_coeff_lag */,
    671      { 10, -30, -20, -39, 1, -24, 12, 103, 60, -9, -24, 113 },
    672      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    673      { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    674      8 /* ar_coeff_shift */,
    675      128 /* cb_mult */,
    676      192 /* cb_luma_mult */,
    677      256 /* cb_offset */,
    678      128 /* cr_mult */,
    679      192 /* cr_luma_mult */,
    680      256 /* cr_offset */,
    681      1 /* overlap_flag */,
    682      1 /* clip_to_restricted_range */,
    683      8 /* bit_depth */,
    684      0 /*chroma_scaling_from_luma*/,
    685      0 /* grain_scale_shift*/,
    686      45231 /* random_seed */
    687  },
    688  /* Test 15 */
    689  {
    690      1 /* apply_grain */,
    691      1 /* update_parameters */,
    692      { { 0, 96 }, { 255, 96 } },
    693      1 /* num_points_y */,
    694      { { 0, 96 }, { 255, 96 } },
    695      0 /* num_cb_points */,
    696      { { 0, 96 }, { 255, 96 } },
    697      0 /* num_cr_points */,
    698      11 /* scaling_shift */,
    699      2 /* ar_coeff_lag */,
    700      { 5, -15, -10, -19, 0, -12, 6, 51, 30, -5, -12, 56 },
    701      { 2, 2, -24, -5, 1, 1, -18, 37, -2, 0, -15, 39, -70 },
    702      { 2, 3, -24, -5, -1, 0, -18, 38, -2, 0, -15, 39, -55 },
    703      7 /* ar_coeff_shift */,
    704      128 /* cb_mult */,
    705      192 /* cb_luma_mult */,
    706      256 /* cb_offset */,
    707      128 /* cr_mult */,
    708      192 /* cr_luma_mult */,
    709      256 /* cr_offset */,
    710      1 /* overlap_flag */,
    711      0 /* clip_to_restricted_range */,
    712      8 /* bit_depth */,
    713      1 /*chroma_scaling_from_luma*/,
    714      0 /* grain_scale_shift*/,
    715      45231 /* random_seed */
    716  },
    717  /* Test 16 */
    718  {
    719      1 /* apply_grain */,
    720      1 /* update_parameters */,
    721      {
    722          { 16, 0 },
    723          { 58, 126 },
    724          { 87, 120 },
    725          { 97, 122 },
    726          { 112, 125 },
    727          { 126, 131 },
    728          { 141, 139 },
    729          { 199, 153 },
    730      },
    731      8 /* num_points_y */,
    732      {
    733          { 16, 0 },
    734          { 59, 68 },
    735          { 66, 76 },
    736          { 73, 82 },
    737          { 79, 85 },
    738          { 86, 86 },
    739          { 151, 95 },
    740          { 192, 101 },
    741      },
    742      8 /* num_cb_points */,
    743      {
    744          { 16, 0 },
    745          { 59, 64 },
    746          { 89, 80 },
    747          { 99, 86 },
    748          { 114, 90 },
    749          { 129, 93 },
    750          { 144, 97 },
    751          { 203, 85 },
    752      },
    753      8 /* num_cr_points */,
    754      10 /* scaling_shift */,
    755      3 /* ar_coeff_lag */,
    756      {
    757          4, 1,   3, 0,   1,  -3, 8,  -3, 7,  -23, 1, -25,
    758          0, -10, 6, -17, -4, 53, 36, 5,  -5, -17, 8, 66,
    759      },
    760      {
    761          0,  -2, -2, 8,   5,  -1, 1,   -1, 5,  16,  -33, -9,  6,
    762          -1, -3, 10, -47, 63, 0,  -15, 3,  11, -42, 75,  -69,
    763      },
    764      {
    765          1,  -1, -1, 9,   5,  0, 1,   -1, 5,  15,  -32, -10, 8,
    766          -2, -4, 11, -46, 62, 1, -16, 3,  13, -43, 75,  -55,
    767      },
    768      7 /* ar_coeff_shift */,
    769      128 /* cb_mult */,
    770      192 /* cb_luma_mult */,
    771      256 /* cb_offset */,
    772      128 /* cr_mult */,
    773      192 /* cr_luma_mult */,
    774      256 /* cr_offset */,
    775      1 /* overlap_flag */,
    776      0 /* clip_to_restricted_range */,
    777      8 /* bit_depth */,
    778      0 /*chroma_scaling_from_luma*/,
    779      2 /* grain_scale_shift*/,
    780      45231 /* random_seed */
    781  },
    782 };
    783 #endif  // !CONFIG_REALTIME_ONLY
    784 #endif  // AOM_AV1_ENCODER_GRAIN_TEST_VECTORS_H_