Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/aom/av1/common/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 125 kB image not shown  

Quelle  scan.c

  Sprache: C
 

/*
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 */


#include <assert.h>

#include "av1/common/common_data.h"
#include "av1/common/scan.h"

DECLARE_ALIGNED(16static const int16_t, default_scan_4x4[16]) = {
  0412581296371013141115,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_4x4[16]) = {
  0123456789101112131415,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_4x4[16]) = {
  0481215913261014371115,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_4x8[32]) = {
  0,  81,  169,  224171032518114,  2619,
  12527201362821147292215302331,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_4x8[32]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_4x8[32]) = {
  08,  162419,  172521018263111927,
  4122028513212961422307152331,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_8x4[32]) = {
  0,  1,  4,  2,  5,  8,  3,  6,  9,  127,  1013161114,
  17201518212419222528232629273031,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_8x4[32]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_8x4[32]) = {
  048,  1216202428159,  1317212529,
  2610141822263037111519232731,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_4x16[64]) = {
  0,  161,  32172,  4833183,  4934194,  5035,
  205,  5136216,  5237227,  5338238,  5439,
  249,  5540251056412611574227125843,
  28135944291460453015614631624763,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_16x4[64]) = {
  0,  1,  4,  2,  5,  8,  3,  6,  9,  127,  1013161114,
  17201518212419222528232629322730,
  33363134374035384144394245484346,
  49524750535651545760555861596263,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_4x16[64]) = {
  0,  1632481,  1733492,  1834503,  193551,
  4,  2036525,  2137536,  2238547,  233955,
  8,  2440569,  2541571026425811274359,
  12284460132945611430466215314763,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_16x4[64]) = {
  048,  12162024283236404448525660,
  159,  13172125293337414549535761,
  261014182226303438424650545862,
  371115192327313539434751555963,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_4x16[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_16x4[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_8x32[256]) = {
  0,   32,  1,   64,  33,  2,   96,  65,  34,  3,   12897,  66,  35,  4,
  16012998,  67,  36,  5,   19216113099,  68,  37,  6,   224193,
  16213110069,  38,  7,   22519416313210170,  39,  8,   226,
  19516413310271,  40,  9,   22719616513410372,  41,  10,
  22819716613510473,  42,  11,  22919816713610574,  43,
  12,  23019916813710675,  44,  13,  23120016913810776,
  45,  14,  23220117013910877,  46,  15,  233202171140109,
  78,  47,  16,  23420317214111079,  48,  17,  235204173142,
  11180,  49,  18,  23620517414311281,  50,  19,  237206175,
  14411382,  51,  20,  23820717614511483,  52,  21,  239208,
  17714611584,  53,  22,  24020917814711685,  54,  23,  241,
  21017914811786,  55,  24,  24221118014911887,  56,  25,
  24321218115011988,  57,  26,  24421318215112089,  58,
  27,  24521418315212190,  59,  28,  24621518415312291,
  60,  29,  24721618515412392,  61,  30,  248217186155124,
  93,  62,  31,  24921818715612594,  63,  250219188157126,
  95,  251220189158127252221190159253222191254223,
  255,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_32x8[256]) = {
  0,   1,   8,   2,   9,   16,  3,   10,  17,  24,  4,   11,  18,  25,  32,
  5,   12,  19,  26,  33,  40,  6,   13,  20,  27,  34,  41,  48,  7,   14,
  21,  28,  35,  42,  49,  56,  15,  22,  29,  36,  43,  50,  57,  64,  23,
  30,  37,  44,  51,  58,  65,  72,  31,  38,  45,  52,  59,  66,  73,  80,
  39,  46,  53,  60,  67,  74,  81,  88,  47,  54,  61,  68,  75,  82,  89,
  96,  55,  62,  69,  76,  83,  90,  97,  10463,  70,  77,  84,  91,  98,
  10511271,  78,  85,  92,  99,  10611312079,  86,  93,  100107,
  11412112887,  94,  10110811512212913695,  102109116,
  123130137144103110117124131138145152111118125,
  132139146153160119126133140147154161168127134,
  141148155162169176135142149156163170177184143,
  150157164171178185192151158165172179186193200,
  159166173180187194201208167174181188195202209,
  216175182189196203210217224183190197204211218,
  225232191198205212219226233240199206213220227,
  234241248207214221228235242249215222229236243,
  250223230237244251231238245252239246253247254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_8x32[256]) = {
  0,  326496,  1281601922241,  336597,  129161193225,
  2,  346698,  1301621942263,  356799,  131163195227,
  4,  36681001321641962285,  3769101133165197229,
  6,  38701021341661982307,  3971103135167199231,
  8,  40721041361682002329,  4173105137169201233,
  104274106138170202234114375107139171203235,
  124476108140172204236134577109141173205237,
  144678110142174206238154779111143175207239,
  164880112144176208240174981113145177209241,
  185082114146178210242195183115147179211243,
  205284116148180212244215385117149181213245,
  225486118150182214246235587119151183215247,
  245688120152184216248255789121153185217249,
  265890122154186218250275991123155187219251,
  286092124156188220252296193125157189221253,
  306294126158190222254316395127159191223255,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_32x8[256]) = {
  0,   8,   16,  24,  32,  40,  48,  56,  64,  72,  80,  88,  96,  104112,
  120128136144152160168176184192200208216224232,
  2402481,   9,   17,  25,  33,  41,  49,  57,  65,  73,  81,  89,  97,
  105113121129137145153161169177185193201209217,
  2252332412492,   10,  18,  26,  34,  42,  50,  58,  66,  74,  82,
  90,  98,  106114122130138146154162170178186194202,
  2102182262342422503,   11,  19,  27,  35,  43,  51,  59,  67,
  75,  83,  91,  99,  107115123131139147155163171179187,
  1952032112192272352432514,   12,  20,  28,  36,  44,  52,
  60,  68,  76,  84,  92,  100108116124132140148156164172,
  1801881962042122202282362442525,   13,  21,  29,  37,
  45,  53,  61,  69,  77,  85,  93,  101109117125133141149157,
  1651731811891972052132212292372452536,   14,  22,
  30,  38,  46,  54,  62,  70,  78,  86,  94,  102110118126134142,
  1501581661741821901982062142222302382462547,
  15,  23,  31,  39,  47,  55,  63,  71,  79,  87,  95,  103111119127,
  135143151159167175183191199207215223231239247,
  255,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_8x32[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_32x8[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_8x8[64]) = {
  0,  8,  1,  2,  9,  162417103,  4,  1118253240,
  332619125,  6,  13202734414856494235,
  2821147,  152229364350575851443730,
  23313845525960534639475461625563,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_8x8[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_8x8[64]) = {
  08,  16243240485619,  172533414957,
  210182634425058311192735435159,
  412202836445260513212937455361,
  614223038465462715233139475563,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_8x16[128]) = {
  0,  16,  1,   3217,  2,   48,  33,  183,  64,  49,  34,  19,  4,   80,
  6550,  35,  205,   96,  81,  66,  513621,  6,   11297,  82,  67,
  5237,  22,  7,  11398,  83,  68,  533823,  8,   11499,  84,  69,
  5439,  24,  9,  11510085,  70,  554025,  10,  11610186,  71,
  5641,  26,  1111710287,  72,  574227,  12,  11810388,  73,
  5843,  28,  1311910489,  74,  594429,  14,  12010590,  75,
  6045,  30,  1512110691,  76,  614631,  12210792,  77,  62,
  471231089378,  63,  124109947912511095,  126111127,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_16x8[128]) = {
  0,   1,   8,   2,   9,   16,  3,   10,  17,  24,  4,   11,  18,  25,  32,
  5,   12,  19,  26,  33,  40,  6,   13,  20,  27,  34,  41,  48,  7,   14,
  21,  28,  35,  42,  49,  56,  15,  22,  29,  36,  43,  50,  57,  64,  23,
  30,  37,  44,  51,  58,  65,  72,  31,  38,  45,  52,  59,  66,  73,  80,
  39,  46,  53,  60,  67,  74,  81,  88,  47,  54,  61,  68,  75,  82,  89,
  96,  55,  62,  69,  76,  83,  90,  97,  10463,  70,  77,  84,  91,  98,
  10511271,  78,  85,  92,  99,  10611312079,  86,  93,  100107,
  11412187,  94,  10110811512295,  102109116123103110,
  117124111118125119126127,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_8x16[128]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_16x8[128]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_8x16[128]) = {
  0,  163248648096,  1121,  173349658197,  113,
  2,  183450668298,  1143,  193551678399,  115,
  4,  20365268841001165,  2137536985101117,
  6,  22385470861021187,  2339557187103119,
  8,  24405672881041209,  2541577389105121,
  102642587490106122112743597591107123,
  122844607692108124132945617793109125,
  143046627894110126153147637995111127,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_16x8[128]) = {
  08,  1624324048566472808896,  104112120,
  19,  1725334149576573818997,  105113121,
  2101826344250586674829098,  106114122,
  3111927354351596775839199,  107115123,
  41220283644526068768492100108116124,
  51321293745536169778593101109117125,
  61422303846546270788694102110118126,
  71523313947556371798795103111119127,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_16x32[512]) = {
  0,   32,  1,   64,  33,  2,   96,  65,  34,  3,   12897,  66,  35,  4,
  16012998,  67,  36,  5,   19216113099,  68,  37,  6,   224193,
  16213110069,  38,  7,   25622519416313210170,  39,  8,
  28825722619516413310271,  40,  9,   320289258227196,
  16513410372,  41,  10,  352321290259228197166135104,
  73,  42,  11,  38435332229126022919816713610574,  43,
  12,  41638535432329226123019916813710675,  44,  13,
  44841738635532429326223120016913810776,  45,  14,
  48044941838735632529426323220117013910877,  46,
  15,  48145041938835732629526423320217114010978,
  47,  16,  482451420389358327296265234203172141110,
  79,  48,  17,  483452421390359328297266235204173142,
  11180,  49,  18,  484453422391360329298267236205174,
  14311281,  50,  19,  485454423392361330299268237206,
  17514411382,  51,  20,  486455424393362331300269238,
  20717614511483,  52,  21,  487456425394363332301270,
  23920817714611584,  53,  22,  488457426395364333302,
  27124020917814711685,  54,  23,  489458427396365334,
  30327224121017914811786,  55,  24,  490459428397366,
  33530427324221118014911887,  56,  25,  491460429398,
  36733630527424321218115011988,  57,  26,  492461430,
  39936833730627524421318215112089,  58,  27,  493462,
  43140036933830727624521418315212190,  59,  28,  494,
  46343240137033930827724621518415312291,  60,  29,
  49546443340237134030927824721618515412392,  61,
  30,  49646543440337234131027924821718615512493,
  62,  31,  497466435404373342311280249218187156125,
  94,  63,  498467436405374343312281250219188157126,
  95,  499468437406375344313282251220189158127500,
  469438407376345314283252221190159501470439408,
  377346315284253222191502471440409378347316285,
  254223503472441410379348317286255504473442411,
  380349318287505474443412381350319506475444413,
  382351507476445414383508477446415509478447510,
  479511,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_32x16[512]) = {
  0,   1,   16,  2,   17,  32,  3,   18,  33,  48,  4,   19,  34,  49,  64,
  5,   20,  35,  50,  65,  80,  6,   21,  36,  51,  66,  81,  96,  7,   22,
  37,  52,  67,  82,  97,  1128,   23,  38,  53,  68,  83,  98,  113128,
  9,   24,  39,  54,  69,  84,  99,  11412914410,  25,  40,  55,  70,
  85,  10011513014516011,  26,  41,  56,  71,  86,  101116131,
  14616117612,  27,  42,  57,  72,  87,  102117132147162177,
  19213,  28,  43,  58,  73,  88,  103118133148163178193208,
  14,  29,  44,  59,  74,  89,  104119134149164179194209224,
  15,  30,  45,  60,  75,  90,  105120135150165180195210225,
  24031,  46,  61,  76,  91,  106121136151166181196211226,
  24125647,  62,  77,  92,  107122137152167182197212227,
  24225727263,  78,  93,  108123138153168183198213228,
  24325827328879,  94,  109124139154169184199214229,
  24425927428930495,  110125140155170185200215230,
  245260275290305320111126141156171186201216231,
  246261276291306321336127142157172187202217232,
  247262277292307322337352143158173188203218233,
  248263278293308323338353368159174189204219234,
  249264279294309324339354369384175190205220235,
  250265280295310325340355370385400191206221236,
  251266281296311326341356371386401416207222237,
  252267282297312327342357372387402417432223238,
  253268283298313328343358373388403418433448239,
  254269284299314329344359374389404419434449464,
  255270285300315330345360375390405420435450465,
  480271286301316331346361376391406421436451466,
  481496287302317332347362377392407422437452467,
  482497303318333348363378393408423438453468483,
  498319334349364379394409424439454469484499335,
  350365380395410425440455470485500351366381396,
  411426441456471486501367382397412427442457472,
  487502383398413428443458473488503399414429444,
  459474489504415430445460475490505431446461476,
  491506447462477492507463478493508479494509495,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_16x32[512]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255256257258259260261262263264265266267268269,
  270271272273274275276277278279280281282283284,
  285286287288289290291292293294295296297298299,
  300301302303304305306307308309310311312313314,
  315316317318319320321322323324325326327328329,
  330331332333334335336337338339340341342343344,
  345346347348349350351352353354355356357358359,
  360361362363364365366367368369370371372373374,
  375376377378379380381382383384385386387388389,
  390391392393394395396397398399400401402403404,
  405406407408409410411412413414415416417418419,
  420421422423424425426427428429430431432433434,
  435436437438439440441442443444445446447448449,
  450451452453454455456457458459460461462463464,
  465466467468469470471472473474475476477478479,
  480481482483484485486487488489490491492493494,
  495496497498499500501502503504505506507508509,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_32x16[512]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255256257258259260261262263264265266267268269,
  270271272273274275276277278279280281282283284,
  285286287288289290291292293294295296297298299,
  300301302303304305306307308309310311312313314,
  315316317318319320321322323324325326327328329,
  330331332333334335336337338339340341342343344,
  345346347348349350351352353354355356357358359,
  360361362363364365366367368369370371372373374,
  375376377378379380381382383384385386387388389,
  390391392393394395396397398399400401402403404,
  405406407408409410411412413414415416417418419,
  420421422423424425426427428429430431432433434,
  435436437438439440441442443444445446447448449,
  450451452453454455456457458459460461462463464,
  465466467468469470471472473474475476477478479,
  480481482483484485486487488489490491492493494,
  495496497498499500501502503504505506507508509,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_16x32[512]) = {
  0,  326496,  128160192224256288320352384416448480,
  1,  336597,  129161193225257289321353385417449481,
  2,  346698,  130162194226258290322354386418450482,
  3,  356799,  131163195227259291323355387419451483,
  4,  3668100132164196228260292324356388420452484,
  5,  3769101133165197229261293325357389421453485,
  6,  3870102134166198230262294326358390422454486,
  7,  3971103135167199231263295327359391423455487,
  8,  4072104136168200232264296328360392424456488,
  9,  4173105137169201233265297329361393425457489,
  104274106138170202234266298330362394426458490,
  114375107139171203235267299331363395427459491,
  124476108140172204236268300332364396428460492,
  134577109141173205237269301333365397429461493,
  144678110142174206238270302334366398430462494,
  154779111143175207239271303335367399431463495,
  164880112144176208240272304336368400432464496,
  174981113145177209241273305337369401433465497,
  185082114146178210242274306338370402434466498,
  195183115147179211243275307339371403435467499,
  205284116148180212244276308340372404436468500,
  215385117149181213245277309341373405437469501,
  225486118150182214246278310342374406438470502,
  235587119151183215247279311343375407439471503,
  245688120152184216248280312344376408440472504,
  255789121153185217249281313345377409441473505,
  265890122154186218250282314346378410442474506,
  275991123155187219251283315347379411443475507,
  286092124156188220252284316348380412444476508,
  296193125157189221253285317349381413445477509,
  306294126158190222254286318350382414446478510,
  316395127159191223255287319351383415447479511,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_32x16[512]) = {
  0,   16,  32,  48,  64,  80,  96,  112128144160176192208224,
  240256272288304320336352368384400416432448464,
  4804961,   17,  33,  49,  65,  81,  97,  113129145161177193,
  209225241257273289305321337353369385401417433,
  4494654814972,   18,  34,  50,  66,  82,  98,  114130146162,
  178194210226242258274290306322338354370386402,
  4184344504664824983,   19,  35,  51,  67,  83,  99,  115131,
  147163179195211227243259275291307323339355371,
  3874034194354514674834994,   20,  36,  52,  68,  84,  100,
  116132148164180196212228244260276292308324340,
  3563723884044204364524684845005,   21,  37,  53,  69,
  85,  101117133149165181197213229245261277293309,
  3253413573733894054214374534694855016,   22,  38,
  54,  70,  86,  102118134150166182198214230246262278,
  2943103263423583743904064224384544704865027,
  23,  39,  55,  71,  87,  103119135151167183199215231247,
  263279295311327343359375391407423439455471487,
  5038,   24,  40,  56,  72,  88,  104120136152168184200216,
  232248264280296312328344360376392408424440456,
  4724885049,   25,  41,  57,  73,  89,  105121137153169185,
  201217233249265281297313329345361377393409425,
  44145747348950510,  26,  42,  58,  74,  90,  106122138154,
  170186202218234250266282298314330346362378394,
  41042644245847449050611,  27,  43,  59,  75,  91,  107123,
  139155171187203219235251267283299315331347363,
  37939541142744345947549150712,  28,  44,  60,  76,  92,
  108124140156172188204220236252268284300316332,
  34836438039641242844446047649250813,  29,  45,  61,
  77,  93,  109125141157173189205221237253269285301,
  31733334936538139741342944546147749350914,  30,
  46,  62,  78,  94,  110126142158174190206222238254270,
  286302318334350366382398414430446462478494510,
  15,  31,  47,  63,  79,  95,  111127143159175191207223239,
  255271287303319335351367383399415431447463479,
  495511,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_16x16[256]) = {
  0,   16,  1,   2,   17,  32,  48,  33,  18,  3,   4,   19,  34,  49,  64,
  80,  65,  50,  35,  20,  5,   6,   21,  36,  51,  66,  81,  96,  11297,
  82,  67,  52,  37,  22,  7,   8,   23,  38,  53,  68,  83,  98,  113128,
  14412911499,  84,  69,  54,  39,  24,  9,   10,  25,  40,  55,  70,
  85,  10011513014516017616114613111610186,  71,  56,
  41,  26,  11,  12,  27,  42,  57,  72,  87,  102117132147162177,
  19220819317816314813311810388,  73,  58,  43,  28,  13,
  14,  29,  44,  59,  74,  89,  104119134149164179194209224,
  24022521019518016515013512010590,  75,  60,  45,  30,
  15,  31,  46,  61,  76,  91,  106121136151166181196211226,
  24124222721219718216715213712210792,  77,  62,  47,
  63,  78,  93,  108123138153168183198213228243244229,
  21419918416915413912410994,  79,  95,  110125140155,
  170185200215230245246231216201186171156141126,
  111127142157172187202217232247248233218203188,
  173158143159174189204219234249250235220205190,
  175191206221236251252237222207223238253254239,
  255,
};

DECLARE_ALIGNED(16static const int16_t, mcol_scan_16x16[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, mrow_scan_16x16[256]) = {
  0,  163248648096,  112128144160176192208224240,
  1,  173349658197,  113129145161177193209225241,
  2,  183450668298,  114130146162178194210226242,
  3,  193551678399,  115131147163179195211227243,
  4,  2036526884100116132148164180196212228244,
  5,  2137536985101117133149165181197213229245,
  6,  2238547086102118134150166182198214230246,
  7,  2339557187103119135151167183199215231247,
  8,  2440567288104120136152168184200216232248,
  9,  2541577389105121137153169185201217233249,
  102642587490106122138154170186202218234250,
  112743597591107123139155171187203219235251,
  122844607692108124140156172188204220236252,
  132945617793109125141157173189205221237253,
  143046627894110126142158174190206222238254,
  153147637995111127143159175191207223239255,
};

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

DECLARE_ALIGNED(16static const int16_t, mrow_scan_32x32[1024]) = {
  0,   32,   64,  96,   128160,  192224,  256288,  320352,  384416,
  448480,  512544,  576608,  640672,  704736,  768800,  832864,
  896928,  960992,  1,   33,   65,  97,   129161,  193225,  257289,
  321353,  385417,  449481,  513545,  577609,  641673,  705737,
  769801,  833865,  897929,  961993,  2,   34,   66,  98,   130162,
  194226,  258290,  322354,  386418,  450482,  514546,  578610,
  642674,  706738,  770802,  834866,  898930,  962994,  3,   35,
  67,  99,   131163,  195227,  259291,  323355,  387419,  451483,
  515547,  579611,  643675,  707739,  771803,  835867,  899931,
  963995,  4,   36,   68,  100,  132164,  196228,  260292,  324356,
  388420,  452484,  516548,  580612,  644676,  708740,  772804,
  836868,  900932,  964996,  5,   37,   69,  101,  133165,  197229,
  261293,  325357,  389421,  453485,  517549,  581613,  645677,
  709741,  773805,  837869,  901933,  965997,  6,   38,   70,  102,
  134166,  198230,  262294,  326358,  390422,  454486,  518550,
  582614,  646678,  710742,  774806,  838870,  902934,  966998,
  7,   39,   71,  103,  135167,  199231,  263295,  327359,  391423,
  455487,  519551,  583615,  647679,  711743,  775807,  839871,
  903935,  967999,  8,   40,   72,  104,  136168,  200232,  264296,
  328360,  392424,  456488,  520552,  584616,  648680,  712744,
  776808,  840872,  904936,  96810009,   41,   73,  105,  137169,
  201233,  265297,  329361,  393425,  457489,  521553,  585617,
  649681,  713745,  777809,  841873,  905937,  969100110,  42,
  74,  106,  138170,  202234,  266298,  330362,  394426,  458490,
  522554,  586618,  650682,  714746,  778810,  842874,  906938,
  970100211,  43,   75,  107,  139171,  203235,  267299,  331363,
  395427,  459491,  523555,  587619,  651683,  715747,  779811,
  843875,  907939,  971100312,  44,   76,  108,  140172,  204236,
  268300,  332364,  396428,  460492,  524556,  588620,  652684,
  716748,  780812,  844876,  908940,  972100413,  45,   77,  109,
  141173,  205237,  269301,  333365,  397429,  461493,  525557,
  589621,  653685,  717749,  781813,  845877,  909941,  9731005,
  14,  46,   78,  110,  142174,  206238,  270302,  334366,  398430,
  462494,  526558,  590622,  654686,  718750,  782814,  846878,
  910942,  974100615,  47,   79,  111,  143175,  207239,  271303,
  335367,  399431,  463495,  527559,  591623,  655687,  719751,
  783815,  847879,  911943,  975100716,  48,   80,  112,  144176,
  208240,  272304,  336368,  400432,  464496,  528560,  592624,
  656688,  720752,  784816,  848880,  912944,  976100817,  49,
  81,  113,  145177,  209241,  273305,  337369,  401433,  465497,
  529561,  593625,  657689,  721753,  785817,  849881,  913945,
  977100918,  50,   82,  114,  146178,  210242,  274306,  338370,
  402434,  466498,  530562,  594626,  658690,  722754,  786818,
  850882,  914946,  978101019,  51,   83,  115,  147179,  211243,
  275307,  339371,  403435,  467499,  531563,  595627,  659691,
  723755,  787819,  851883,  915947,  979101120,  52,   84,  116,
  148180,  212244,  276308,  340372,  404436,  468500,  532564,
  596628,  660692,  724756,  788820,  852884,  916948,  9801012,
  21,  53,   85,  117,  149181,  213245,  277309,  341373,  405437,
  469501,  533565,  597629,  661693,  725757,  789821,  853885,
  917949,  981101322,  54,   86,  118,  150182,  214246,  278310,
  342374,  406438,  470502,  534566,  598630,  662694,  726758,
  790822,  854886,  918950,  982101423,  55,   87,  119,  151183,
  215247,  279311,  343375,  407439,  471503,  535567,  599631,
  663695,  727759,  791823,  855887,  919951,  983101524,  56,
  88,  120,  152184,  216248,  280312,  344376,  408440,  472504,
  536568,  600632,  664696,  728760,  792824,  856888,  920952,
  984101625,  57,   89,  121,  153185,  217249,  281313,  345377,
  409441,  473505,  537569,  601633,  665697,  729761,  793825,
  857889,  921953,  985101726,  58,   90,  122,  154186,  218250,
  282314,  346378,  410442,  474506,  538570,  602634,  666698,
  730762,  794826,  858890,  922954,  986101827,  59,   91,  123,
  155187,  219251,  283315,  347379,  411443,  475507,  539571,
  603635,  667699,  731763,  795827,  859891,  923955,  9871019,
  28,  60,   92,  124,  156188,  220252,  284316,  348380,  412444,
  476508,  540572,  604636,  668700,  732764,  796828,  860892,
  924956,  988102029,  61,   93,  125,  157189,  221253,  285317,
  349381,  413445,  477509,  541573,  605637,  669701,  733765,
  797829,  861893,  925957,  989102130,  62,   94,  126,  158190,
  222254,  286318,  350382,  414446,  478510,  542574,  606638,
  670702,  734766,  798830,  862894,  926958,  990102231,  63,
  95,  127,  159191,  223255,  287319,  351383,  415447,  479511,
  543575,  607639,  671703,  735767,  799831,  863895,  927959,
  9911023,
};

DECLARE_ALIGNED(16static const int16_t, default_scan_32x32[1024]) = {
  0,    32,   1,    2,    33,   64,  96,   65,   34,   3,    4,    35,  66,
  97,   128,  160,  129,  98,   67,  36,   5,    6,    37,   68,   99,  130,
  161,  192,  224,  193,  162,  131100,  69,   38,   7,    8,    39,  70,
  101,  132,  163,  194,  225,  256288,  257,  226,  195,  164,  133102,
  71,   40,   9,    10,   41,   72,  103,  134,  165,  196,  227,  258289,
  320,  352,  321,  290,  259,  228197,  166,  135,  104,  73,   42,  11,
  12,   43,   74,   105,  136,  167198,  229,  260,  291,  322,  353384,
  416,  385,  354,  323,  292,  261230,  199,  168,  137,  106,  75,  44,
  13,   14,   45,   76,   107,  138169,  200,  231,  262,  293,  324355,
  386,  417,  448,  480,  449,  418387,  356,  325,  294,  263,  232201,
  170,  139,  108,  77,   46,   15,  16,   47,   78,   109,  140,  171202,
  233,  264,  295,  326,  357,  388419,  450,  481,  512,  544,  513482,
  451,  420,  389,  358,  327,  296265,  234,  203,  172,  141,  11079,
  48,   17,   18,   49,   80,   111142,  173,  204,  235,  266,  297328,
  359,  390,  421,  452,  483,  514545,  576,  608,  577,  546,  515484,
  453,  422,  391,  360,  329,  298267,  236,  205,  174,  143,  11281,
  50,   19,   20,   51,   82,   113144,  175,  206,  237,  268,  299330,
  361,  392,  423,  454,  485,  516547,  578,  609,  640,  672,  641610,
  579,  548,  517,  486,  455,  424393,  362,  331,  300,  269,  238207,
  176,  145,  114,  83,   52,   21,  22,   53,   84,   115,  146,  177208,
  239,  270,  301,  332,  363,  394425,  456,  487,  518,  549,  580611,
  642,  673,  704,  736,  705,  674643,  612,  581,  550,  519,  488457,
  426,  395,  364,  333,  302,  271240,  209,  178,  147,  116,  85,  54,
  23,   24,   55,   86,   117,  148179,  210,  241,  272,  303,  334365,
  396,  427,  458,  489,  520,  551582,  613,  644,  675,  706,  737768,
  800,  769,  738,  707,  676,  645614,  583,  552,  521,  490,  459428,
  397,  366,  335,  304,  273,  242211,  180,  149,  118,  87,   56,  25,
  26,   57,   88,   119,  150,  181212,  243,  274,  305,  336,  367398,
  429,  460,  491,  522,  553,  584615,  646,  677,  708,  739,  770801,
  832,  864,  833,  802,  771,  740709,  678,  647,  616,  585,  554523,
  492,  461,  430,  399,  368,  337306,  275,  244,  213,  182,  151120,
  89,   58,   27,   28,   59,   90,  121,  152,  183,  214,  245,  276307,
  338,  369,  400,  431,  462,  493524,  555,  586,  617,  648,  679710,
  741,  772,  803,  834,  865,  896928,  897,  866,  835,  804,  773742,
  711,  680,  649,  618,  587,  556525,  494,  463,  432,  401,  370339,
  308,  277,  246,  215,  184,  153122,  91,   60,   29,   30,   61,  92,
  123,  154,  185,  216,  247,  278309,  340,  371,  402,  433,  464495,
  526,  557,  588,  619,  650,  681712,  743,  774,  805,  836,  867898,
  929,  960,  992,  961,  930,  899868,  837,  806,  775,  744,  713682,
  651,  620,  589,  558,  527,  496465,  434,  403,  372,  341,  310279,
  248,  217,  186,  155,  124,  93,  62,   31,   63,   94,   125,  156187,
  218,  249,  280,  311,  342,  373404,  435,  466,  497,  528,  559590,
  621,  652,  683,  714,  745,  776807,  838,  869,  900,  931,  962993,
  994,  963,  932,  901,  870,  839808,  777,  746,  715,  684,  653622,
  591,  560,  529,  498,  467,  436405,  374,  343,  312,  281,  250219,
  188,  157,  126,  95,   127,  158189,  220,  251,  282,  313,  344375,
  406,  437,  468,  499,  530,  561592,  623,  654,  685,  716,  747778,
  809,  840,  871,  902,  933,  964995,  996,  965,  934,  903,  872841,
  810,  779,  748,  717,  686,  655624,  593,  562,  531,  500,  469438,
  407,  376,  345,  314,  283,  252221,  190,  159,  191,  222,  253284,
  315,  346,  377,  408,  439,  470501,  532,  563,  594,  625,  656687,
  718,  749,  780,  811,  842,  873904,  935,  966,  997,  998,  967936,
  905,  874,  843,  812,  781,  750719,  688,  657,  626,  595,  564533,
  502,  471,  440,  409,  378,  347316,  285,  254,  223,  255,  286317,
  348,  379,  410,  441,  472,  503534,  565,  596,  627,  658,  689720,
  751,  782,  813,  844,  875,  906937,  968,  999,  1000969,  938907,
  876,  845,  814,  783,  752,  721690,  659,  628,  597,  566,  535504,
  473,  442,  411,  380,  349,  318287,  319,  350,  381,  412,  443474,
  505,  536,  567,  598,  629,  660691,  722,  753,  784,  815,  846877,
  908,  939,  970,  10011002971940,  909,  878,  847,  816,  785754,
  723,  692,  661,  630,  599,  568537,  506,  475,  444,  413,  382351,
  383,  414,  445,  476,  507,  538569,  600,  631,  662,  693,  724755,
  786,  817,  848,  879,  910,  941972,  10031004973,  942,  911880,
  849,  818,  787,  756,  725,  694663,  632,  601,  570,  539,  508477,
  446,  415,  447,  478,  509,  540571,  602,  633,  664,  695,  726757,
  788,  819,  850,  881,  912,  943974,  10051006975,  944,  913882,
  851,  820,  789,  758,  727,  696665,  634,  603,  572,  541,  510479,
  511,  542,  573,  604,  635,  666697,  728,  759,  790,  821,  852883,
  914,  945,  976,  10071008977946,  915,  884,  853,  822,  791760,
  729,  698,  667,  636,  605,  574543,  575,  606,  637,  668,  699730,
  761,  792,  823,  854,  885,  916947,  978,  10091010979,  948917,
  886,  855,  824,  793,  762,  731700,  669,  638,  607,  639,  670701,
  732,  763,  794,  825,  856,  887918,  949,  980,  10111012981950,
  919,  888,  857,  826,  795,  764733,  702,  671,  703,  734,  765796,
  827,  858,  889,  920,  951,  98210131014983,  952,  921,  890859,
  828,  797,  766,  735,  767,  798829,  860,  891,  922,  953,  9841015,
  1016985,  954,  923,  892,  861830,  799,  831,  862,  893,  924955,
  986,  10171018987,  956,  925894,  863,  895,  926,  957,  9881019,
  1020989,  958,  927,  959,  99010211022991,  1023,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_4x4[16]) = {
  0239148105711146121315,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_4x4[16]) = {
  0123456789101112131415,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_4x4[16]) = {
  0481215913261014371115,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_4x8[32]) = {
  025,  9,  1317212514,  8,  1216202428,
  37111519232730610141822262931,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_4x8[32]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_4x8[32]) = {
  048,  1216202428159,  1317212529,
  2610141822263037111519232731,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_8x4[32]) = {
  0,  1,  3,  6,  2,  4,  7,  105,  8,  11149,  121518,
  13161922172023262124272925283031,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_8x4[32]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_8x4[32]) = {
  08,  162419,  172521018263111927,
  4122028513212961422307152331,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_4x16[64]) = {
  02,  5,  9,  131721252933374145495357,
  14,  8,  12162024283236404448525660,
  37,  1115192327313539434751555962,
  6101418222630343842465054586163,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_16x4[64]) = {
  0,  1,  3,  6,  2,  4,  7,  105,  8,  11149,  121518,
  13161922172023262124273025283134,
  29323538333639423740434641444750,
  45485154495255585356596157606263,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_4x16[64]) = {
  048,  12162024283236404448525660,
  159,  13172125293337414549535761,
  261014182226303438424650545862,
  371115192327313539434751555963,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_16x4[64]) = {
  0,  1632481,  1733492,  1834503,  193551,
  4,  2036525,  2137536,  2238547,  233955,
  8,  2440569,  2541571026425811274359,
  12284460132945611430466215314763,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_4x16[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_16x4[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_8x32[256]) = {
  0,   2,   5,   9,   14,  20,  27,  35,  43,  51,  59,  67,  75,  83,  91,
  99,  107115123131139147155163171179187195203211,
  2192271,   4,   8,   13,  19,  26,  34,  42,  50,  58,  66,  74,  82,
  90,  98,  106114122130138146154162170178186194202,
  2102182262343,   7,   12,  18,  25,  33,  41,  49,  57,  65,  73,
  81,  89,  97,  105113121129137145153161169177185193,
  2012092172252332406,   11,  17,  24,  32,  40,  48,  56,  64,
  72,  80,  88,  96,  104112120128136144152160168176184,
  19220020821622423223924510,  16,  23,  31,  39,  47,  55,
  63,  71,  79,  87,  95,  103111119127135143151159167175,
  18319119920721522323123824424915,  22,  30,  38,  46,
  54,  62,  70,  78,  86,  94,  102110118126134142150158166,
  17418219019820621422223023724324825221,  29,  37,
  45,  53,  61,  69,  77,  85,  93,  101109117125133141149157,
  16517318118919720521322122923624224725125428,
  36,  44,  52,  60,  68,  76,  84,  92,  100108116124132140148,
  156164172180188196204212220228235241246250253,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_32x8[256]) = {
  0,   1,   3,   6,   10,  15,  21,  28,  2,   4,   7,   11,  16,  22,  29,
  36,  5,   8,   12,  17,  23,  30,  37,  44,  9,   13,  18,  24,  31,  38,
  45,  52,  14,  19,  25,  32,  39,  46,  53,  60,  20,  26,  33,  40,  47,
  54,  61,  68,  27,  34,  41,  48,  55,  62,  69,  76,  35,  42,  49,  56,
  63,  70,  77,  84,  43,  50,  57,  64,  71,  78,  85,  92,  51,  58,  65,
  72,  79,  86,  93,  10059,  66,  73,  80,  87,  94,  10110867,  74,
  81,  88,  95,  10210911675,  82,  89,  96,  10311011712483,
  90,  97,  10411111812513291,  98,  105112119126133140,
  99,  106113120127134141148107114121128135142149,
  156115122129136143150157164123130137144151158,
  165172131138145152159166173180139146153160167,
  174181188147154161168175182189196155162169176,
  183190197204163170177184191198205212171178185,
  192199206213220179186193200207214221228187194,
  201208215222229235195202209216223230236241203,
  210217224231237242246211218225232238243247250,
  219226233239244248251253227234240245249252254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_8x32[256]) = {
  0,   8,   16,  24,  32,  40,  48,  56,  64,  72,  80,  88,  96,  104112,
  120128136144152160168176184192200208216224232,
  2402481,   9,   17,  25,  33,  41,  49,  57,  65,  73,  81,  89,  97,
  105113121129137145153161169177185193201209217,
  2252332412492,   10,  18,  26,  34,  42,  50,  58,  66,  74,  82,
  90,  98,  106114122130138146154162170178186194202,
  2102182262342422503,   11,  19,  27,  35,  43,  51,  59,  67,
  75,  83,  91,  99,  107115123131139147155163171179187,
  1952032112192272352432514,   12,  20,  28,  36,  44,  52,
  60,  68,  76,  84,  92,  100108116124132140148156164172,
  1801881962042122202282362442525,   13,  21,  29,  37,
  45,  53,  61,  69,  77,  85,  93,  101109117125133141149157,
  1651731811891972052132212292372452536,   14,  22,
  30,  38,  46,  54,  62,  70,  78,  86,  94,  102110118126134142,
  1501581661741821901982062142222302382462547,
  15,  23,  31,  39,  47,  55,  63,  71,  79,  87,  95,  103111119127,
  135143151159167175183191199207215223231239247,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_32x8[256]) = {
  0,  326496,  1281601922241,  336597,  129161193225,
  2,  346698,  1301621942263,  356799,  131163195227,
  4,  36681001321641962285,  3769101133165197229,
  6,  38701021341661982307,  3971103135167199231,
  8,  40721041361682002329,  4173105137169201233,
  104274106138170202234114375107139171203235,
  124476108140172204236134577109141173205237,
  144678110142174206238154779111143175207239,
  164880112144176208240174981113145177209241,
  185082114146178210242195183115147179211243,
  205284116148180212244215385117149181213245,
  225486118150182214246235587119151183215247,
  245688120152184216248255789121153185217249,
  265890122154186218250275991123155187219251,
  286092124156188220252296193125157189221253,
  306294126158190222254316395127159191223255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_8x32[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_32x8[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_8x8[64]) = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  101112131415,
  16171819202122232425262728293031,
  32333435363738394041424344454647,
  48495051525354555657585960616263,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_8x8[64]) = {
  08,  16243240485619,  172533414957,
  210182634425058311192735435159,
  412202836445260513212937455361,
  614223038465462715233139475563,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_8x8[64]) = {
  0,  2,  3,  9,  102021351,  4,  8,  1119223436,
  5,  7,  1218233337486,  13172432384749,
  14162531394650571526304045515658,
  27294144525559622842435354606163,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_8x16[128]) = {
  0,  2,  5,  9,  142027354351,  59,  67,  75,  83,  91,  99,
  1,  4,  8,  13192634425058,  66,  74,  82,  90,  98,  106,
  3,  7,  1218253341495765,  73,  81,  89,  97,  105112,
  6,  111724324048566472,  80,  88,  96,  104111117,
  10162331394755637179,  87,  95,  103110116121,
  15223038465462707886,  94,  102109115120124,
  21293745536169778593,  101108114119123126,
  283644526068768492100107113118122125127,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_16x8[128]) = {
  0,  1,  3,   6,   10,  15,  21,  28,  2,  4,   7,   11,  16,  22,  29,  36,
  5,  8,  12,  17,  23,  30,  37,  44,  9,  13,  18,  24,  31,  38,  45,  52,
  141925,  32,  39,  46,  53,  60,  2026,  33,  40,  47,  54,  61,  68,
  273441,  48,  55,  62,  69,  76,  3542,  49,  56,  63,  70,  77,  84,
  435057,  64,  71,  78,  85,  92,  5158,  65,  72,  79,  86,  93,  100,
  596673,  80,  87,  94,  1011076774,  81,  88,  95,  102108113,
  758289,  96,  1031091141188390,  97,  104110115119122,
  919810511111612012312599106112117121124126127,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_8x16[128]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_16x8[128]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_8x16[128]) = {
  08,  1624324048566472808896,  104112120,
  19,  1725334149576573818997,  105113121,
  2101826344250586674829098,  106114122,
  3111927354351596775839199,  107115123,
  41220283644526068768492100108116124,
  51321293745536169778593101109117125,
  61422303846546270788694102110118126,
  71523313947556371798795103111119127,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_16x8[128]) = {
  0,  163248648096,  1121,  173349658197,  113,
  2,  183450668298,  1143,  193551678399,  115,
  4,  20365268841001165,  2137536985101117,
  6,  22385470861021187,  2339557187103119,
  8,  24405672881041209,  2541577389105121,
  102642587490106122112743597591107123,
  122844607692108124132945617793109125,
  143046627894110126153147637995111127,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_16x32[512]) = {
  0,   2,   5,   9,   14,  20,  27,  35,  44,  54,  65,  77,  90,  104119,
  135151167183199215231247263279295311327343359,
  3753911,   4,   8,   13,  19,  26,  34,  43,  53,  64,  76,  89,  103,
  118134150166182198214230246262278294310326342,
  3583743904063,   7,   12,  18,  25,  33,  42,  52,  63,  75,  88,
  102117133149165181197213229245261277293309325,
  3413573733894054206,   11,  17,  24,  32,  41,  51,  62,  74,
  87,  101116132148164180196212228244260276292308,
  32434035637238840441943310,  16,  23,  31,  40,  50,  61,
  73,  86,  100115131147163179195211227243259275291,
  30732333935537138740341843244515,  22,  30,  39,  49,
  60,  72,  85,  99,  114130146162178194210226242258274,
  29030632233835437038640241743144445621,  29,  38,
  48,  59,  71,  84,  98,  113129145161177193209225241257,
  27328930532133735336938540141643044345546628,
  37,  47,  58,  70,  83,  97,  112128144160176192208224240,
  256272288304320336352368384400415429442454465,
  47536,  46,  57,  69,  82,  96,  111127143159175191207223,
  239255271287303319335351367383399414428441453,
  46447448345,  56,  68,  81,  95,  110126142158174190206,
  222238254270286302318334350366382398413427440,
  45246347348249055,  67,  80,  94,  109125141157173189,
  205221237253269285301317333349365381397412426,
  43945146247248148949666,  79,  93,  108124140156172,
  188204220236252268284300316332348364380396411,
  42543845046147148048849550178,  92,  107123139155,
  171187203219235251267283299315331347363379395,
  41042443744946047047948749450050591,  106122138,
  154170186202218234250266282298314330346362378,
  394409423436448459469478486493499504508105121,
  137153169185201217233249265281297313329345361,
  377393408422435447458468477485492498503507510,
  120136152168184200216232248264280296312328344,
  360376392407421434446457467476484491497502506,
  509511,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_32x16[512]) = {
  0,   1,   3,   6,   10,  15,  21,  28,  36,  45,  55,  66,  78,  91,  105,
  1202,   4,   7,   11,  16,  22,  29,  37,  46,  56,  67,  79,  92,  106,
  1211365,   8,   12,  17,  23,  30,  38,  47,  57,  68,  80,  93,  107,
  1221371529,   13,  18,  24,  31,  39,  48,  58,  69,  81,  94,  108,
  12313815316814,  19,  25,  32,  40,  49,  59,  70,  82,  95,  109,
  12413915416918420,  26,  33,  41,  50,  60,  71,  83,  96,  110,
  12514015517018520027,  34,  42,  51,  61,  72,  84,  97,  111,
  12614115617118620121635,  43,  52,  62,  73,  85,  98,  112,
  12714215717218720221723244,  53,  63,  74,  86,  99,  113,
  12814315817318820321823324854,  64,  75,  87,  100114,
  12914415917418920421923424926465,  76,  88,  101115,
  13014516017519020522023525026528077,  89,  102116,
  13114616117619120622123625126628129690,  103117,
  132147162177192207222237252267282297312104118,
  133148163178193208223238253268283298313328119,
  134149164179194209224239254269284299314329344,
  135150165180195210225240255270285300315330345,
  360151166181196211226241256271286301316331346,
  361376167182197212227242257272287302317332347,
  362377392183198213228243258273288303318333348,
  363378393407199214229244259274289304319334349,
  364379394408421215230245260275290305320335350,
  365380395409422434231246261276291306321336351,
  366381396410423435446247262277292307322337352,
  367382397411424436447457263278293308323338353,
  368383398412425437448458467279294309324339354,
  369384399413426438449459468476295310325340355,
  370385400414427439450460469477484311326341356,
  371386401415428440451461470478485491327342357,
  372387402416429441452462471479486492497343358,
  373388403417430442453463472480487493498502359,
  374389404418431443454464473481488494499503506,
  375390405419432444455465474482489495500504507,
  509391406420433445456466475483490496501505508,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_16x32[512]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255256257258259260261262263264265266267268269,
  270271272273274275276277278279280281282283284,
  285286287288289290291292293294295296297298299,
  300301302303304305306307308309310311312313314,
  315316317318319320321322323324325326327328329,
  330331332333334335336337338339340341342343344,
  345346347348349350351352353354355356357358359,
  360361362363364365366367368369370371372373374,
  375376377378379380381382383384385386387388389,
  390391392393394395396397398399400401402403404,
  405406407408409410411412413414415416417418419,
  420421422423424425426427428429430431432433434,
  435436437438439440441442443444445446447448449,
  450451452453454455456457458459460461462463464,
  465466467468469470471472473474475476477478479,
  480481482483484485486487488489490491492493494,
  495496497498499500501502503504505506507508509,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_32x16[512]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255256257258259260261262263264265266267268269,
  270271272273274275276277278279280281282283284,
  285286287288289290291292293294295296297298299,
  300301302303304305306307308309310311312313314,
  315316317318319320321322323324325326327328329,
  330331332333334335336337338339340341342343344,
  345346347348349350351352353354355356357358359,
  360361362363364365366367368369370371372373374,
  375376377378379380381382383384385386387388389,
  390391392393394395396397398399400401402403404,
  405406407408409410411412413414415416417418419,
  420421422423424425426427428429430431432433434,
  435436437438439440441442443444445446447448449,
  450451452453454455456457458459460461462463464,
  465466467468469470471472473474475476477478479,
  480481482483484485486487488489490491492493494,
  495496497498499500501502503504505506507508509,
  510511,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_16x32[512]) = {
  0,   16,  32,  48,  64,  80,  96,  112128144160176192208224,
  240256272288304320336352368384400416432448464,
  4804961,   17,  33,  49,  65,  81,  97,  113129145161177193,
  209225241257273289305321337353369385401417433,
  4494654814972,   18,  34,  50,  66,  82,  98,  114130146162,
  178194210226242258274290306322338354370386402,
  4184344504664824983,   19,  35,  51,  67,  83,  99,  115131,
  147163179195211227243259275291307323339355371,
  3874034194354514674834994,   20,  36,  52,  68,  84,  100,
  116132148164180196212228244260276292308324340,
  3563723884044204364524684845005,   21,  37,  53,  69,
  85,  101117133149165181197213229245261277293309,
  3253413573733894054214374534694855016,   22,  38,
  54,  70,  86,  102118134150166182198214230246262278,
  2943103263423583743904064224384544704865027,
  23,  39,  55,  71,  87,  103119135151167183199215231247,
  263279295311327343359375391407423439455471487,
  5038,   24,  40,  56,  72,  88,  104120136152168184200216,
  232248264280296312328344360376392408424440456,
  4724885049,   25,  41,  57,  73,  89,  105121137153169185,
  201217233249265281297313329345361377393409425,
  44145747348950510,  26,  42,  58,  74,  90,  106122138154,
  170186202218234250266282298314330346362378394,
  41042644245847449050611,  27,  43,  59,  75,  91,  107123,
  139155171187203219235251267283299315331347363,
  37939541142744345947549150712,  28,  44,  60,  76,  92,
  108124140156172188204220236252268284300316332,
  34836438039641242844446047649250813,  29,  45,  61,
  77,  93,  109125141157173189205221237253269285301,
  31733334936538139741342944546147749350914,  30,
  46,  62,  78,  94,  110126142158174190206222238254270,
  286302318334350366382398414430446462478494510,
  15,  31,  47,  63,  79,  95,  111127143159175191207223239,
  255271287303319335351367383399415431447463479,
  495511,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_32x16[512]) = {
  0,  326496,  128160192224256288320352384416448480,
  1,  336597,  129161193225257289321353385417449481,
  2,  346698,  130162194226258290322354386418450482,
  3,  356799,  131163195227259291323355387419451483,
  4,  3668100132164196228260292324356388420452484,
  5,  3769101133165197229261293325357389421453485,
  6,  3870102134166198230262294326358390422454486,
  7,  3971103135167199231263295327359391423455487,
  8,  4072104136168200232264296328360392424456488,
  9,  4173105137169201233265297329361393425457489,
  104274106138170202234266298330362394426458490,
  114375107139171203235267299331363395427459491,
  124476108140172204236268300332364396428460492,
  134577109141173205237269301333365397429461493,
  144678110142174206238270302334366398430462494,
  154779111143175207239271303335367399431463495,
  164880112144176208240272304336368400432464496,
  174981113145177209241273305337369401433465497,
  185082114146178210242274306338370402434466498,
  195183115147179211243275307339371403435467499,
  205284116148180212244276308340372404436468500,
  215385117149181213245277309341373405437469501,
  225486118150182214246278310342374406438470502,
  235587119151183215247279311343375407439471503,
  245688120152184216248280312344376408440472504,
  255789121153185217249281313345377409441473505,
  265890122154186218250282314346378410442474506,
  275991123155187219251283315347379411443475507,
  286092124156188220252284316348380412444476508,
  296193125157189221253285317349381413445477509,
  306294126158190222254286318350382414446478510,
  316395127159191223255287319351383415447479511,
};

DECLARE_ALIGNED(16static const int16_t, av1_mcol_iscan_16x16[256]) = {
  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,
  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  74,
  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,
  90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  100101102103104,
  105106107108109110111112113114115116117118119,
  120121122123124125126127128129130131132133134,
  135136137138139140141142143144145146147148149,
  150151152153154155156157158159160161162163164,
  165166167168169170171172173174175176177178179,
  180181182183184185186187188189190191192193194,
  195196197198199200201202203204205206207208209,
  210211212213214215216217218219220221222223224,
  225226227228229230231232233234235236237238239,
  240241242243244245246247248249250251252253254,
  255,
};

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_16x16[256]) = {
  0,  163248648096,  112128144160176192208224240,
  1,  173349658197,  113129145161177193209225241,
  2,  183450668298,  114130146162178194210226242,
  3,  193551678399,  115131147163179195211227243,
  4,  2036526884100116132148164180196212228244,
  5,  2137536985101117133149165181197213229245,
  6,  2238547086102118134150166182198214230246,
  7,  2339557187103119135151167183199215231247,
  8,  2440567288104120136152168184200216232248,
  9,  2541577389105121137153169185201217233249,
  102642587490106122138154170186202218234250,
  112743597591107123139155171187203219235251,
  122844607692108124140156172188204220236252,
  132945617793109125141157173189205221237253,
  143046627894110126142158174190206222238254,
  153147637995111127143159175191207223239255,
};

DECLARE_ALIGNED(16static const int16_t, av1_default_iscan_16x16[256]) = {
  0,   2,   3,   9,   10,  20,  21,  35,  36,  54,  55,  77,  78,  104105,
  1351,   4,   8,   11,  19,  22,  34,  37,  53,  56,  76,  79,  103106,
  1341365,   7,   12,  18,  23,  33,  38,  52,  57,  75,  80,  102107,
  1331371646,   13,  17,  24,  32,  39,  51,  58,  74,  81,  101108,
  13213816316514,  16,  25,  31,  40,  50,  59,  73,  82,  100109,
  13113916216618915,  26,  30,  41,  49,  60,  72,  83,  99,  110,
  13014016116718819027,  29,  42,  48,  61,  71,  84,  98,  111,
  12914116016818719121028,  43,  47,  62,  70,  85,  97,  112,
  12814215916918619220921144,  46,  63,  69,  86,  96,  113,
  12714315817018519320821222745,  64,  68,  87,  95,  114,
  12614415717118419420721322622865,  67,  88,  94,  115,
  12514515617218319520621422522924066,  89,  93,  116,
  12414615517318219620521522423023924190,  92,  117,
  12314715417418119720421622323123824224991,  118,
  122148153175180198203217222232237243248250119,
  121149152176179199202218221233236244247251254,
  120150151177178200201219220234235245246252253,
  255,
};

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

DECLARE_ALIGNED(16static const int16_t, av1_mrow_iscan_32x32[1024]) = {
  0,   32,   64,  96,   128160,  192224,  256288,  320352,  384416,
  448480,  512544,  576608,  640672,  704736,  768800,  832864,
  896928,  960992,  1,   33,   65,  97,   129161,  193225,  257289,
  321353,  385417,  449481,  513545,  577609,  641673,  705737,
  769801,  833865,  897929,  961993,  2,   34,   66,  98,   130162,
  194226,  258290,  322354,  386418,  450482,  514546,  578610,
  642674,  706738,  770802,  834866,  898930,  962994,  3,   35,
  67,  99,   131163,  195227,  259291,  323355,  387419,  451483,
  515547,  579611,  643675,  707739,  771803,  835867,  899931,
  963995,  4,   36,   68,  100,  132164,  196228,  260292,  324356,
  388420,  452484,  516548,  580612,  644676,  708740,  772804,
  836868,  900932,  964996,  5,   37,   69,  101,  133165,  197229,
  261293,  325357,  389421,  453485,  517549,  581613,  645677,
  709741,  773805,  837869,  901933,  965997,  6,   38,   70,  102,
  134166,  198230,  262294,  326358,  390422,  454486,  518550,
  582614,  646678,  710742,  774806,  838870,  902934,  966998,
  7,   39,   71,  103,  135167,  199231,  263295,  327359,  391423,
  455487,  519551,  583615,  647679,  711743,  775807,  839871,
  903935,  967999,  8,   40,   72,  104,  136168,  200232,  264296,
  328360,  392424,  456488,  520552,  584616,  648680,  712744,
  776808,  840872,  904936,  96810009,   41,   73,  105,  137169,
  201233,  265297,  329361,  393425,  457489,  521553,  585617,
  649681,  713745,  777809,  841873,  905937,  969100110,  42,
  74,  106,  138170,  202234,  266298,  330362,  394426,  458490,
  522554,  586618,  650682,  714746,  778810,  842874,  906938,
  970100211,  43,   75,  107,  139171,  203235,  267299,  331363,
  395427,  459491,  523555,  587619,  651683,  715747,  779811,
  843875,  907939,  971100312,  44,   76,  108,  140172,  204236,
  268300,  332364,  396428,  460492,  524556,  588620,  652684,
  716748,  780812,  844876,  908940,  972100413,  45,   77,  109,
  141173,  205237,  269301,  333365,  397429,  461493,  525557,
  589621,  653685,  717749,  781813,  845877,  909941,  9731005,
  14,  46,   78,  110,  142174,  206238,  270302,  334366,  398430,
  462494,  526558,  590622,  654686,  718750,  782814,  846878,
  910942,  974100615,  47,   79,  111,  143175,  207239,  271303,
  335367,  399431,  463495,  527559,  591623,  655687,  719751,
  783815,  847879,  911943,  975100716,  48,   80,  112,  144176,
  208240,  272304,  336368,  400432,  464496,  528560,  592624,
  656688,  720752,  784816,  848880,  912944,  976100817,  49,
  81,  113,  145177,  209241,  273305,  337369,  401433,  465497,
  529561,  593625,  657689,  721753,  785817,  849881,  913945,
  977100918,  50,   82,  114,  146178,  210242,  274306,  338370,
  402434,  466498,  530562,  594626,  658690,  722754,  786818,
  850882,  914946,  978101019,  51,   83,  115,  147179,  211243,
  275307,  339371,  403435,  467499,  531563,  595627,  659691,
  723755,  787819,  851883,  915947,  979101120,  52,   84,  116,
  148180,  212244,  276308,  340372,  404436,  468500,  532564,
  596628,  660692,  724756,  788820,  852884,  916948,  9801012,
  21,  53,   85,  117,  149181,  213245,  277309,  341373,  405437,
  469501,  533565,  597629,  661693,  725757,  789821,  853885,
  917949,  981101322,  54,   86,  118,  150182,  214246,  278310,
  342374,  406438,  470502,  534566,  598630,  662694,  726758,
  790822,  854886,  918950,  982101423,  55,   87,  119,  151183,
  215247,  279311,  343375,  407439,  471503,  535567,  599631,
  663695,  727759,  791823,  855887,  919951,  983101524,  56,
  88,  120,  152184,  216248,  280312,  344376,  408440,  472504,
  536568,  600632,  664696,  728760,  792824,  856888,  920952,
  984101625,  57,   89,  121,  153185,  217249,  281313,  345377,
  409441,  473505,  537569,  601633,  665697,  729761,  793825,
  857889,  921953,  985101726,  58,   90,  122,  154186,  218250,
  282314,  346378,  410442,  474506,  538570,  602634,  666698,
  730762,  794826,  858890,  922954,  986101827,  59,   91,  123,
  155187,  219251,  283315,  347379,  411443,  475507,  539571,
  603635,  667699,  731763,  795827,  859891,  923955,  9871019,
  28,  60,   92,  124,  156188,  220252,  284316,  348380,  412444,
  476508,  540572,  604636,  668700,  732764,  796828,  860892,
  924956,  988102029,  61,   93,  125,  157189,  221253,  285317,
  349381,  413445,  477509,  541573,  605637,  669701,  733765,
  797829,  861893,  925957,  989102130,  62,   94,  126,  158190,
  222254,  286318,  350382,  414446,  478510,  542574,  606638,
  670702,  734766,  798830,  862894,  926958,  990102231,  63,
  95,  127,  159191,  223255,  287319,  351383,  415447,  479511,
  543575,  607639,  671703,  735767,  799831,  863895,  927959,
  9911023,
};

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

const SCAN_ORDER av1_scan_orders[TX_SIZES_ALL][TX_TYPES] = {
  {
      // TX_4X4
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { default_scan_4x4, av1_default_iscan_4x4 },
      { mrow_scan_4x4, av1_mrow_iscan_4x4 },
      { mcol_scan_4x4, av1_mcol_iscan_4x4 },
      { mrow_scan_4x4, av1_mrow_iscan_4x4 },
      { mcol_scan_4x4, av1_mcol_iscan_4x4 },
      { mrow_scan_4x4, av1_mrow_iscan_4x4 },
      { mcol_scan_4x4, av1_mcol_iscan_4x4 },
  },
  {
      // TX_8X8
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { default_scan_8x8, av1_default_iscan_8x8 },
      { mrow_scan_8x8, av1_mrow_iscan_8x8 },
      { mcol_scan_8x8, av1_mcol_iscan_8x8 },
      { mrow_scan_8x8, av1_mrow_iscan_8x8 },
      { mcol_scan_8x8, av1_mcol_iscan_8x8 },
      { mrow_scan_8x8, av1_mrow_iscan_8x8 },
      { mcol_scan_8x8, av1_mcol_iscan_8x8 },
  },
  {
      // TX_16X16
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { default_scan_16x16, av1_default_iscan_16x16 },
      { mrow_scan_16x16, av1_mrow_iscan_16x16 },
      { mcol_scan_16x16, av1_mcol_iscan_16x16 },
      { mrow_scan_16x16, av1_mrow_iscan_16x16 },
      { mcol_scan_16x16, av1_mcol_iscan_16x16 },
      { mrow_scan_16x16, av1_mrow_iscan_16x16 },
      { mcol_scan_16x16, av1_mcol_iscan_16x16 },
  },
  {
      // TX_32X32
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
  },
  {
      // TX_64X64
      // Half of the coefficients of tx64 at higher frequencies are set to
      // zeros. So tx32's scan order is used.
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
  },
  {
      // TX_4X8
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { default_scan_4x8, av1_default_iscan_4x8 },
      { mrow_scan_4x8, av1_mrow_iscan_4x8 },
      { mcol_scan_4x8, av1_mcol_iscan_4x8 },
      { mrow_scan_4x8, av1_mrow_iscan_4x8 },
      { mcol_scan_4x8, av1_mcol_iscan_4x8 },
      { mrow_scan_4x8, av1_mrow_iscan_4x8 },
      { mcol_scan_4x8, av1_mcol_iscan_4x8 },
  },
  {
      // TX_8X4
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { default_scan_8x4, av1_default_iscan_8x4 },
      { mrow_scan_8x4, av1_mrow_iscan_8x4 },
      { mcol_scan_8x4, av1_mcol_iscan_8x4 },
      { mrow_scan_8x4, av1_mrow_iscan_8x4 },
      { mcol_scan_8x4, av1_mcol_iscan_8x4 },
      { mrow_scan_8x4, av1_mrow_iscan_8x4 },
      { mcol_scan_8x4, av1_mcol_iscan_8x4 },
  },
  {
      // TX_8X16
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { default_scan_8x16, av1_default_iscan_8x16 },
      { mrow_scan_8x16, av1_mrow_iscan_8x16 },
      { mcol_scan_8x16, av1_mcol_iscan_8x16 },
      { mrow_scan_8x16, av1_mrow_iscan_8x16 },
      { mcol_scan_8x16, av1_mcol_iscan_8x16 },
      { mrow_scan_8x16, av1_mrow_iscan_8x16 },
      { mcol_scan_8x16, av1_mcol_iscan_8x16 },
  },
  {
      // TX_16X8
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { default_scan_16x8, av1_default_iscan_16x8 },
      { mrow_scan_16x8, av1_mrow_iscan_16x8 },
      { mcol_scan_16x8, av1_mcol_iscan_16x8 },
      { mrow_scan_16x8, av1_mrow_iscan_16x8 },
      { mcol_scan_16x8, av1_mcol_iscan_16x8 },
      { mrow_scan_16x8, av1_mrow_iscan_16x8 },
      { mcol_scan_16x8, av1_mcol_iscan_16x8 },
  },
  {
      // TX_16X32
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
  },
  {
      // TX_32X16
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
  },
  {
      // TX_32X64
      // Half of the coefficients of tx64 at higher frequencies are set to
      // zeros. So tx32's scan order is used.
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
  },
  {
      // TX_64X32
      // Half of the coefficients of tx64 at higher frequencies are set to
      // zeros. So tx32's scan order is used.
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { default_scan_32x32, av1_default_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
      { mrow_scan_32x32, av1_mrow_iscan_32x32 },
      { mcol_scan_32x32, av1_mcol_iscan_32x32 },
  },
  {
      // TX_4X16
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { default_scan_4x16, av1_default_iscan_4x16 },
      { mrow_scan_4x16, av1_mrow_iscan_4x16 },
      { mcol_scan_4x16, av1_mcol_iscan_4x16 },
      { mrow_scan_4x16, av1_mrow_iscan_4x16 },
      { mcol_scan_4x16, av1_mcol_iscan_4x16 },
      { mrow_scan_4x16, av1_mrow_iscan_4x16 },
      { mcol_scan_4x16, av1_mcol_iscan_4x16 },
  },
  {
      // TX_16X4
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { default_scan_16x4, av1_default_iscan_16x4 },
      { mrow_scan_16x4, av1_mrow_iscan_16x4 },
      { mcol_scan_16x4, av1_mcol_iscan_16x4 },
      { mrow_scan_16x4, av1_mrow_iscan_16x4 },
      { mcol_scan_16x4, av1_mcol_iscan_16x4 },
      { mrow_scan_16x4, av1_mrow_iscan_16x4 },
      { mcol_scan_16x4, av1_mcol_iscan_16x4 },
  },
  {
      // TX_8X32
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { default_scan_8x32, av1_default_iscan_8x32 },
      { mrow_scan_8x32, av1_mrow_iscan_8x32 },
      { mcol_scan_8x32, av1_mcol_iscan_8x32 },
      { mrow_scan_8x32, av1_mrow_iscan_8x32 },
      { mcol_scan_8x32, av1_mcol_iscan_8x32 },
      { mrow_scan_8x32, av1_mrow_iscan_8x32 },
      { mcol_scan_8x32, av1_mcol_iscan_8x32 },
  },
  {
      // TX_32X8
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { default_scan_32x8, av1_default_iscan_32x8 },
      { mrow_scan_32x8, av1_mrow_iscan_32x8 },
      { mcol_scan_32x8, av1_mcol_iscan_32x8 },
      { mrow_scan_32x8, av1_mrow_iscan_32x8 },
      { mcol_scan_32x8, av1_mcol_iscan_32x8 },
      { mrow_scan_32x8, av1_mrow_iscan_32x8 },
      { mcol_scan_32x8, av1_mcol_iscan_32x8 },
  },
  {
      // TX_16X64
      // Half of the coefficients of tx64 at higher frequencies are set to
      // zeros. So tx32's scan order is used.
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { default_scan_16x32, av1_default_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
      { mrow_scan_16x32, av1_mrow_iscan_16x32 },
      { mcol_scan_16x32, av1_mcol_iscan_16x32 },
  },
  {
      // TX_64X16
      // Half of the coefficients of tx64 at higher frequencies are set to
      // zeros. So tx32's scan order is used.
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { default_scan_32x16, av1_default_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
      { mrow_scan_32x16, av1_mrow_iscan_32x16 },
      { mcol_scan_32x16, av1_mcol_iscan_32x16 },
  },
};

Messung V0.5 in Prozent
C=93 H=84 G=88

¤ Dauer der Verarbeitung: 0.126 Sekunden  (vorverarbeitet am  2026-06-06) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.