| /* | 
 |  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
 |  * | 
 |  *  Use of this source code is governed by a BSD-style license | 
 |  *  that can be found in the LICENSE file in the root of the source | 
 |  *  tree. An additional intellectual property rights grant can be found | 
 |  *  in the file PATENTS.  All contributing project authors may | 
 |  *  be found in the AUTHORS file in the root of the source tree. | 
 |  */ | 
 |  | 
 | #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ | 
 | #define WEBRTC_MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ | 
 |  | 
 | // This file contains a set of packets masks for the FEC code. The masks in | 
 | // this table are specifically designed to favor recovery of bursty/consecutive | 
 | // loss network conditions. The tradeoff is worse recovery for random losses. | 
 | // These packet masks are currently defined to protect up to 12 media packets. | 
 | // They have the following property: for any packet mask defined by the | 
 | // parameters (k,m), where k = number of media packets, m = number of FEC | 
 | // packets, all "consecutive" losses of size <= m are completely recoverable. | 
 | // By consecutive losses we mean consecutive with respect to the sequence | 
 | // number ordering of the list (media and FEC) of packets. The difference | 
 | // between these masks (|kFecMaskBursty|) and |kFecMaskRandom| type, defined | 
 | // in fec_private_tables.h, is more significant for longer codes | 
 | // (i.e., more packets/symbols in the code, so larger (k,m), i.e.,  k > 4, | 
 | // m > 3). | 
 |  | 
 | #include "webrtc/typedefs.h" | 
 |  | 
 | namespace webrtc { | 
 | namespace fec_private_tables { | 
 |  | 
 | const uint8_t kMaskBursty1_1[2] = { | 
 |   0x80, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty2_1[2] = { | 
 |   0xc0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty2_2[4] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty3_1[2] = { | 
 |   0xe0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty3_2[4] = { | 
 |   0xc0, 0x00, | 
 |   0xa0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty3_3[6] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty4_1[2] = { | 
 |   0xf0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty4_2[4] = { | 
 |   0xa0, 0x00, | 
 |   0xd0, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty4_3[6] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x90, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty4_4[8] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty5_1[2] = { | 
 |   0xf8, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty5_2[4] = { | 
 |   0xd0, 0x00, | 
 |   0xa8, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty5_3[6] = { | 
 |   0x70, 0x00, | 
 |   0x90, 0x00, | 
 |   0xc8, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty5_4[8] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x88, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty5_5[10] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_1[2] = { | 
 |   0xfc, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_2[4] = { | 
 |   0xa8, 0x00, | 
 |   0xd4, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_3[6] = { | 
 |   0x94, 0x00, | 
 |   0xc8, 0x00, | 
 |   0x64, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_4[8] = { | 
 |   0x60, 0x00, | 
 |   0x38, 0x00, | 
 |   0x88, 0x00, | 
 |   0xc4, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_5[10] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x84, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty6_6[12] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_1[2] = { | 
 |   0xfe, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_2[4] = { | 
 |   0xd4, 0x00, | 
 |   0xaa, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_3[6] = { | 
 |   0xc8, 0x00, | 
 |   0x74, 0x00, | 
 |   0x92, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_4[8] = { | 
 |   0x38, 0x00, | 
 |   0x8a, 0x00, | 
 |   0xc4, 0x00, | 
 |   0x62, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_5[10] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x1c, 0x00, | 
 |   0x84, 0x00, | 
 |   0xc2, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_6[12] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x82, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty7_7[14] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_1[2] = { | 
 |   0xff, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_2[4] = { | 
 |   0xaa, 0x00, | 
 |   0xd5, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_3[6] = { | 
 |   0x74, 0x00, | 
 |   0x92, 0x00, | 
 |   0xc9, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_4[8] = { | 
 |   0x8a, 0x00, | 
 |   0xc5, 0x00, | 
 |   0x62, 0x00, | 
 |   0x31, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_5[10] = { | 
 |   0x30, 0x00, | 
 |   0x1c, 0x00, | 
 |   0x85, 0x00, | 
 |   0xc2, 0x00, | 
 |   0x61, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_6[12] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0e, 0x00, | 
 |   0x82, 0x00, | 
 |   0xc1, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_7[14] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x81, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty8_8[16] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_1[2] = { | 
 |   0xff, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_2[4] = { | 
 |   0xd5, 0x00, | 
 |   0xaa, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_3[6] = { | 
 |   0x92, 0x00, | 
 |   0xc9, 0x00, | 
 |   0x74, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_4[8] = { | 
 |   0xc5, 0x00, | 
 |   0x62, 0x00, | 
 |   0x39, 0x00, | 
 |   0x8a, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_5[10] = { | 
 |   0x1c, 0x00, | 
 |   0x85, 0x00, | 
 |   0xc2, 0x80, | 
 |   0x61, 0x00, | 
 |   0x30, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_6[12] = { | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0e, 0x00, | 
 |   0x82, 0x80, | 
 |   0xc1, 0x00, | 
 |   0x60, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_7[14] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x07, 0x00, | 
 |   0x81, 0x00, | 
 |   0xc0, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_8[16] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x80, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty9_9[18] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_1[2] = { | 
 |   0xff, 0xc0 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_2[4] = { | 
 |   0xaa, 0x80, | 
 |   0xd5, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_3[6] = { | 
 |   0xc9, 0x00, | 
 |   0x74, 0x80, | 
 |   0x92, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_4[8] = { | 
 |   0x62, 0x00, | 
 |   0x39, 0x00, | 
 |   0x8a, 0x80, | 
 |   0xc5, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_5[10] = { | 
 |   0x85, 0x00, | 
 |   0xc2, 0x80, | 
 |   0x61, 0x40, | 
 |   0x30, 0x80, | 
 |   0x18, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_6[12] = { | 
 |   0x18, 0x00, | 
 |   0x0e, 0x00, | 
 |   0x82, 0x80, | 
 |   0xc1, 0x40, | 
 |   0x60, 0x80, | 
 |   0x30, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_7[14] = { | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x07, 0x00, | 
 |   0x81, 0x40, | 
 |   0xc0, 0x80, | 
 |   0x60, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_8[16] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x80, 0x80, | 
 |   0xc0, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_9[18] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x80, 0x40 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty10_10[20] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_1[2] = { | 
 |   0xff, 0xe0 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_2[4] = { | 
 |   0xd5, 0x40, | 
 |   0xaa, 0xa0 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_3[6] = { | 
 |   0x74, 0x80, | 
 |   0x92, 0x40, | 
 |   0xc9, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_4[8] = { | 
 |   0x39, 0x00, | 
 |   0x8a, 0x80, | 
 |   0xc5, 0x40, | 
 |   0x62, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_5[10] = { | 
 |   0xc2, 0xc0, | 
 |   0x61, 0x00, | 
 |   0x30, 0xa0, | 
 |   0x1c, 0x40, | 
 |   0x85, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_6[12] = { | 
 |   0x0e, 0x00, | 
 |   0x82, 0x80, | 
 |   0xc1, 0x40, | 
 |   0x60, 0xa0, | 
 |   0x30, 0x40, | 
 |   0x18, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_7[14] = { | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x07, 0x00, | 
 |   0x81, 0x40, | 
 |   0xc0, 0xa0, | 
 |   0x60, 0x40, | 
 |   0x30, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_8[16] = { | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x40, | 
 |   0x80, 0xa0, | 
 |   0xc0, 0x40, | 
 |   0x60, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_9[18] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x80, 0x40, | 
 |   0xc0, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_10[20] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0, | 
 |   0x80, 0x20 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty11_11[22] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0, | 
 |   0x00, 0x60 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_1[2] = { | 
 |   0xff, 0xf0 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_2[4] = { | 
 |   0xaa, 0xa0, | 
 |   0xd5, 0x50 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_3[6] = { | 
 |   0x92, 0x40, | 
 |   0xc9, 0x20, | 
 |   0x74, 0x90 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_4[8] = { | 
 |   0x8a, 0x80, | 
 |   0xc5, 0x40, | 
 |   0x62, 0x20, | 
 |   0x39, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_5[10] = { | 
 |   0x61, 0x00, | 
 |   0x30, 0xa0, | 
 |   0x1c, 0x50, | 
 |   0x85, 0x20, | 
 |   0xc2, 0x90 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_6[12] = { | 
 |   0x82, 0x90, | 
 |   0xc1, 0x40, | 
 |   0x60, 0xa0, | 
 |   0x30, 0x50, | 
 |   0x18, 0x20, | 
 |   0x0c, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_7[14] = { | 
 |   0x0c, 0x00, | 
 |   0x07, 0x00, | 
 |   0x81, 0x40, | 
 |   0xc0, 0xa0, | 
 |   0x60, 0x50, | 
 |   0x30, 0x20, | 
 |   0x18, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_8[16] = { | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x80, 0xa0, | 
 |   0xc0, 0x50, | 
 |   0x60, 0x20, | 
 |   0x30, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_9[18] = { | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x80, 0x50, | 
 |   0xc0, 0x20, | 
 |   0x60, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_10[20] = { | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0, | 
 |   0x80, 0x20, | 
 |   0xc0, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_11[22] = { | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0, | 
 |   0x00, 0x60, | 
 |   0x80, 0x10 | 
 | }; | 
 |  | 
 | const uint8_t kMaskBursty12_12[24] = { | 
 |   0x80, 0x00, | 
 |   0xc0, 0x00, | 
 |   0x60, 0x00, | 
 |   0x30, 0x00, | 
 |   0x18, 0x00, | 
 |   0x0c, 0x00, | 
 |   0x06, 0x00, | 
 |   0x03, 0x00, | 
 |   0x01, 0x80, | 
 |   0x00, 0xc0, | 
 |   0x00, 0x60, | 
 |   0x00, 0x30 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty1[1] = { | 
 |   kMaskBursty1_1 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty2[2] = { | 
 |   kMaskBursty2_1, | 
 |   kMaskBursty2_2 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty3[3] = { | 
 |   kMaskBursty3_1, | 
 |   kMaskBursty3_2, | 
 |   kMaskBursty3_3 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty4[4] = { | 
 |   kMaskBursty4_1, | 
 |   kMaskBursty4_2, | 
 |   kMaskBursty4_3, | 
 |   kMaskBursty4_4 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty5[5] = { | 
 |   kMaskBursty5_1, | 
 |   kMaskBursty5_2, | 
 |   kMaskBursty5_3, | 
 |   kMaskBursty5_4, | 
 |   kMaskBursty5_5 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty6[6] = { | 
 |   kMaskBursty6_1, | 
 |   kMaskBursty6_2, | 
 |   kMaskBursty6_3, | 
 |   kMaskBursty6_4, | 
 |   kMaskBursty6_5, | 
 |   kMaskBursty6_6 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty7[7] = { | 
 |   kMaskBursty7_1, | 
 |   kMaskBursty7_2, | 
 |   kMaskBursty7_3, | 
 |   kMaskBursty7_4, | 
 |   kMaskBursty7_5, | 
 |   kMaskBursty7_6, | 
 |   kMaskBursty7_7 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty8[8] = { | 
 |   kMaskBursty8_1, | 
 |   kMaskBursty8_2, | 
 |   kMaskBursty8_3, | 
 |   kMaskBursty8_4, | 
 |   kMaskBursty8_5, | 
 |   kMaskBursty8_6, | 
 |   kMaskBursty8_7, | 
 |   kMaskBursty8_8 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty9[9] = { | 
 |   kMaskBursty9_1, | 
 |   kMaskBursty9_2, | 
 |   kMaskBursty9_3, | 
 |   kMaskBursty9_4, | 
 |   kMaskBursty9_5, | 
 |   kMaskBursty9_6, | 
 |   kMaskBursty9_7, | 
 |   kMaskBursty9_8, | 
 |   kMaskBursty9_9 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty10[10] = { | 
 |   kMaskBursty10_1, | 
 |   kMaskBursty10_2, | 
 |   kMaskBursty10_3, | 
 |   kMaskBursty10_4, | 
 |   kMaskBursty10_5, | 
 |   kMaskBursty10_6, | 
 |   kMaskBursty10_7, | 
 |   kMaskBursty10_8, | 
 |   kMaskBursty10_9, | 
 |   kMaskBursty10_10 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty11[11] = { | 
 |   kMaskBursty11_1, | 
 |   kMaskBursty11_2, | 
 |   kMaskBursty11_3, | 
 |   kMaskBursty11_4, | 
 |   kMaskBursty11_5, | 
 |   kMaskBursty11_6, | 
 |   kMaskBursty11_7, | 
 |   kMaskBursty11_8, | 
 |   kMaskBursty11_9, | 
 |   kMaskBursty11_10, | 
 |   kMaskBursty11_11 | 
 | }; | 
 |  | 
 | const uint8_t* kPacketMaskBursty12[12] = { | 
 |   kMaskBursty12_1, | 
 |   kMaskBursty12_2, | 
 |   kMaskBursty12_3, | 
 |   kMaskBursty12_4, | 
 |   kMaskBursty12_5, | 
 |   kMaskBursty12_6, | 
 |   kMaskBursty12_7, | 
 |   kMaskBursty12_8, | 
 |   kMaskBursty12_9, | 
 |   kMaskBursty12_10, | 
 |   kMaskBursty12_11, | 
 |   kMaskBursty12_12 | 
 | }; | 
 |  | 
 | const uint8_t** kPacketMaskBurstyTbl[12] = { | 
 |   kPacketMaskBursty1, | 
 |   kPacketMaskBursty2, | 
 |   kPacketMaskBursty3, | 
 |   kPacketMaskBursty4, | 
 |   kPacketMaskBursty5, | 
 |   kPacketMaskBursty6, | 
 |   kPacketMaskBursty7, | 
 |   kPacketMaskBursty8, | 
 |   kPacketMaskBursty9, | 
 |   kPacketMaskBursty10, | 
 |   kPacketMaskBursty11, | 
 |   kPacketMaskBursty12 | 
 | }; | 
 |  | 
 | }  // namespace fec_private_tables | 
 | }  // namespace webrtc | 
 | #endif  // WEBRTC_MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ |