summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc660
1 files changed, 660 insertions, 0 deletions
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc
new file mode 100644
index 0000000000..9dbc012368
--- /dev/null
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc
@@ -0,0 +1,660 @@
+/*
+ * 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