1 /* 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 #ifndef WEBRTC_MODULES_RTP_RTCP_TEST_TESTFEC_AVERAGE_RESIDUAL_LOSS_XOR_CODES_H_ 11 #define WEBRTC_MODULES_RTP_RTCP_TEST_TESTFEC_AVERAGE_RESIDUAL_LOSS_XOR_CODES_H_ 12 13 namespace webrtc { 14 15 // Maximum number of media packets allowed in this test. The burst mask types 16 // are currently defined up to (kMaxMediaPacketsTest, kMaxMediaPacketsTest). 17 const int kMaxMediaPacketsTest = 12; 18 19 // Maximum number of FEC codes considered in this test. 20 const int kNumberCodes = kMaxMediaPacketsTest * (kMaxMediaPacketsTest + 1) / 2; 21 22 // For the random mask type: reference level for the maximum average residual 23 // loss expected for each code size up to: 24 // (kMaxMediaPacketsTest, kMaxMediaPacketsTest). 25 const float kMaxResidualLossRandomMask[kNumberCodes] = { 26 0.009463f, 27 0.022436f, 28 0.007376f, 29 0.033895f, 30 0.012423f, 31 0.004644f, 32 0.043438f, 33 0.019937f, 34 0.008820f, 35 0.003438f, 36 0.051282f, 37 0.025795f, 38 0.012872f, 39 0.006458f, 40 0.003195f, 41 0.057728f, 42 0.032146f, 43 0.016708f, 44 0.009242f, 45 0.005054f, 46 0.003078f, 47 0.063050f, 48 0.037261f, 49 0.021767f, 50 0.012447f, 51 0.007099f, 52 0.003826f, 53 0.002504f, 54 0.067476f, 55 0.042348f, 56 0.026169f, 57 0.015695f, 58 0.009478f, 59 0.005887f, 60 0.003568f, 61 0.001689f, 62 0.071187f, 63 0.046575f, 64 0.031697f, 65 0.019797f, 66 0.012433f, 67 0.007027f, 68 0.004845f, 69 0.002777f, 70 0.001753f, 71 0.074326f, 72 0.050628f, 73 0.034978f, 74 0.021955f, 75 0.014821f, 76 0.009462f, 77 0.006393f, 78 0.004181f, 79 0.003105f, 80 0.001231f, 81 0.077008f, 82 0.054226f, 83 0.038407f, 84 0.026251f, 85 0.018634f, 86 0.011568f, 87 0.008130f, 88 0.004957f, 89 0.003334f, 90 0.002069f, 91 0.001304f, 92 0.079318f, 93 0.057180f, 94 0.041268f, 95 0.028842f, 96 0.020033f, 97 0.014061f, 98 0.009636f, 99 0.006411f, 100 0.004583f, 101 0.002817f, 102 0.001770f, 103 0.001258f 104 }; 105 106 // For the bursty mask type: reference level for the maximum average residual 107 // loss expected for each code size up to: 108 // (kMaxMediaPacketsTestf, kMaxMediaPacketsTest). 109 const float kMaxResidualLossBurstyMask[kNumberCodes] = { 110 0.033236f, 111 0.053344f, 112 0.026616f, 113 0.064129f, 114 0.036589f, 115 0.021892f, 116 0.071055f, 117 0.043890f, 118 0.028009f, 119 0.018524f, 120 0.075968f, 121 0.049828f, 122 0.033288f, 123 0.022791f, 124 0.016088f, 125 0.079672f, 126 0.054586f, 127 0.037872f, 128 0.026679f, 129 0.019326f, 130 0.014293f, 131 0.082582f, 132 0.058719f, 133 0.042045f, 134 0.030504f, 135 0.022391f, 136 0.016894f, 137 0.012946f, 138 0.084935f, 139 0.062169f, 140 0.045620f, 141 0.033713f, 142 0.025570f, 143 0.019439f, 144 0.015121f, 145 0.011920f, 146 0.086881f, 147 0.065267f, 148 0.048721f, 149 0.037613f, 150 0.028278f, 151 0.022152f, 152 0.017314f, 153 0.013791f, 154 0.011130f, 155 0.088516f, 156 0.067911f, 157 0.051709f, 158 0.040819f, 159 0.030777f, 160 0.024547f, 161 0.019689f, 162 0.015877f, 163 0.012773f, 164 0.010516f, 165 0.089909f, 166 0.070332f, 167 0.054402f, 168 0.043210f, 169 0.034096f, 170 0.026625f, 171 0.021823f, 172 0.017648f, 173 0.014649f, 174 0.011982f, 175 0.010035f, 176 0.091109f, 177 0.072428f, 178 0.056775f, 179 0.045418f, 180 0.036679f, 181 0.028599f, 182 0.023693f, 183 0.019966f, 184 0.016603f, 185 0.013690f, 186 0.011359f, 187 0.009657f 188 }; 189 190 } // namespace webrtc 191 #endif // WEBRTC_MODULES_RTP_RTCP_TEST_TESTFEC_AVERAGE_RESIDUAL_LOSS_XOR_CODES_H_ 192