fec_private_tables_random.cc (10661B)
1 /* 2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #include "modules/rtp_rtcp/source/fec_private_tables_random.h" 12 13 #include <cstdint> 14 15 namespace { 16 // clang-format off 17 #define kMaskRandom1_1 \ 18 0x80, 0x00 19 20 #define kMaskRandom2_1 \ 21 0xc0, 0x00 22 23 #define kMaskRandom2_2 \ 24 0xc0, 0x00, \ 25 0x80, 0x00 26 27 #define kMaskRandom3_1 \ 28 0xe0, 0x00 29 30 #define kMaskRandom3_2 \ 31 0xc0, 0x00, \ 32 0xa0, 0x00 33 34 #define kMaskRandom3_3 \ 35 0xc0, 0x00, \ 36 0xa0, 0x00, \ 37 0x60, 0x00 38 39 #define kMaskRandom4_1 \ 40 0xf0, 0x00 41 42 #define kMaskRandom4_2 \ 43 0xc0, 0x00, \ 44 0xb0, 0x00 45 46 #define kMaskRandom4_3 \ 47 0xc0, 0x00, \ 48 0xb0, 0x00, \ 49 0x60, 0x00 50 51 #define kMaskRandom4_4 \ 52 0xc0, 0x00, \ 53 0xa0, 0x00, \ 54 0x30, 0x00, \ 55 0x50, 0x00 56 57 #define kMaskRandom5_1 \ 58 0xf8, 0x00 59 60 #define kMaskRandom5_2 \ 61 0xa8, 0x00, \ 62 0xd0, 0x00 63 64 #define kMaskRandom5_3 \ 65 0xb0, 0x00, \ 66 0xc8, 0x00, \ 67 0x50, 0x00 68 69 #define kMaskRandom5_4 \ 70 0xc8, 0x00, \ 71 0xb0, 0x00, \ 72 0x50, 0x00, \ 73 0x28, 0x00 74 75 #define kMaskRandom5_5 \ 76 0xc0, 0x00, \ 77 0x30, 0x00, \ 78 0x18, 0x00, \ 79 0xa0, 0x00, \ 80 0x48, 0x00 81 82 #define kMaskRandom6_1 \ 83 0xfc, 0x00 84 85 #define kMaskRandom6_2 \ 86 0xa8, 0x00, \ 87 0xd4, 0x00 88 89 #define kMaskRandom6_3 \ 90 0xd0, 0x00, \ 91 0x68, 0x00, \ 92 0xa4, 0x00 93 94 #define kMaskRandom6_4 \ 95 0xa8, 0x00, \ 96 0x58, 0x00, \ 97 0x64, 0x00, \ 98 0x94, 0x00 99 100 #define kMaskRandom6_5 \ 101 0xa8, 0x00, \ 102 0x84, 0x00, \ 103 0x64, 0x00, \ 104 0x90, 0x00, \ 105 0x58, 0x00 106 107 #define kMaskRandom6_6 \ 108 0x98, 0x00, \ 109 0x64, 0x00, \ 110 0x50, 0x00, \ 111 0x14, 0x00, \ 112 0xa8, 0x00, \ 113 0xe0, 0x00 114 115 #define kMaskRandom7_1 \ 116 0xfe, 0x00 117 118 #define kMaskRandom7_2 \ 119 0xd4, 0x00, \ 120 0xaa, 0x00 121 122 #define kMaskRandom7_3 \ 123 0xd0, 0x00, \ 124 0xaa, 0x00, \ 125 0x64, 0x00 126 127 #define kMaskRandom7_4 \ 128 0xd0, 0x00, \ 129 0xaa, 0x00, \ 130 0x64, 0x00, \ 131 0x1c, 0x00 132 133 #define kMaskRandom7_5 \ 134 0x0c, 0x00, \ 135 0xb0, 0x00, \ 136 0x1a, 0x00, \ 137 0xc4, 0x00, \ 138 0x62, 0x00 139 140 #define kMaskRandom7_6 \ 141 0x8c, 0x00, \ 142 0x4a, 0x00, \ 143 0x64, 0x00, \ 144 0xd0, 0x00, \ 145 0xa0, 0x00, \ 146 0x32, 0x00 147 148 #define kMaskRandom7_7 \ 149 0x4a, 0x00, \ 150 0x94, 0x00, \ 151 0x1a, 0x00, \ 152 0xc4, 0x00, \ 153 0x28, 0x00, \ 154 0xc2, 0x00, \ 155 0x34, 0x00 156 157 #define kMaskRandom8_1 \ 158 0xff, 0x00 159 160 #define kMaskRandom8_2 \ 161 0xaa, 0x00, \ 162 0xd5, 0x00 163 164 #define kMaskRandom8_3 \ 165 0xc5, 0x00, \ 166 0x92, 0x00, \ 167 0x6a, 0x00 168 169 #define kMaskRandom8_4 \ 170 0x45, 0x00, \ 171 0xb4, 0x00, \ 172 0x6a, 0x00, \ 173 0x89, 0x00 174 175 #define kMaskRandom8_5 \ 176 0x8c, 0x00, \ 177 0x92, 0x00, \ 178 0x2b, 0x00, \ 179 0x51, 0x00, \ 180 0x64, 0x00 181 182 #define kMaskRandom8_6 \ 183 0xa1, 0x00, \ 184 0x52, 0x00, \ 185 0x91, 0x00, \ 186 0x2a, 0x00, \ 187 0xc4, 0x00, \ 188 0x4c, 0x00 189 190 #define kMaskRandom8_7 \ 191 0x15, 0x00, \ 192 0xc2, 0x00, \ 193 0x25, 0x00, \ 194 0x62, 0x00, \ 195 0x58, 0x00, \ 196 0x8c, 0x00, \ 197 0xa3, 0x00 198 199 #define kMaskRandom8_8 \ 200 0x25, 0x00, \ 201 0x8a, 0x00, \ 202 0x91, 0x00, \ 203 0x68, 0x00, \ 204 0x32, 0x00, \ 205 0x43, 0x00, \ 206 0xc4, 0x00, \ 207 0x1c, 0x00 208 209 #define kMaskRandom9_1 \ 210 0xff, 0x80 211 212 #define kMaskRandom9_2 \ 213 0xaa, 0x80, \ 214 0xd5, 0x00 215 216 #define kMaskRandom9_3 \ 217 0xa5, 0x00, \ 218 0xc8, 0x00, \ 219 0x52, 0x80 220 221 #define kMaskRandom9_4 \ 222 0xa2, 0x00, \ 223 0xc9, 0x00, \ 224 0x52, 0x80, \ 225 0x24, 0x80 226 227 #define kMaskRandom9_5 \ 228 0x8c, 0x00, \ 229 0x25, 0x00, \ 230 0x92, 0x80, \ 231 0x41, 0x80, \ 232 0x58, 0x00 233 234 #define kMaskRandom9_6 \ 235 0x84, 0x80, \ 236 0x27, 0x00, \ 237 0x51, 0x80, \ 238 0x1a, 0x00, \ 239 0x68, 0x00, \ 240 0x89, 0x00 241 242 #define kMaskRandom9_7 \ 243 0x8c, 0x00, \ 244 0x47, 0x00, \ 245 0x81, 0x80, \ 246 0x12, 0x80, \ 247 0x58, 0x00, \ 248 0x28, 0x80, \ 249 0xb4, 0x00 250 251 #define kMaskRandom9_8 \ 252 0x2c, 0x00, \ 253 0x91, 0x00, \ 254 0x40, 0x80, \ 255 0x06, 0x80, \ 256 0xc8, 0x00, \ 257 0x45, 0x00, \ 258 0x30, 0x80, \ 259 0xa2, 0x00 260 261 #define kMaskRandom9_9 \ 262 0x4c, 0x00, \ 263 0x62, 0x00, \ 264 0x91, 0x00, \ 265 0x42, 0x80, \ 266 0xa4, 0x00, \ 267 0x13, 0x00, \ 268 0x30, 0x80, \ 269 0x88, 0x80, \ 270 0x09, 0x00 271 272 #define kMaskRandom10_1 \ 273 0xff, 0xc0 274 275 #define kMaskRandom10_10 \ 276 0x4c, 0x00, \ 277 0x51, 0x00, \ 278 0xa0, 0x40, \ 279 0x04, 0xc0, \ 280 0x03, 0x80, \ 281 0x86, 0x00, \ 282 0x29, 0x00, \ 283 0x42, 0x40, \ 284 0x98, 0x00, \ 285 0x30, 0x80 286 287 #define kMaskRandom10_2 \ 288 0xaa, 0x80, \ 289 0xd5, 0x40 290 291 #define kMaskRandom10_3 \ 292 0xa4, 0x40, \ 293 0xc9, 0x00, \ 294 0x52, 0x80 295 296 #define kMaskRandom10_4 \ 297 0xca, 0x00, \ 298 0x32, 0x80, \ 299 0xa1, 0x40, \ 300 0x55, 0x00 301 302 #define kMaskRandom10_5 \ 303 0xca, 0x00, \ 304 0x32, 0x80, \ 305 0xa1, 0x40, \ 306 0x55, 0x00, \ 307 0x08, 0xc0 308 309 #define kMaskRandom10_6 \ 310 0x0e, 0x00, \ 311 0x33, 0x00, \ 312 0x10, 0xc0, \ 313 0x45, 0x40, \ 314 0x88, 0x80, \ 315 0xe0, 0x00 316 317 #define kMaskRandom10_7 \ 318 0x46, 0x00, \ 319 0x33, 0x00, \ 320 0x80, 0xc0, \ 321 0x0c, 0x40, \ 322 0x28, 0x80, \ 323 0x94, 0x00, \ 324 0xc1, 0x00 325 326 #define kMaskRandom10_8 \ 327 0x2c, 0x00, \ 328 0x81, 0x80, \ 329 0xa0, 0x40, \ 330 0x05, 0x40, \ 331 0x18, 0x80, \ 332 0xc2, 0x00, \ 333 0x22, 0x80, \ 334 0x50, 0x40 335 336 #define kMaskRandom10_9 \ 337 0x4c, 0x00, \ 338 0x23, 0x00, \ 339 0x88, 0xc0, \ 340 0x21, 0x40, \ 341 0x52, 0x80, \ 342 0x94, 0x00, \ 343 0x26, 0x00, \ 344 0x48, 0x40, \ 345 0x91, 0x80 346 347 #define kMaskRandom11_1 \ 348 0xff, 0xe0 349 350 #define kMaskRandom11_10 \ 351 0x64, 0x40, \ 352 0x51, 0x40, \ 353 0xa9, 0x00, \ 354 0x04, 0xc0, \ 355 0xd0, 0x00, \ 356 0x82, 0x40, \ 357 0x21, 0x20, \ 358 0x0c, 0x20, \ 359 0x4a, 0x00, \ 360 0x12, 0xa0 361 362 #define kMaskRandom11_11 \ 363 0x46, 0x40, \ 364 0x33, 0x20, \ 365 0x99, 0x00, \ 366 0x05, 0x80, \ 367 0x80, 0xa0, \ 368 0x84, 0x40, \ 369 0x40, 0x60, \ 370 0x0a, 0x80, \ 371 0x68, 0x00, \ 372 0x10, 0x20, \ 373 0x30, 0x40 374 375 #define kMaskRandom11_2 \ 376 0xec, 0xc0, \ 377 0x9b, 0xa0 378 379 #define kMaskRandom11_3 \ 380 0xca, 0xc0, \ 381 0xf1, 0x40, \ 382 0xb6, 0x20 383 384 #define kMaskRandom11_4 \ 385 0xc4, 0xc0, \ 386 0x31, 0x60, \ 387 0x4b, 0x20, \ 388 0x2c, 0xa0 389 390 #define kMaskRandom11_5 \ 391 0x86, 0x80, \ 392 0x23, 0x20, \ 393 0x16, 0x20, \ 394 0x4c, 0x20, \ 395 0x41, 0xc0 396 397 #define kMaskRandom11_6 \ 398 0x64, 0x40, \ 399 0x51, 0x40, \ 400 0x0c, 0xa0, \ 401 0xa1, 0x20, \ 402 0x12, 0xa0, \ 403 0x8a, 0x40 404 405 #define kMaskRandom11_7 \ 406 0x46, 0x40, \ 407 0x33, 0x20, \ 408 0x91, 0x80, \ 409 0xa4, 0x20, \ 410 0x50, 0xa0, \ 411 0x84, 0xc0, \ 412 0x09, 0x60 413 414 #define kMaskRandom11_8 \ 415 0x0c, 0x80, \ 416 0x80, 0x60, \ 417 0xa0, 0x80, \ 418 0x05, 0x40, \ 419 0x43, 0x00, \ 420 0x1a, 0x00, \ 421 0x60, 0x20, \ 422 0x14, 0x20 423 424 #define kMaskRandom11_9 \ 425 0x46, 0x40, \ 426 0x62, 0x60, \ 427 0x8c, 0x00, \ 428 0x01, 0x60, \ 429 0x07, 0x80, \ 430 0xa0, 0x80, \ 431 0x18, 0xa0, \ 432 0x91, 0x00, \ 433 0x78, 0x00 434 435 #define kMaskRandom12_1 \ 436 0xff, 0xf0 437 438 #define kMaskRandom12_10 \ 439 0x51, 0x40, \ 440 0x45, 0x10, \ 441 0x80, 0xd0, \ 442 0x24, 0x20, \ 443 0x0a, 0x20, \ 444 0x00, 0xe0, \ 445 0xb8, 0x00, \ 446 0x09, 0x10, \ 447 0x56, 0x00, \ 448 0xa2, 0x80 449 450 #define kMaskRandom12_11 \ 451 0x53, 0x60, \ 452 0x21, 0x30, \ 453 0x10, 0x90, \ 454 0x00, 0x70, \ 455 0x0c, 0x10, \ 456 0x40, 0xc0, \ 457 0x6a, 0x00, \ 458 0x86, 0x00, \ 459 0x24, 0x80, \ 460 0x89, 0x00, \ 461 0xc0, 0x20 462 463 #define kMaskRandom12_12 \ 464 0x10, 0x60, \ 465 0x02, 0x30, \ 466 0x40, 0x50, \ 467 0x21, 0x80, \ 468 0x81, 0x10, \ 469 0x14, 0x80, \ 470 0x98, 0x00, \ 471 0x08, 0x90, \ 472 0x62, 0x00, \ 473 0x24, 0x20, \ 474 0x8a, 0x00, \ 475 0x84, 0x40 476 477 #define kMaskRandom12_2 \ 478 0xec, 0xc0, \ 479 0x93, 0xb0 480 481 #define kMaskRandom12_3 \ 482 0x9b, 0x80, \ 483 0x4f, 0x10, \ 484 0x3c, 0x60 485 486 #define kMaskRandom12_4 \ 487 0x8b, 0x20, \ 488 0x14, 0xb0, \ 489 0x22, 0xd0, \ 490 0x45, 0x50 491 492 #define kMaskRandom12_5 \ 493 0x53, 0x60, \ 494 0x64, 0x20, \ 495 0x0c, 0xc0, \ 496 0x82, 0xa0, \ 497 0x09, 0x30 498 499 #define kMaskRandom12_6 \ 500 0x51, 0x40, \ 501 0xc5, 0x10, \ 502 0x21, 0x80, \ 503 0x12, 0x30, \ 504 0x08, 0xe0, \ 505 0x2e, 0x00 506 507 #define kMaskRandom12_7 \ 508 0x53, 0x60, \ 509 0x21, 0x30, \ 510 0x90, 0x90, \ 511 0x02, 0x50, \ 512 0x06, 0xa0, \ 513 0x2c, 0x00, \ 514 0x88, 0x60 515 516 #define kMaskRandom12_8 \ 517 0x20, 0x60, \ 518 0x80, 0x30, \ 519 0x42, 0x40, \ 520 0x01, 0x90, \ 521 0x14, 0x10, \ 522 0x0a, 0x80, \ 523 0x38, 0x00, \ 524 0xc5, 0x00 525 526 #define kMaskRandom12_9 \ 527 0x53, 0x60, \ 528 0xe4, 0x20, \ 529 0x24, 0x40, \ 530 0xa1, 0x10, \ 531 0x18, 0x30, \ 532 0x03, 0x90, \ 533 0x8a, 0x10, \ 534 0x04, 0x90, \ 535 0x00, 0xe0 536 537 #define kPacketMaskRandom1 1, \ 538 kMaskRandom1_1 539 540 #define kPacketMaskRandom2 2, \ 541 kMaskRandom2_1, \ 542 kMaskRandom2_2 543 544 #define kPacketMaskRandom3 3, \ 545 kMaskRandom3_1, \ 546 kMaskRandom3_2, \ 547 kMaskRandom3_3 548 549 #define kPacketMaskRandom4 4, \ 550 kMaskRandom4_1, \ 551 kMaskRandom4_2, \ 552 kMaskRandom4_3, \ 553 kMaskRandom4_4 554 555 #define kPacketMaskRandom5 5, \ 556 kMaskRandom5_1, \ 557 kMaskRandom5_2, \ 558 kMaskRandom5_3, \ 559 kMaskRandom5_4, \ 560 kMaskRandom5_5 561 562 #define kPacketMaskRandom6 6, \ 563 kMaskRandom6_1, \ 564 kMaskRandom6_2, \ 565 kMaskRandom6_3, \ 566 kMaskRandom6_4, \ 567 kMaskRandom6_5, \ 568 kMaskRandom6_6 569 570 #define kPacketMaskRandom7 7, \ 571 kMaskRandom7_1, \ 572 kMaskRandom7_2, \ 573 kMaskRandom7_3, \ 574 kMaskRandom7_4, \ 575 kMaskRandom7_5, \ 576 kMaskRandom7_6, \ 577 kMaskRandom7_7 578 579 #define kPacketMaskRandom8 8, \ 580 kMaskRandom8_1, \ 581 kMaskRandom8_2, \ 582 kMaskRandom8_3, \ 583 kMaskRandom8_4, \ 584 kMaskRandom8_5, \ 585 kMaskRandom8_6, \ 586 kMaskRandom8_7, \ 587 kMaskRandom8_8 588 589 #define kPacketMaskRandom9 9, \ 590 kMaskRandom9_1, \ 591 kMaskRandom9_2, \ 592 kMaskRandom9_3, \ 593 kMaskRandom9_4, \ 594 kMaskRandom9_5, \ 595 kMaskRandom9_6, \ 596 kMaskRandom9_7, \ 597 kMaskRandom9_8, \ 598 kMaskRandom9_9 599 600 #define kPacketMaskRandom10 10, \ 601 kMaskRandom10_1, \ 602 kMaskRandom10_2, \ 603 kMaskRandom10_3, \ 604 kMaskRandom10_4, \ 605 kMaskRandom10_5, \ 606 kMaskRandom10_6, \ 607 kMaskRandom10_7, \ 608 kMaskRandom10_8, \ 609 kMaskRandom10_9, \ 610 kMaskRandom10_10 611 612 #define kPacketMaskRandom11 11, \ 613 kMaskRandom11_1, \ 614 kMaskRandom11_2, \ 615 kMaskRandom11_3, \ 616 kMaskRandom11_4, \ 617 kMaskRandom11_5, \ 618 kMaskRandom11_6, \ 619 kMaskRandom11_7, \ 620 kMaskRandom11_8, \ 621 kMaskRandom11_9, \ 622 kMaskRandom11_10, \ 623 kMaskRandom11_11 624 625 #define kPacketMaskRandom12 12, \ 626 kMaskRandom12_1, \ 627 kMaskRandom12_2, \ 628 kMaskRandom12_3, \ 629 kMaskRandom12_4, \ 630 kMaskRandom12_5, \ 631 kMaskRandom12_6, \ 632 kMaskRandom12_7, \ 633 kMaskRandom12_8, \ 634 kMaskRandom12_9, \ 635 kMaskRandom12_10, \ 636 kMaskRandom12_11, \ 637 kMaskRandom12_12 638 639 // clang-format on 640 } // namespace 641 642 namespace webrtc { 643 namespace fec_private_tables { 644 645 const uint8_t kPacketMaskRandomTbl[] = { 646 12, 647 kPacketMaskRandom1, // 2 byte entries. 648 kPacketMaskRandom2, 649 kPacketMaskRandom3, 650 kPacketMaskRandom4, 651 kPacketMaskRandom5, 652 kPacketMaskRandom6, 653 kPacketMaskRandom7, 654 kPacketMaskRandom8, 655 kPacketMaskRandom9, 656 kPacketMaskRandom10, 657 kPacketMaskRandom11, 658 kPacketMaskRandom12, 659 }; 660 661 } // namespace fec_private_tables 662 } // namespace webrtc