/*
 *  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 MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_
#define 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 "typedefs.h"  // NOLINT(build/include)

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* const kPacketMaskBursty1[1] = {
  kMaskBursty1_1
};

const uint8_t* const kPacketMaskBursty2[2] = {
  kMaskBursty2_1,
  kMaskBursty2_2
};

const uint8_t* const kPacketMaskBursty3[3] = {
  kMaskBursty3_1,
  kMaskBursty3_2,
  kMaskBursty3_3
};

const uint8_t* const kPacketMaskBursty4[4] = {
  kMaskBursty4_1,
  kMaskBursty4_2,
  kMaskBursty4_3,
  kMaskBursty4_4
};

const uint8_t* const kPacketMaskBursty5[5] = {
  kMaskBursty5_1,
  kMaskBursty5_2,
  kMaskBursty5_3,
  kMaskBursty5_4,
  kMaskBursty5_5
};

const uint8_t* const kPacketMaskBursty6[6] = {
  kMaskBursty6_1,
  kMaskBursty6_2,
  kMaskBursty6_3,
  kMaskBursty6_4,
  kMaskBursty6_5,
  kMaskBursty6_6
};

const uint8_t* const kPacketMaskBursty7[7] = {
  kMaskBursty7_1,
  kMaskBursty7_2,
  kMaskBursty7_3,
  kMaskBursty7_4,
  kMaskBursty7_5,
  kMaskBursty7_6,
  kMaskBursty7_7
};

const uint8_t* const kPacketMaskBursty8[8] = {
  kMaskBursty8_1,
  kMaskBursty8_2,
  kMaskBursty8_3,
  kMaskBursty8_4,
  kMaskBursty8_5,
  kMaskBursty8_6,
  kMaskBursty8_7,
  kMaskBursty8_8
};

const uint8_t* const kPacketMaskBursty9[9] = {
  kMaskBursty9_1,
  kMaskBursty9_2,
  kMaskBursty9_3,
  kMaskBursty9_4,
  kMaskBursty9_5,
  kMaskBursty9_6,
  kMaskBursty9_7,
  kMaskBursty9_8,
  kMaskBursty9_9
};

const uint8_t* const 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* const 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* const 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* const* const kPacketMaskBurstyTbl[12] = {
  kPacketMaskBursty1,
  kPacketMaskBursty2,
  kPacketMaskBursty3,
  kPacketMaskBursty4,
  kPacketMaskBursty5,
  kPacketMaskBursty6,
  kPacketMaskBursty7,
  kPacketMaskBursty8,
  kPacketMaskBursty9,
  kPacketMaskBursty10,
  kPacketMaskBursty11,
  kPacketMaskBursty12
};

}  // namespace fec_private_tables
}  // namespace webrtc
#endif  // MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_
