blob: 9dbc012368b41c2329e931e569b903face6cca4b [file] [log] [blame]
/*
* Copyright (c) 2018 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.
*/
#include "modules/rtp_rtcp/source/fec_private_tables_bursty.h"
namespace {
// clang-format off
#define kMaskBursty1_1 \
0x80, 0x00
#define kMaskBursty2_1 \
0xc0, 0x00
#define kMaskBursty2_2 \
0x80, 0x00, \
0xc0, 0x00
#define kMaskBursty3_1 \
0xe0, 0x00
#define kMaskBursty3_2 \
0xc0, 0x00, \
0xa0, 0x00
#define kMaskBursty3_3 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00
#define kMaskBursty4_1 \
0xf0, 0x00
#define kMaskBursty4_2 \
0xa0, 0x00, \
0xd0, 0x00
#define kMaskBursty4_3 \
0xc0, 0x00, \
0x60, 0x00, \
0x90, 0x00
#define kMaskBursty4_4 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00
#define kMaskBursty5_1 \
0xf8, 0x00
#define kMaskBursty5_2 \
0xd0, 0x00, \
0xa8, 0x00
#define kMaskBursty5_3 \
0x70, 0x00, \
0x90, 0x00, \
0xc8, 0x00
#define kMaskBursty5_4 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x88, 0x00
#define kMaskBursty5_5 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00
#define kMaskBursty6_1 \
0xfc, 0x00
#define kMaskBursty6_2 \
0xa8, 0x00, \
0xd4, 0x00
#define kMaskBursty6_3 \
0x94, 0x00, \
0xc8, 0x00, \
0x64, 0x00
#define kMaskBursty6_4 \
0x60, 0x00, \
0x38, 0x00, \
0x88, 0x00, \
0xc4, 0x00
#define kMaskBursty6_5 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x84, 0x00
#define kMaskBursty6_6 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00
#define kMaskBursty7_1 \
0xfe, 0x00
#define kMaskBursty7_2 \
0xd4, 0x00, \
0xaa, 0x00
#define kMaskBursty7_3 \
0xc8, 0x00, \
0x74, 0x00, \
0x92, 0x00
#define kMaskBursty7_4 \
0x38, 0x00, \
0x8a, 0x00, \
0xc4, 0x00, \
0x62, 0x00
#define kMaskBursty7_5 \
0x60, 0x00, \
0x30, 0x00, \
0x1c, 0x00, \
0x84, 0x00, \
0xc2, 0x00
#define kMaskBursty7_6 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x82, 0x00
#define kMaskBursty7_7 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00
#define kMaskBursty8_1 \
0xff, 0x00
#define kMaskBursty8_2 \
0xaa, 0x00, \
0xd5, 0x00
#define kMaskBursty8_3 \
0x74, 0x00, \
0x92, 0x00, \
0xc9, 0x00
#define kMaskBursty8_4 \
0x8a, 0x00, \
0xc5, 0x00, \
0x62, 0x00, \
0x31, 0x00
#define kMaskBursty8_5 \
0x30, 0x00, \
0x1c, 0x00, \
0x85, 0x00, \
0xc2, 0x00, \
0x61, 0x00
#define kMaskBursty8_6 \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0e, 0x00, \
0x82, 0x00, \
0xc1, 0x00
#define kMaskBursty8_7 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x81, 0x00
#define kMaskBursty8_8 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00
#define kMaskBursty9_1 \
0xff, 0x80
#define kMaskBursty9_2 \
0xd5, 0x00, \
0xaa, 0x80
#define kMaskBursty9_3 \
0x92, 0x00, \
0xc9, 0x00, \
0x74, 0x80
#define kMaskBursty9_4 \
0xc5, 0x00, \
0x62, 0x00, \
0x39, 0x00, \
0x8a, 0x80
#define kMaskBursty9_5 \
0x1c, 0x00, \
0x85, 0x00, \
0xc2, 0x80, \
0x61, 0x00, \
0x30, 0x80
#define kMaskBursty9_6 \
0x30, 0x00, \
0x18, 0x00, \
0x0e, 0x00, \
0x82, 0x80, \
0xc1, 0x00, \
0x60, 0x80
#define kMaskBursty9_7 \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x07, 0x00, \
0x81, 0x00, \
0xc0, 0x80
#define kMaskBursty9_8 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x80, 0x80
#define kMaskBursty9_9 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80
#define kMaskBursty10_1 \
0xff, 0xc0
#define kMaskBursty10_2 \
0xaa, 0x80, \
0xd5, 0x40
#define kMaskBursty10_3 \
0xc9, 0x00, \
0x74, 0x80, \
0x92, 0x40
#define kMaskBursty10_4 \
0x62, 0x00, \
0x39, 0x00, \
0x8a, 0x80, \
0xc5, 0x40
#define kMaskBursty10_5 \
0x85, 0x00, \
0xc2, 0x80, \
0x61, 0x40, \
0x30, 0x80, \
0x18, 0x40
#define kMaskBursty10_6 \
0x18, 0x00, \
0x0e, 0x00, \
0x82, 0x80, \
0xc1, 0x40, \
0x60, 0x80, \
0x30, 0x40
#define kMaskBursty10_7 \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x07, 0x00, \
0x81, 0x40, \
0xc0, 0x80, \
0x60, 0x40
#define kMaskBursty10_8 \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x80, 0x80, \
0xc0, 0x40
#define kMaskBursty10_9 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x80, 0x40
#define kMaskBursty10_10 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0
#define kMaskBursty11_1 \
0xff, 0xe0
#define kMaskBursty11_2 \
0xd5, 0x40, \
0xaa, 0xa0
#define kMaskBursty11_3 \
0x74, 0x80, \
0x92, 0x40, \
0xc9, 0x20
#define kMaskBursty11_4 \
0x39, 0x00, \
0x8a, 0x80, \
0xc5, 0x40, \
0x62, 0x20
#define kMaskBursty11_5 \
0xc2, 0xc0, \
0x61, 0x00, \
0x30, 0xa0, \
0x1c, 0x40, \
0x85, 0x20
#define kMaskBursty11_6 \
0x0e, 0x00, \
0x82, 0x80, \
0xc1, 0x40, \
0x60, 0xa0, \
0x30, 0x40, \
0x18, 0x20
#define kMaskBursty11_7 \
0x18, 0x00, \
0x0c, 0x00, \
0x07, 0x00, \
0x81, 0x40, \
0xc0, 0xa0, \
0x60, 0x40, \
0x30, 0x20
#define kMaskBursty11_8 \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x40, \
0x80, 0xa0, \
0xc0, 0x40, \
0x60, 0x20
#define kMaskBursty11_9 \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x80, 0x40, \
0xc0, 0x20
#define kMaskBursty11_10 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0, \
0x80, 0x20
#define kMaskBursty11_11 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0, \
0x00, 0x60
#define kMaskBursty12_1 \
0xff, 0xf0
#define kMaskBursty12_2 \
0xaa, 0xa0, \
0xd5, 0x50
#define kMaskBursty12_3 \
0x92, 0x40, \
0xc9, 0x20, \
0x74, 0x90
#define kMaskBursty12_4 \
0x8a, 0x80, \
0xc5, 0x40, \
0x62, 0x20, \
0x39, 0x10
#define kMaskBursty12_5 \
0x61, 0x00, \
0x30, 0xa0, \
0x1c, 0x50, \
0x85, 0x20, \
0xc2, 0x90
#define kMaskBursty12_6 \
0x82, 0x90, \
0xc1, 0x40, \
0x60, 0xa0, \
0x30, 0x50, \
0x18, 0x20, \
0x0c, 0x10
#define kMaskBursty12_7 \
0x0c, 0x00, \
0x07, 0x00, \
0x81, 0x40, \
0xc0, 0xa0, \
0x60, 0x50, \
0x30, 0x20, \
0x18, 0x10
#define kMaskBursty12_8 \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x80, 0xa0, \
0xc0, 0x50, \
0x60, 0x20, \
0x30, 0x10
#define kMaskBursty12_9 \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x80, 0x50, \
0xc0, 0x20, \
0x60, 0x10
#define kMaskBursty12_10 \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0, \
0x80, 0x20, \
0xc0, 0x10
#define kMaskBursty12_11 \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0, \
0x00, 0x60, \
0x80, 0x10
#define kMaskBursty12_12 \
0x80, 0x00, \
0xc0, 0x00, \
0x60, 0x00, \
0x30, 0x00, \
0x18, 0x00, \
0x0c, 0x00, \
0x06, 0x00, \
0x03, 0x00, \
0x01, 0x80, \
0x00, 0xc0, \
0x00, 0x60, \
0x00, 0x30
#define kPacketMaskBursty1 1, \
kMaskBursty1_1
#define kPacketMaskBursty2 2, \
kMaskBursty2_1, \
kMaskBursty2_2
#define kPacketMaskBursty3 3, \
kMaskBursty3_1, \
kMaskBursty3_2, \
kMaskBursty3_3
#define kPacketMaskBursty4 4, \
kMaskBursty4_1, \
kMaskBursty4_2, \
kMaskBursty4_3, \
kMaskBursty4_4
#define kPacketMaskBursty5 5, \
kMaskBursty5_1, \
kMaskBursty5_2, \
kMaskBursty5_3, \
kMaskBursty5_4, \
kMaskBursty5_5
#define kPacketMaskBursty6 6, \
kMaskBursty6_1, \
kMaskBursty6_2, \
kMaskBursty6_3, \
kMaskBursty6_4, \
kMaskBursty6_5, \
kMaskBursty6_6
#define kPacketMaskBursty7 7, \
kMaskBursty7_1, \
kMaskBursty7_2, \
kMaskBursty7_3, \
kMaskBursty7_4, \
kMaskBursty7_5, \
kMaskBursty7_6, \
kMaskBursty7_7
#define kPacketMaskBursty8 8, \
kMaskBursty8_1, \
kMaskBursty8_2, \
kMaskBursty8_3, \
kMaskBursty8_4, \
kMaskBursty8_5, \
kMaskBursty8_6, \
kMaskBursty8_7, \
kMaskBursty8_8
#define kPacketMaskBursty9 9, \
kMaskBursty9_1, \
kMaskBursty9_2, \
kMaskBursty9_3, \
kMaskBursty9_4, \
kMaskBursty9_5, \
kMaskBursty9_6, \
kMaskBursty9_7, \
kMaskBursty9_8, \
kMaskBursty9_9
#define kPacketMaskBursty10 10, \
kMaskBursty10_1, \
kMaskBursty10_2, \
kMaskBursty10_3, \
kMaskBursty10_4, \
kMaskBursty10_5, \
kMaskBursty10_6, \
kMaskBursty10_7, \
kMaskBursty10_8, \
kMaskBursty10_9, \
kMaskBursty10_10
#define kPacketMaskBursty11 11, \
kMaskBursty11_1, \
kMaskBursty11_2, \
kMaskBursty11_3, \
kMaskBursty11_4, \
kMaskBursty11_5, \
kMaskBursty11_6, \
kMaskBursty11_7, \
kMaskBursty11_8, \
kMaskBursty11_9, \
kMaskBursty11_10, \
kMaskBursty11_11
#define 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
// clang-format on
} // namespace
namespace webrtc {
namespace fec_private_tables {
const uint8_t kPacketMaskBurstyTbl[] = {
12,
kPacketMaskBursty1,
kPacketMaskBursty2,
kPacketMaskBursty3,
kPacketMaskBursty4,
kPacketMaskBursty5,
kPacketMaskBursty6,
kPacketMaskBursty7,
kPacketMaskBursty8,
kPacketMaskBursty9,
kPacketMaskBursty10,
kPacketMaskBursty11,
kPacketMaskBursty12,
};
} // namespace fec_private_tables
} // namespace webrtc