-/* pow(lambda,2) * .9 */
-static const int i_qp0_cost2_table[52] = {
- 1, 1, 1, 1, 1, 1, /* 0-5 */
- 1, 1, 1, 1, 1, 1, /* 6-11 */
- 1, 1, 1, 2, 2, 3, /* 12-17 */
- 4, 5, 6, 7, 9, 11, /* 18-23 */
- 14, 18, 23, 29, 36, 46, /* 24-29 */
- 58, 73, 91, 115, 145, 183, /* 30-35 */
- 230, 290, 366, 461, 581, 731, /* 36-41 */
- 922,1161,1463,1843,2322,2926, /* 42-47 */
-3686,4645,5852,7373
+/* lambda2 = pow(lambda,2) * .9 * 256 */
+const int x264_lambda2_tab[52] = {
+ 14, 18, 22, 28, 36, 45, 57, 72, /* 0 - 7 */
+ 91, 115, 145, 182, 230, 290, 365, 460, /* 8 - 15 */
+ 580, 731, 921, 1161, 1462, 1843, 2322, 2925, /* 16 - 23 */
+ 3686, 4644, 5851, 7372, 9289, 11703, 14745, 18578, /* 24 - 31 */
+ 23407, 29491, 37156, 46814, 58982, 74313, 93628, 117964, /* 32 - 39 */
+148626, 187257, 235929, 297252, 374514, 471859, 594505, 749029, /* 40 - 47 */
+943718, 1189010, 1498059, 1887436 /* 48 - 51 */
+};
+
+// should the intra and inter lambdas be different?
+// I'm just matching the behaviour of deadzone quant.
+static const int x264_trellis_lambda2_tab[2][52] = {
+ // inter lambda = .85 * .85 * 2**(qp/3. + 10 - LAMBDA_BITS)
+ { 46, 58, 73, 92, 117, 147,
+ 185, 233, 294, 370, 466, 587,
+ 740, 932, 1174, 1480, 1864, 2349,
+ 2959, 3728, 4697, 5918, 7457, 9395,
+ 11837, 14914, 18790, 23674, 29828, 37581,
+ 47349, 59656, 75163, 94699, 119313, 150326,
+ 189399, 238627, 300652, 378798, 477255, 601304,
+ 757596, 954511, 1202608, 1515192, 1909022, 2405217,
+ 3030384, 3818045, 4810435, 6060769 },
+ // intra lambda = .65 * .65 * 2**(qp/3. + 10 - LAMBDA_BITS)
+ { 27, 34, 43, 54, 68, 86,
+ 108, 136, 172, 216, 273, 343,
+ 433, 545, 687, 865, 1090, 1374,
+ 1731, 2180, 2747, 3461, 4361, 5494,
+ 6922, 8721, 10988, 13844, 17442, 21976,
+ 27688, 34885, 43953, 55377, 69771, 87906,
+ 110755, 139543, 175813, 221511, 279087, 351627,
+ 443023, 558174, 703255, 886046, 1116348, 1406511,
+ 1772093, 2232697, 2813022, 3544186 }
+};
+
+static const uint16_t x264_chroma_lambda2_offset_tab[] = {
+ 16, 20, 25, 32, 40, 50,
+ 64, 80, 101, 128, 161, 203,
+ 256, 322, 406, 512, 645, 812,
+ 1024, 1290, 1625, 2048, 2580, 3250,
+ 4096, 5160, 6501, 8192, 10321, 13003,
+ 16384, 20642, 26007, 32768, 41285, 52015,
+ 65535