/*
 *  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 {

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
#endif  // WEBRTC_MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_
