tor-browser

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

fec_private_tables_bursty.cc (10641B)


      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_bursty.h"
     12 
     13 #include <cstdint>
     14 
     15 namespace {
     16 // clang-format off
     17 #define kMaskBursty1_1 \
     18  0x80, 0x00
     19 
     20 #define kMaskBursty2_1 \
     21  0xc0, 0x00
     22 
     23 #define kMaskBursty2_2 \
     24  0x80, 0x00, \
     25  0xc0, 0x00
     26 
     27 #define kMaskBursty3_1 \
     28  0xe0, 0x00
     29 
     30 #define kMaskBursty3_2 \
     31  0xc0, 0x00, \
     32  0xa0, 0x00
     33 
     34 #define kMaskBursty3_3 \
     35  0x80, 0x00, \
     36  0xc0, 0x00, \
     37  0x60, 0x00
     38 
     39 #define kMaskBursty4_1 \
     40  0xf0, 0x00
     41 
     42 #define kMaskBursty4_2 \
     43  0xa0, 0x00, \
     44  0xd0, 0x00
     45 
     46 #define kMaskBursty4_3 \
     47  0xc0, 0x00, \
     48  0x60, 0x00, \
     49  0x90, 0x00
     50 
     51 #define kMaskBursty4_4 \
     52  0x80, 0x00, \
     53  0xc0, 0x00, \
     54  0x60, 0x00, \
     55  0x30, 0x00
     56 
     57 #define kMaskBursty5_1 \
     58  0xf8, 0x00
     59 
     60 #define kMaskBursty5_2 \
     61  0xd0, 0x00, \
     62  0xa8, 0x00
     63 
     64 #define kMaskBursty5_3 \
     65  0x70, 0x00, \
     66  0x90, 0x00, \
     67  0xc8, 0x00
     68 
     69 #define kMaskBursty5_4 \
     70  0xc0, 0x00, \
     71  0x60, 0x00, \
     72  0x30, 0x00, \
     73  0x88, 0x00
     74 
     75 #define kMaskBursty5_5 \
     76  0x80, 0x00, \
     77  0xc0, 0x00, \
     78  0x60, 0x00, \
     79  0x30, 0x00, \
     80  0x18, 0x00
     81 
     82 #define kMaskBursty6_1 \
     83  0xfc, 0x00
     84 
     85 #define kMaskBursty6_2 \
     86  0xa8, 0x00, \
     87  0xd4, 0x00
     88 
     89 #define kMaskBursty6_3 \
     90  0x94, 0x00, \
     91  0xc8, 0x00, \
     92  0x64, 0x00
     93 
     94 #define kMaskBursty6_4 \
     95  0x60, 0x00, \
     96  0x38, 0x00, \
     97  0x88, 0x00, \
     98  0xc4, 0x00
     99 
    100 #define kMaskBursty6_5 \
    101  0xc0, 0x00, \
    102  0x60, 0x00, \
    103  0x30, 0x00, \
    104  0x18, 0x00, \
    105  0x84, 0x00
    106 
    107 #define kMaskBursty6_6 \
    108  0x80, 0x00, \
    109  0xc0, 0x00, \
    110  0x60, 0x00, \
    111  0x30, 0x00, \
    112  0x18, 0x00, \
    113  0x0c, 0x00
    114 
    115 #define kMaskBursty7_1 \
    116  0xfe, 0x00
    117 
    118 #define kMaskBursty7_2 \
    119  0xd4, 0x00, \
    120  0xaa, 0x00
    121 
    122 #define kMaskBursty7_3 \
    123  0xc8, 0x00, \
    124  0x74, 0x00, \
    125  0x92, 0x00
    126 
    127 #define kMaskBursty7_4 \
    128  0x38, 0x00, \
    129  0x8a, 0x00, \
    130  0xc4, 0x00, \
    131  0x62, 0x00
    132 
    133 #define kMaskBursty7_5 \
    134  0x60, 0x00, \
    135  0x30, 0x00, \
    136  0x1c, 0x00, \
    137  0x84, 0x00, \
    138  0xc2, 0x00
    139 
    140 #define kMaskBursty7_6 \
    141  0xc0, 0x00, \
    142  0x60, 0x00, \
    143  0x30, 0x00, \
    144  0x18, 0x00, \
    145  0x0c, 0x00, \
    146  0x82, 0x00
    147 
    148 #define kMaskBursty7_7 \
    149  0x80, 0x00, \
    150  0xc0, 0x00, \
    151  0x60, 0x00, \
    152  0x30, 0x00, \
    153  0x18, 0x00, \
    154  0x0c, 0x00, \
    155  0x06, 0x00
    156 
    157 #define kMaskBursty8_1 \
    158  0xff, 0x00
    159 
    160 #define kMaskBursty8_2 \
    161  0xaa, 0x00, \
    162  0xd5, 0x00
    163 
    164 #define kMaskBursty8_3 \
    165  0x74, 0x00, \
    166  0x92, 0x00, \
    167  0xc9, 0x00
    168 
    169 #define kMaskBursty8_4 \
    170  0x8a, 0x00, \
    171  0xc5, 0x00, \
    172  0x62, 0x00, \
    173  0x31, 0x00
    174 
    175 #define kMaskBursty8_5 \
    176  0x30, 0x00, \
    177  0x1c, 0x00, \
    178  0x85, 0x00, \
    179  0xc2, 0x00, \
    180  0x61, 0x00
    181 
    182 #define kMaskBursty8_6 \
    183  0x60, 0x00, \
    184  0x30, 0x00, \
    185  0x18, 0x00, \
    186  0x0e, 0x00, \
    187  0x82, 0x00, \
    188  0xc1, 0x00
    189 
    190 #define kMaskBursty8_7 \
    191  0xc0, 0x00, \
    192  0x60, 0x00, \
    193  0x30, 0x00, \
    194  0x18, 0x00, \
    195  0x0c, 0x00, \
    196  0x06, 0x00, \
    197  0x81, 0x00
    198 
    199 #define kMaskBursty8_8 \
    200  0x80, 0x00, \
    201  0xc0, 0x00, \
    202  0x60, 0x00, \
    203  0x30, 0x00, \
    204  0x18, 0x00, \
    205  0x0c, 0x00, \
    206  0x06, 0x00, \
    207  0x03, 0x00
    208 
    209 #define kMaskBursty9_1 \
    210  0xff, 0x80
    211 
    212 #define kMaskBursty9_2 \
    213  0xd5, 0x00, \
    214  0xaa, 0x80
    215 
    216 #define kMaskBursty9_3 \
    217  0x92, 0x00, \
    218  0xc9, 0x00, \
    219  0x74, 0x80
    220 
    221 #define kMaskBursty9_4 \
    222  0xc5, 0x00, \
    223  0x62, 0x00, \
    224  0x39, 0x00, \
    225  0x8a, 0x80
    226 
    227 #define kMaskBursty9_5 \
    228  0x1c, 0x00, \
    229  0x85, 0x00, \
    230  0xc2, 0x80, \
    231  0x61, 0x00, \
    232  0x30, 0x80
    233 
    234 #define kMaskBursty9_6 \
    235  0x30, 0x00, \
    236  0x18, 0x00, \
    237  0x0e, 0x00, \
    238  0x82, 0x80, \
    239  0xc1, 0x00, \
    240  0x60, 0x80
    241 
    242 #define kMaskBursty9_7 \
    243  0x60, 0x00, \
    244  0x30, 0x00, \
    245  0x18, 0x00, \
    246  0x0c, 0x00, \
    247  0x07, 0x00, \
    248  0x81, 0x00, \
    249  0xc0, 0x80
    250 
    251 #define kMaskBursty9_8 \
    252  0xc0, 0x00, \
    253  0x60, 0x00, \
    254  0x30, 0x00, \
    255  0x18, 0x00, \
    256  0x0c, 0x00, \
    257  0x06, 0x00, \
    258  0x03, 0x00, \
    259  0x80, 0x80
    260 
    261 #define kMaskBursty9_9 \
    262  0x80, 0x00, \
    263  0xc0, 0x00, \
    264  0x60, 0x00, \
    265  0x30, 0x00, \
    266  0x18, 0x00, \
    267  0x0c, 0x00, \
    268  0x06, 0x00, \
    269  0x03, 0x00, \
    270  0x01, 0x80
    271 
    272 #define kMaskBursty10_1 \
    273  0xff, 0xc0
    274 
    275 #define kMaskBursty10_2 \
    276  0xaa, 0x80, \
    277  0xd5, 0x40
    278 
    279 #define kMaskBursty10_3 \
    280  0xc9, 0x00, \
    281  0x74, 0x80, \
    282  0x92, 0x40
    283 
    284 #define kMaskBursty10_4 \
    285  0x62, 0x00, \
    286  0x39, 0x00, \
    287  0x8a, 0x80, \
    288  0xc5, 0x40
    289 
    290 #define kMaskBursty10_5 \
    291  0x85, 0x00, \
    292  0xc2, 0x80, \
    293  0x61, 0x40, \
    294  0x30, 0x80, \
    295  0x18, 0x40
    296 
    297 #define kMaskBursty10_6 \
    298  0x18, 0x00, \
    299  0x0e, 0x00, \
    300  0x82, 0x80, \
    301  0xc1, 0x40, \
    302  0x60, 0x80, \
    303  0x30, 0x40
    304 
    305 #define kMaskBursty10_7 \
    306  0x30, 0x00, \
    307  0x18, 0x00, \
    308  0x0c, 0x00, \
    309  0x07, 0x00, \
    310  0x81, 0x40, \
    311  0xc0, 0x80, \
    312  0x60, 0x40
    313 
    314 #define kMaskBursty10_8 \
    315  0x60, 0x00, \
    316  0x30, 0x00, \
    317  0x18, 0x00, \
    318  0x0c, 0x00, \
    319  0x06, 0x00, \
    320  0x03, 0x00, \
    321  0x80, 0x80, \
    322  0xc0, 0x40
    323 
    324 #define kMaskBursty10_9 \
    325  0xc0, 0x00, \
    326  0x60, 0x00, \
    327  0x30, 0x00, \
    328  0x18, 0x00, \
    329  0x0c, 0x00, \
    330  0x06, 0x00, \
    331  0x03, 0x00, \
    332  0x01, 0x80, \
    333  0x80, 0x40
    334 
    335 #define kMaskBursty10_10 \
    336  0x80, 0x00, \
    337  0xc0, 0x00, \
    338  0x60, 0x00, \
    339  0x30, 0x00, \
    340  0x18, 0x00, \
    341  0x0c, 0x00, \
    342  0x06, 0x00, \
    343  0x03, 0x00, \
    344  0x01, 0x80, \
    345  0x00, 0xc0
    346 
    347 #define kMaskBursty11_1 \
    348  0xff, 0xe0
    349 
    350 #define kMaskBursty11_2 \
    351  0xd5, 0x40, \
    352  0xaa, 0xa0
    353 
    354 #define kMaskBursty11_3 \
    355  0x74, 0x80, \
    356  0x92, 0x40, \
    357  0xc9, 0x20
    358 
    359 #define kMaskBursty11_4 \
    360  0x39, 0x00, \
    361  0x8a, 0x80, \
    362  0xc5, 0x40, \
    363  0x62, 0x20
    364 
    365 #define kMaskBursty11_5 \
    366  0xc2, 0xc0, \
    367  0x61, 0x00, \
    368  0x30, 0xa0, \
    369  0x1c, 0x40, \
    370  0x85, 0x20
    371 
    372 #define kMaskBursty11_6 \
    373  0x0e, 0x00, \
    374  0x82, 0x80, \
    375  0xc1, 0x40, \
    376  0x60, 0xa0, \
    377  0x30, 0x40, \
    378  0x18, 0x20
    379 
    380 #define kMaskBursty11_7 \
    381  0x18, 0x00, \
    382  0x0c, 0x00, \
    383  0x07, 0x00, \
    384  0x81, 0x40, \
    385  0xc0, 0xa0, \
    386  0x60, 0x40, \
    387  0x30, 0x20
    388 
    389 #define kMaskBursty11_8 \
    390  0x30, 0x00, \
    391  0x18, 0x00, \
    392  0x0c, 0x00, \
    393  0x06, 0x00, \
    394  0x03, 0x40, \
    395  0x80, 0xa0, \
    396  0xc0, 0x40, \
    397  0x60, 0x20
    398 
    399 #define kMaskBursty11_9 \
    400  0x60, 0x00, \
    401  0x30, 0x00, \
    402  0x18, 0x00, \
    403  0x0c, 0x00, \
    404  0x06, 0x00, \
    405  0x03, 0x00, \
    406  0x01, 0x80, \
    407  0x80, 0x40, \
    408  0xc0, 0x20
    409 
    410 #define kMaskBursty11_10 \
    411  0xc0, 0x00, \
    412  0x60, 0x00, \
    413  0x30, 0x00, \
    414  0x18, 0x00, \
    415  0x0c, 0x00, \
    416  0x06, 0x00, \
    417  0x03, 0x00, \
    418  0x01, 0x80, \
    419  0x00, 0xc0, \
    420  0x80, 0x20
    421 
    422 #define kMaskBursty11_11 \
    423  0x80, 0x00, \
    424  0xc0, 0x00, \
    425  0x60, 0x00, \
    426  0x30, 0x00, \
    427  0x18, 0x00, \
    428  0x0c, 0x00, \
    429  0x06, 0x00, \
    430  0x03, 0x00, \
    431  0x01, 0x80, \
    432  0x00, 0xc0, \
    433  0x00, 0x60
    434 
    435 #define kMaskBursty12_1 \
    436  0xff, 0xf0
    437 
    438 #define kMaskBursty12_2 \
    439  0xaa, 0xa0, \
    440  0xd5, 0x50
    441 
    442 #define kMaskBursty12_3 \
    443  0x92, 0x40, \
    444  0xc9, 0x20, \
    445  0x74, 0x90
    446 
    447 #define kMaskBursty12_4 \
    448  0x8a, 0x80, \
    449  0xc5, 0x40, \
    450  0x62, 0x20, \
    451  0x39, 0x10
    452 
    453 #define kMaskBursty12_5 \
    454  0x61, 0x00, \
    455  0x30, 0xa0, \
    456  0x1c, 0x50, \
    457  0x85, 0x20, \
    458  0xc2, 0x90
    459 
    460 #define kMaskBursty12_6 \
    461  0x82, 0x90, \
    462  0xc1, 0x40, \
    463  0x60, 0xa0, \
    464  0x30, 0x50, \
    465  0x18, 0x20, \
    466  0x0c, 0x10
    467 
    468 #define kMaskBursty12_7 \
    469  0x0c, 0x00, \
    470  0x07, 0x00, \
    471  0x81, 0x40, \
    472  0xc0, 0xa0, \
    473  0x60, 0x50, \
    474  0x30, 0x20, \
    475  0x18, 0x10
    476 
    477 #define kMaskBursty12_8 \
    478  0x18, 0x00, \
    479  0x0c, 0x00, \
    480  0x06, 0x00, \
    481  0x03, 0x00, \
    482  0x80, 0xa0, \
    483  0xc0, 0x50, \
    484  0x60, 0x20, \
    485  0x30, 0x10
    486 
    487 #define kMaskBursty12_9 \
    488  0x30, 0x00, \
    489  0x18, 0x00, \
    490  0x0c, 0x00, \
    491  0x06, 0x00, \
    492  0x03, 0x00, \
    493  0x01, 0x80, \
    494  0x80, 0x50, \
    495  0xc0, 0x20, \
    496  0x60, 0x10
    497 
    498 #define kMaskBursty12_10 \
    499  0x60, 0x00, \
    500  0x30, 0x00, \
    501  0x18, 0x00, \
    502  0x0c, 0x00, \
    503  0x06, 0x00, \
    504  0x03, 0x00, \
    505  0x01, 0x80, \
    506  0x00, 0xc0, \
    507  0x80, 0x20, \
    508  0xc0, 0x10
    509 
    510 #define kMaskBursty12_11 \
    511  0xc0, 0x00, \
    512  0x60, 0x00, \
    513  0x30, 0x00, \
    514  0x18, 0x00, \
    515  0x0c, 0x00, \
    516  0x06, 0x00, \
    517  0x03, 0x00, \
    518  0x01, 0x80, \
    519  0x00, 0xc0, \
    520  0x00, 0x60, \
    521  0x80, 0x10
    522 
    523 #define kMaskBursty12_12 \
    524  0x80, 0x00, \
    525  0xc0, 0x00, \
    526  0x60, 0x00, \
    527  0x30, 0x00, \
    528  0x18, 0x00, \
    529  0x0c, 0x00, \
    530  0x06, 0x00, \
    531  0x03, 0x00, \
    532  0x01, 0x80, \
    533  0x00, 0xc0, \
    534  0x00, 0x60, \
    535  0x00, 0x30
    536 
    537 #define kPacketMaskBursty1 1, \
    538  kMaskBursty1_1
    539 
    540 #define kPacketMaskBursty2 2, \
    541  kMaskBursty2_1, \
    542  kMaskBursty2_2
    543 
    544 #define kPacketMaskBursty3 3, \
    545  kMaskBursty3_1, \
    546  kMaskBursty3_2, \
    547  kMaskBursty3_3
    548 
    549 #define kPacketMaskBursty4 4, \
    550  kMaskBursty4_1, \
    551  kMaskBursty4_2, \
    552  kMaskBursty4_3, \
    553  kMaskBursty4_4
    554 
    555 #define kPacketMaskBursty5 5, \
    556  kMaskBursty5_1, \
    557  kMaskBursty5_2, \
    558  kMaskBursty5_3, \
    559  kMaskBursty5_4, \
    560  kMaskBursty5_5
    561 
    562 #define kPacketMaskBursty6 6, \
    563  kMaskBursty6_1, \
    564  kMaskBursty6_2, \
    565  kMaskBursty6_3, \
    566  kMaskBursty6_4, \
    567  kMaskBursty6_5, \
    568  kMaskBursty6_6
    569 
    570 #define kPacketMaskBursty7 7, \
    571  kMaskBursty7_1, \
    572  kMaskBursty7_2, \
    573  kMaskBursty7_3, \
    574  kMaskBursty7_4, \
    575  kMaskBursty7_5, \
    576  kMaskBursty7_6, \
    577  kMaskBursty7_7
    578 
    579 #define kPacketMaskBursty8 8, \
    580  kMaskBursty8_1, \
    581  kMaskBursty8_2, \
    582  kMaskBursty8_3, \
    583  kMaskBursty8_4, \
    584  kMaskBursty8_5, \
    585  kMaskBursty8_6, \
    586  kMaskBursty8_7, \
    587  kMaskBursty8_8
    588 
    589 #define kPacketMaskBursty9 9, \
    590  kMaskBursty9_1, \
    591  kMaskBursty9_2, \
    592  kMaskBursty9_3, \
    593  kMaskBursty9_4, \
    594  kMaskBursty9_5, \
    595  kMaskBursty9_6, \
    596  kMaskBursty9_7, \
    597  kMaskBursty9_8, \
    598  kMaskBursty9_9
    599 
    600 #define kPacketMaskBursty10 10, \
    601  kMaskBursty10_1, \
    602  kMaskBursty10_2, \
    603  kMaskBursty10_3, \
    604  kMaskBursty10_4, \
    605  kMaskBursty10_5, \
    606  kMaskBursty10_6, \
    607  kMaskBursty10_7, \
    608  kMaskBursty10_8, \
    609  kMaskBursty10_9, \
    610  kMaskBursty10_10
    611 
    612 #define kPacketMaskBursty11 11, \
    613  kMaskBursty11_1, \
    614  kMaskBursty11_2, \
    615  kMaskBursty11_3, \
    616  kMaskBursty11_4, \
    617  kMaskBursty11_5, \
    618  kMaskBursty11_6, \
    619  kMaskBursty11_7, \
    620  kMaskBursty11_8, \
    621  kMaskBursty11_9, \
    622  kMaskBursty11_10, \
    623  kMaskBursty11_11
    624 
    625 #define kPacketMaskBursty12 12, \
    626  kMaskBursty12_1, \
    627  kMaskBursty12_2, \
    628  kMaskBursty12_3, \
    629  kMaskBursty12_4, \
    630  kMaskBursty12_5, \
    631  kMaskBursty12_6, \
    632  kMaskBursty12_7, \
    633  kMaskBursty12_8, \
    634  kMaskBursty12_9, \
    635  kMaskBursty12_10, \
    636  kMaskBursty12_11, \
    637  kMaskBursty12_12
    638 
    639 // clang-format on
    640 }  // namespace
    641 
    642 namespace webrtc {
    643 namespace fec_private_tables {
    644 
    645 const uint8_t kPacketMaskBurstyTbl[] = {
    646    12,
    647    kPacketMaskBursty1,
    648    kPacketMaskBursty2,
    649    kPacketMaskBursty3,
    650    kPacketMaskBursty4,
    651    kPacketMaskBursty5,
    652    kPacketMaskBursty6,
    653    kPacketMaskBursty7,
    654    kPacketMaskBursty8,
    655    kPacketMaskBursty9,
    656    kPacketMaskBursty10,
    657    kPacketMaskBursty11,
    658    kPacketMaskBursty12,
    659 };
    660 
    661 }  // namespace fec_private_tables
    662 }  // namespace webrtc