Support ext-partition in cb4x4 mode

This commit resolves the coding pipeline breakage when ext-partition
and cb4x4 are both enabled.

BUG=aomedia:138

Change-Id: Ic17da68af80d7a66565b0e1c69b895be27282a9a
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index bd6efcb..2031c51 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -49,30 +49,30 @@
   NEED_LEFT | NEED_ABOVE | NEED_ABOVELEFT,  // TM
 };
 
-static const uint8_t orders_128x128[1] = { 0 };
-static const uint8_t orders_128x64[2] = { 0, 1 };
-static const uint8_t orders_64x128[2] = { 0, 1 };
-static const uint8_t orders_64x64[4] = {
+static const uint16_t orders_128x128[1] = { 0 };
+static const uint16_t orders_128x64[2] = { 0, 1 };
+static const uint16_t orders_64x128[2] = { 0, 1 };
+static const uint16_t orders_64x64[4] = {
   0, 1, 2, 3,
 };
-static const uint8_t orders_64x32[8] = {
+static const uint16_t orders_64x32[8] = {
   0, 2, 1, 3, 4, 6, 5, 7,
 };
-static const uint8_t orders_32x64[8] = {
+static const uint16_t orders_32x64[8] = {
   0, 1, 2, 3, 4, 5, 6, 7,
 };
-static const uint8_t orders_32x32[16] = {
+static const uint16_t orders_32x32[16] = {
   0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15,
 };
-static const uint8_t orders_32x16[32] = {
+static const uint16_t orders_32x16[32] = {
   0,  2,  8,  10, 1,  3,  9,  11, 4,  6,  12, 14, 5,  7,  13, 15,
   16, 18, 24, 26, 17, 19, 25, 27, 20, 22, 28, 30, 21, 23, 29, 31,
 };
-static const uint8_t orders_16x32[32] = {
+static const uint16_t orders_16x32[32] = {
   0,  1,  2,  3,  8,  9,  10, 11, 4,  5,  6,  7,  12, 13, 14, 15,
   16, 17, 18, 19, 24, 25, 26, 27, 20, 21, 22, 23, 28, 29, 30, 31,
 };
-static const uint8_t orders_16x16[64] = {
+static const uint16_t orders_16x16[64] = {
   0,  1,  4,  5,  16, 17, 20, 21, 2,  3,  6,  7,  18, 19, 22, 23,
   8,  9,  12, 13, 24, 25, 28, 29, 10, 11, 14, 15, 26, 27, 30, 31,
   32, 33, 36, 37, 48, 49, 52, 53, 34, 35, 38, 39, 50, 51, 54, 55,
@@ -80,7 +80,7 @@
 };
 
 #if CONFIG_CB4X4 || CONFIG_EXT_PARTITION
-static const uint8_t orders_16x8[128] = {
+static const uint16_t orders_16x8[128] = {
   0,  2,  8,  10, 32,  34,  40,  42,  1,  3,  9,  11, 33,  35,  41,  43,
   4,  6,  12, 14, 36,  38,  44,  46,  5,  7,  13, 15, 37,  39,  45,  47,
   16, 18, 24, 26, 48,  50,  56,  58,  17, 19, 25, 27, 49,  51,  57,  59,
@@ -90,7 +90,7 @@
   80, 82, 88, 90, 112, 114, 120, 122, 81, 83, 89, 91, 113, 115, 121, 123,
   84, 86, 92, 94, 116, 118, 124, 126, 85, 87, 93, 95, 117, 119, 125, 127,
 };
-static const uint8_t orders_8x16[128] = {
+static const uint16_t orders_8x16[128] = {
   0,  1,  2,  3,  8,  9,  10, 11, 32,  33,  34,  35,  40,  41,  42,  43,
   4,  5,  6,  7,  12, 13, 14, 15, 36,  37,  38,  39,  44,  45,  46,  47,
   16, 17, 18, 19, 24, 25, 26, 27, 48,  49,  50,  51,  56,  57,  58,  59,
@@ -100,7 +100,7 @@
   80, 81, 82, 83, 88, 89, 90, 91, 112, 113, 114, 115, 120, 121, 122, 123,
   84, 85, 86, 87, 92, 93, 94, 95, 116, 117, 118, 119, 124, 125, 126, 127,
 };
-static const uint8_t orders_8x8[256] = {
+static const uint16_t orders_8x8[256] = {
   0,   1,   4,   5,   16,  17,  20,  21,  64,  65,  68,  69,  80,  81,  84,
   85,  2,   3,   6,   7,   18,  19,  22,  23,  66,  67,  70,  71,  82,  83,
   86,  87,  8,   9,   12,  13,  24,  25,  28,  29,  72,  73,  76,  77,  88,
@@ -120,19 +120,184 @@
   170, 171, 174, 175, 186, 187, 190, 191, 234, 235, 238, 239, 250, 251, 254,
   255,
 };
+
+#if CONFIG_CB4X4 && CONFIG_EXT_PARTITION
+static const uint16_t orders_4x8[512] = {
+  0,   1,   2,   3,   8,   9,   10,  11,  32,  33,  34,  35,  40,  41,  42,
+  43,  128, 129, 130, 131, 136, 137, 138, 139, 160, 161, 162, 163, 168, 169,
+  170, 171, 4,   5,   6,   7,   12,  13,  14,  15,  36,  37,  38,  39,  44,
+  45,  46,  47,  132, 133, 134, 135, 140, 141, 142, 143, 164, 165, 166, 167,
+  172, 173, 174, 175, 16,  17,  18,  19,  24,  25,  26,  27,  48,  49,  50,
+  51,  56,  57,  58,  59,  144, 145, 146, 147, 152, 153, 154, 155, 176, 177,
+  178, 179, 184, 185, 186, 187, 20,  21,  22,  23,  28,  29,  30,  31,  52,
+  53,  54,  55,  60,  61,  62,  63,  148, 149, 150, 151, 156, 157, 158, 159,
+  180, 181, 182, 183, 188, 189, 190, 191, 64,  65,  66,  67,  72,  73,  74,
+  75,  96,  97,  98,  99,  104, 105, 106, 107, 192, 193, 194, 195, 200, 201,
+  202, 203, 224, 225, 226, 227, 232, 233, 234, 235, 68,  69,  70,  71,  76,
+  77,  78,  79,  100, 101, 102, 103, 108, 109, 110, 111, 196, 197, 198, 199,
+  204, 205, 206, 207, 228, 229, 230, 231, 236, 237, 238, 239, 80,  81,  82,
+  83,  88,  89,  90,  91,  112, 113, 114, 115, 120, 121, 122, 123, 208, 209,
+  210, 211, 216, 217, 218, 219, 240, 241, 242, 243, 248, 249, 250, 251, 84,
+  85,  86,  87,  92,  93,  94,  95,  116, 117, 118, 119, 124, 125, 126, 127,
+  212, 213, 214, 215, 220, 221, 222, 223, 244, 245, 246, 247, 252, 253, 254,
+  255, 256, 257, 258, 259, 264, 265, 266, 267, 288, 289, 290, 291, 296, 297,
+  298, 299, 384, 385, 386, 387, 392, 393, 394, 395, 416, 417, 418, 419, 424,
+  425, 426, 427, 260, 261, 262, 263, 268, 269, 270, 271, 292, 293, 294, 295,
+  300, 301, 302, 303, 388, 389, 390, 391, 396, 397, 398, 399, 420, 421, 422,
+  423, 428, 429, 430, 431, 272, 273, 274, 275, 280, 281, 282, 283, 304, 305,
+  306, 307, 312, 313, 314, 315, 400, 401, 402, 403, 408, 409, 410, 411, 432,
+  433, 434, 435, 440, 441, 442, 443, 276, 277, 278, 279, 284, 285, 286, 287,
+  308, 309, 310, 311, 316, 317, 318, 319, 404, 405, 406, 407, 412, 413, 414,
+  415, 436, 437, 438, 439, 444, 445, 446, 447, 320, 321, 322, 323, 328, 329,
+  330, 331, 352, 353, 354, 355, 360, 361, 362, 363, 448, 449, 450, 451, 456,
+  457, 458, 459, 480, 481, 482, 483, 488, 489, 490, 491, 324, 325, 326, 327,
+  332, 333, 334, 335, 356, 357, 358, 359, 364, 365, 366, 367, 452, 453, 454,
+  455, 460, 461, 462, 463, 484, 485, 486, 487, 492, 493, 494, 495, 336, 337,
+  338, 339, 344, 345, 346, 347, 368, 369, 370, 371, 376, 377, 378, 379, 464,
+  465, 466, 467, 472, 473, 474, 475, 496, 497, 498, 499, 504, 505, 506, 507,
+  340, 341, 342, 343, 348, 349, 350, 351, 372, 373, 374, 375, 380, 381, 382,
+  383, 468, 469, 470, 471, 476, 477, 478, 479, 500, 501, 502, 503, 508, 509,
+  510, 511,
+};
+
+static const uint16_t orders_8x4[512] = {
+  0,   2,   8,   10,  32,  34,  40,  42,  128, 130, 136, 138, 160, 162, 168,
+  170, 1,   3,   9,   11,  33,  35,  41,  43,  129, 131, 137, 139, 161, 163,
+  169, 171, 4,   6,   12,  14,  36,  38,  44,  46,  132, 134, 140, 142, 164,
+  166, 172, 174, 5,   7,   13,  15,  37,  39,  45,  47,  133, 135, 141, 143,
+  165, 167, 173, 175, 16,  18,  24,  26,  48,  50,  56,  58,  144, 146, 152,
+  154, 176, 178, 184, 186, 17,  19,  25,  27,  49,  51,  57,  59,  145, 147,
+  153, 155, 177, 179, 185, 187, 20,  22,  28,  30,  52,  54,  60,  62,  148,
+  150, 156, 158, 180, 182, 188, 190, 21,  23,  29,  31,  53,  55,  61,  63,
+  149, 151, 157, 159, 181, 183, 189, 191, 64,  66,  72,  74,  96,  98,  104,
+  106, 192, 194, 200, 202, 224, 226, 232, 234, 65,  67,  73,  75,  97,  99,
+  105, 107, 193, 195, 201, 203, 225, 227, 233, 235, 68,  70,  76,  78,  100,
+  102, 108, 110, 196, 198, 204, 206, 228, 230, 236, 238, 69,  71,  77,  79,
+  101, 103, 109, 111, 197, 199, 205, 207, 229, 231, 237, 239, 80,  82,  88,
+  90,  112, 114, 120, 122, 208, 210, 216, 218, 240, 242, 248, 250, 81,  83,
+  89,  91,  113, 115, 121, 123, 209, 211, 217, 219, 241, 243, 249, 251, 84,
+  86,  92,  94,  116, 118, 124, 126, 212, 214, 220, 222, 244, 246, 252, 254,
+  85,  87,  93,  95,  117, 119, 125, 127, 213, 215, 221, 223, 245, 247, 253,
+  255, 256, 258, 264, 266, 288, 290, 296, 298, 384, 386, 392, 394, 416, 418,
+  424, 426, 257, 259, 265, 267, 289, 291, 297, 299, 385, 387, 393, 395, 417,
+  419, 425, 427, 260, 262, 268, 270, 292, 294, 300, 302, 388, 390, 396, 398,
+  420, 422, 428, 430, 261, 263, 269, 271, 293, 295, 301, 303, 389, 391, 397,
+  399, 421, 423, 429, 431, 272, 274, 280, 282, 304, 306, 312, 314, 400, 402,
+  408, 410, 432, 434, 440, 442, 273, 275, 281, 283, 305, 307, 313, 315, 401,
+  403, 409, 411, 433, 435, 441, 443, 276, 278, 284, 286, 308, 310, 316, 318,
+  404, 406, 412, 414, 436, 438, 444, 446, 277, 279, 285, 287, 309, 311, 317,
+  319, 405, 407, 413, 415, 437, 439, 445, 447, 320, 322, 328, 330, 352, 354,
+  360, 362, 448, 450, 456, 458, 480, 482, 488, 490, 321, 323, 329, 331, 353,
+  355, 361, 363, 449, 451, 457, 459, 481, 483, 489, 491, 324, 326, 332, 334,
+  356, 358, 364, 366, 452, 454, 460, 462, 484, 486, 492, 494, 325, 327, 333,
+  335, 357, 359, 365, 367, 453, 455, 461, 463, 485, 487, 493, 495, 336, 338,
+  344, 346, 368, 370, 376, 378, 464, 466, 472, 474, 496, 498, 504, 506, 337,
+  339, 345, 347, 369, 371, 377, 379, 465, 467, 473, 475, 497, 499, 505, 507,
+  340, 342, 348, 350, 372, 374, 380, 382, 468, 470, 476, 478, 500, 502, 508,
+  510, 341, 343, 349, 351, 373, 375, 381, 383, 469, 471, 477, 479, 501, 503,
+  509, 511,
+};
+
+static const uint16_t orders_4x4[1024] = {
+  0,    1,    4,    5,    16,   17,   20,   21,   64,   65,   68,   69,   80,
+  81,   84,   85,   256,  257,  260,  261,  272,  273,  276,  277,  320,  321,
+  324,  325,  336,  337,  340,  341,  2,    3,    6,    7,    18,   19,   22,
+  23,   66,   67,   70,   71,   82,   83,   86,   87,   258,  259,  262,  263,
+  274,  275,  278,  279,  322,  323,  326,  327,  338,  339,  342,  343,  8,
+  9,    12,   13,   24,   25,   28,   29,   72,   73,   76,   77,   88,   89,
+  92,   93,   264,  265,  268,  269,  280,  281,  284,  285,  328,  329,  332,
+  333,  344,  345,  348,  349,  10,   11,   14,   15,   26,   27,   30,   31,
+  74,   75,   78,   79,   90,   91,   94,   95,   266,  267,  270,  271,  282,
+  283,  286,  287,  330,  331,  334,  335,  346,  347,  350,  351,  32,   33,
+  36,   37,   48,   49,   52,   53,   96,   97,   100,  101,  112,  113,  116,
+  117,  288,  289,  292,  293,  304,  305,  308,  309,  352,  353,  356,  357,
+  368,  369,  372,  373,  34,   35,   38,   39,   50,   51,   54,   55,   98,
+  99,   102,  103,  114,  115,  118,  119,  290,  291,  294,  295,  306,  307,
+  310,  311,  354,  355,  358,  359,  370,  371,  374,  375,  40,   41,   44,
+  45,   56,   57,   60,   61,   104,  105,  108,  109,  120,  121,  124,  125,
+  296,  297,  300,  301,  312,  313,  316,  317,  360,  361,  364,  365,  376,
+  377,  380,  381,  42,   43,   46,   47,   58,   59,   62,   63,   106,  107,
+  110,  111,  122,  123,  126,  127,  298,  299,  302,  303,  314,  315,  318,
+  319,  362,  363,  366,  367,  378,  379,  382,  383,  128,  129,  132,  133,
+  144,  145,  148,  149,  192,  193,  196,  197,  208,  209,  212,  213,  384,
+  385,  388,  389,  400,  401,  404,  405,  448,  449,  452,  453,  464,  465,
+  468,  469,  130,  131,  134,  135,  146,  147,  150,  151,  194,  195,  198,
+  199,  210,  211,  214,  215,  386,  387,  390,  391,  402,  403,  406,  407,
+  450,  451,  454,  455,  466,  467,  470,  471,  136,  137,  140,  141,  152,
+  153,  156,  157,  200,  201,  204,  205,  216,  217,  220,  221,  392,  393,
+  396,  397,  408,  409,  412,  413,  456,  457,  460,  461,  472,  473,  476,
+  477,  138,  139,  142,  143,  154,  155,  158,  159,  202,  203,  206,  207,
+  218,  219,  222,  223,  394,  395,  398,  399,  410,  411,  414,  415,  458,
+  459,  462,  463,  474,  475,  478,  479,  160,  161,  164,  165,  176,  177,
+  180,  181,  224,  225,  228,  229,  240,  241,  244,  245,  416,  417,  420,
+  421,  432,  433,  436,  437,  480,  481,  484,  485,  496,  497,  500,  501,
+  162,  163,  166,  167,  178,  179,  182,  183,  226,  227,  230,  231,  242,
+  243,  246,  247,  418,  419,  422,  423,  434,  435,  438,  439,  482,  483,
+  486,  487,  498,  499,  502,  503,  168,  169,  172,  173,  184,  185,  188,
+  189,  232,  233,  236,  237,  248,  249,  252,  253,  424,  425,  428,  429,
+  440,  441,  444,  445,  488,  489,  492,  493,  504,  505,  508,  509,  170,
+  171,  174,  175,  186,  187,  190,  191,  234,  235,  238,  239,  250,  251,
+  254,  255,  426,  427,  430,  431,  442,  443,  446,  447,  490,  491,  494,
+  495,  506,  507,  510,  511,  512,  513,  516,  517,  528,  529,  532,  533,
+  576,  577,  580,  581,  592,  593,  596,  597,  768,  769,  772,  773,  784,
+  785,  788,  789,  832,  833,  836,  837,  848,  849,  852,  853,  514,  515,
+  518,  519,  530,  531,  534,  535,  578,  579,  582,  583,  594,  595,  598,
+  599,  770,  771,  774,  775,  786,  787,  790,  791,  834,  835,  838,  839,
+  850,  851,  854,  855,  520,  521,  524,  525,  536,  537,  540,  541,  584,
+  585,  588,  589,  600,  601,  604,  605,  776,  777,  780,  781,  792,  793,
+  796,  797,  840,  841,  844,  845,  856,  857,  860,  861,  522,  523,  526,
+  527,  538,  539,  542,  543,  586,  587,  590,  591,  602,  603,  606,  607,
+  778,  779,  782,  783,  794,  795,  798,  799,  842,  843,  846,  847,  858,
+  859,  862,  863,  544,  545,  548,  549,  560,  561,  564,  565,  608,  609,
+  612,  613,  624,  625,  628,  629,  800,  801,  804,  805,  816,  817,  820,
+  821,  864,  865,  868,  869,  880,  881,  884,  885,  546,  547,  550,  551,
+  562,  563,  566,  567,  610,  611,  614,  615,  626,  627,  630,  631,  802,
+  803,  806,  807,  818,  819,  822,  823,  866,  867,  870,  871,  882,  883,
+  886,  887,  552,  553,  556,  557,  568,  569,  572,  573,  616,  617,  620,
+  621,  632,  633,  636,  637,  808,  809,  812,  813,  824,  825,  828,  829,
+  872,  873,  876,  877,  888,  889,  892,  893,  554,  555,  558,  559,  570,
+  571,  574,  575,  618,  619,  622,  623,  634,  635,  638,  639,  810,  811,
+  814,  815,  826,  827,  830,  831,  874,  875,  878,  879,  890,  891,  894,
+  895,  640,  641,  644,  645,  656,  657,  660,  661,  704,  705,  708,  709,
+  720,  721,  724,  725,  896,  897,  900,  901,  912,  913,  916,  917,  960,
+  961,  964,  965,  976,  977,  980,  981,  642,  643,  646,  647,  658,  659,
+  662,  663,  706,  707,  710,  711,  722,  723,  726,  727,  898,  899,  902,
+  903,  914,  915,  918,  919,  962,  963,  966,  967,  978,  979,  982,  983,
+  648,  649,  652,  653,  664,  665,  668,  669,  712,  713,  716,  717,  728,
+  729,  732,  733,  904,  905,  908,  909,  920,  921,  924,  925,  968,  969,
+  972,  973,  984,  985,  988,  989,  650,  651,  654,  655,  666,  667,  670,
+  671,  714,  715,  718,  719,  730,  731,  734,  735,  906,  907,  910,  911,
+  922,  923,  926,  927,  970,  971,  974,  975,  986,  987,  990,  991,  672,
+  673,  676,  677,  688,  689,  692,  693,  736,  737,  740,  741,  752,  753,
+  756,  757,  928,  929,  932,  933,  944,  945,  948,  949,  992,  993,  996,
+  997,  1008, 1009, 1012, 1013, 674,  675,  678,  679,  690,  691,  694,  695,
+  738,  739,  742,  743,  754,  755,  758,  759,  930,  931,  934,  935,  946,
+  947,  950,  951,  994,  995,  998,  999,  1010, 1011, 1014, 1015, 680,  681,
+  684,  685,  696,  697,  700,  701,  744,  745,  748,  749,  760,  761,  764,
+  765,  936,  937,  940,  941,  952,  953,  956,  957,  1000, 1001, 1004, 1005,
+  1016, 1017, 1020, 1021, 682,  683,  686,  687,  698,  699,  702,  703,  746,
+  747,  750,  751,  762,  763,  766,  767,  938,  939,  942,  943,  954,  955,
+  958,  959,  1002, 1003, 1006, 1007, 1018, 1019, 1022, 1023,
+};
+#endif
 #endif  // CONFIG_CB4X4 || CONFIG_EXT_PARTITION
 
 #if CONFIG_EXT_PARTITION
 /* clang-format off */
-static const uint8_t *const orders[BLOCK_SIZES] = {
+static const uint16_t *const orders[BLOCK_SIZES] = {
 #if CONFIG_CB4X4
   // 2X2,         2X4,            4X2
-  orders_8x8,     orders_8x8,     orders_8x8,
-#endif
+  orders_4x4,     orders_4x4,     orders_4x4,
+  //                              4X4
+                                  orders_4x4,
+  // 4X8,         8X4,            8X8
+  orders_4x8,     orders_8x4,     orders_8x8,
+#else
   //                              4X4
                                   orders_8x8,
   // 4X8,         8X4,            8X8
   orders_8x8,     orders_8x8,     orders_8x8,
+#endif
   // 8X16,        16X8,           16X16
   orders_8x16,    orders_16x8,    orders_16x16,
   // 16X32,       32X16,          32X32
@@ -145,7 +310,7 @@
 /* clang-format on */
 #else
 /* clang-format off */
-static const uint8_t *const orders[BLOCK_SIZES] = {
+static const uint16_t *const orders[BLOCK_SIZES] = {
 #if CONFIG_CB4X4
   // 2X2,         2X4,            4X2
   orders_8x8,     orders_8x8,     orders_8x8,
@@ -170,20 +335,20 @@
 #endif  // CONFIG_EXT_PARTITION
 
 #if CONFIG_EXT_PARTITION_TYPES
-static const uint8_t orders_verta_64x64[4] = {
+static const uint16_t orders_verta_64x64[4] = {
   0, 2, 1, 2,
 };
-static const uint8_t orders_verta_32x32[16] = {
+static const uint16_t orders_verta_32x32[16] = {
   0, 2, 4, 6, 1, 2, 5, 6, 8, 10, 12, 14, 9, 10, 13, 14,
 };
-static const uint8_t orders_verta_16x16[64] = {
+static const uint16_t orders_verta_16x16[64] = {
   0,  2,  4,  6,  16, 18, 20, 22, 1,  2,  5,  6,  17, 18, 21, 22,
   8,  10, 12, 14, 24, 26, 28, 30, 9,  10, 13, 14, 25, 26, 29, 30,
   32, 34, 36, 38, 48, 50, 52, 54, 33, 34, 37, 38, 49, 50, 53, 54,
   40, 42, 44, 46, 56, 58, 60, 62, 41, 42, 45, 46, 57, 58, 61, 62,
 };
 #if CONFIG_EXT_PARTITION
-static const uint8_t orders_verta_8x8[256] = {
+static const uint16_t orders_verta_8x8[256] = {
   0,   2,   4,   6,   16,  18,  20,  22,  64,  66,  68,  70,  80,  82,  84,
   86,  1,   2,   5,   6,   17,  18,  21,  22,  65,  66,  69,  70,  81,  82,
   85,  86,  8,   10,  12,  14,  24,  26,  28,  30,  72,  74,  76,  78,  88,
@@ -205,7 +370,7 @@
 };
 
 /* clang-format off */
-static const uint8_t *const orders_verta[BLOCK_SIZES] = {
+static const uint16_t *const orders_verta[BLOCK_SIZES] = {
   //                                  4X4
                                       orders_verta_8x8,
   // 4X8,           8X4,              8X8
@@ -222,7 +387,7 @@
 /* clang-format on */
 #else
 /* clang-format off */
-static const uint8_t *const orders_verta[BLOCK_SIZES] = {
+static const uint16_t *const orders_verta[BLOCK_SIZES] = {
   //                                      4X4
                                           orders_verta_16x16,
   // 4X8,             8X4,                8X8
@@ -247,7 +412,6 @@
   const int width = block_size_wide[bsize] >> tx_size_wide_log2[0];
   const int w = AOMMAX(width >> ss_x, 1);
   const int step = tx_size_wide_unit[txsz];
-
 #if !CONFIG_CB4X4
   // TODO(bshacklett, huisu): Currently the RD loop traverses 4X8 blocks in
   // inverted N order while in the bitstream the subblocks are stored in Z
@@ -266,7 +430,7 @@
   if (y == 0) {
     const int wl = mi_width_log2_lookup[bsize];
     const int hl = mi_height_log2_lookup[bsize];
-    const uint8_t *order;
+    const uint16_t *order;
     int my_order, tr_order;
 #if CONFIG_EXT_PARTITION_TYPES
     if (partition == PARTITION_VERT_A)
@@ -306,7 +470,7 @@
     const int height = block_size_high[bsize] >> tx_size_high_log2[0];
     const int h = AOMMAX(height >> ss_y, 1);
     const int step = tx_size_wide_unit[txsz];
-    const uint8_t *order = orders[bsize];
+    const uint16_t *order = orders[bsize];
     int my_order, bl_order;
 
 #if !CONFIG_CB4X4
diff --git a/av1/encoder/context_tree.c b/av1/encoder/context_tree.c
index d01771e..61738da 100644
--- a/av1/encoder/context_tree.c
+++ b/av1/encoder/context_tree.c
@@ -202,7 +202,11 @@
 // TODO(jingning): The pc_tree allocation is redundant. We can take out all
 // the leaf nodes after cb4x4 mode is enabled.
 #if CONFIG_CB4X4
+#if CONFIG_EXT_PARTITION
+  const int tree_nodes_inc = 1024;
+#else
   const int tree_nodes_inc = 256;
+#endif  // CONFIG_EXT_PARTITION
   const int leaf_factor = 4;
 #else
   const int tree_nodes_inc = 0;
@@ -284,7 +288,11 @@
 
 void av1_free_pc_tree(ThreadData *td) {
 #if CONFIG_CB4X4
+#if CONFIG_EXT_PARTITION
+  const int tree_nodes_inc = 1024;
+#else
   const int tree_nodes_inc = 256;
+#endif  // CONFIG_EXT_PARTITION
   const int leaf_factor = 4;
 #else
   const int tree_nodes_inc = 0;