From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../rtp_rtcp/source/fec_private_tables_bursty.cc | 660 +++++++++++++++++++++ 1 file changed, 660 insertions(+) create mode 100644 third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc (limited to 'third_party/libwebrtc/modules/rtp_rtcp/source/fec_private_tables_bursty.cc') 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 -- cgit v1.2.3