xref: /aosp_15_r20/external/libaom/av1/encoder/grain_test_vectors.h (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
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_
785