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