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