<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Llchao</id>
	<title>MultimediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Llchao"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php/Special:Contributions/Llchao"/>
	<updated>2026-07-29T12:28:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=VC-1_Zigzag_Tables&amp;diff=6377</id>
		<title>VC-1 Zigzag Tables</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=VC-1_Zigzag_Tables&amp;diff=6377"/>
		<updated>2006-10-25T00:28:51Z</updated>

		<summary type="html">&lt;p&gt;Llchao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of [[Understanding VC-1]]''&lt;br /&gt;
&lt;br /&gt;
'''ZigZag Tables'''&lt;br /&gt;
&lt;br /&gt;
These tables are used in AC Coefficient Decode.  They are selected based on the following factors:&lt;br /&gt;
&lt;br /&gt;
* Progressive vs Interlaced&lt;br /&gt;
* Intra vs Inter&lt;br /&gt;
* Ac Prediction Parameters&lt;br /&gt;
** Prediction Direction&lt;br /&gt;
** ACPRED syntax element&lt;br /&gt;
* Profile&lt;br /&gt;
* Transform Type&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Intra_Normal_Scan [64] = /* Table 226 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,     1,     2,     9,    16,    24,    17,&lt;br /&gt;
      10,     3,     4,    11,    18,    25,    32,    40,&lt;br /&gt;
      33,    48,    26,    19,    12,     5,     6,    13,&lt;br /&gt;
      20,    27,    34,    41,    56,    49,    57,    42,&lt;br /&gt;
      35,    28,    21,    14,     7,    15,    22,    29,&lt;br /&gt;
      36,    43,    50,    58,    51,    59,    44,    37,&lt;br /&gt;
      30,    23,    31,    38,    45,    52,    60,    53,&lt;br /&gt;
      61,    46,    39,    47,    54,    62,    55,    63&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Intra_Horizontal_Scan [64] = /* Table 227 */&lt;br /&gt;
{&lt;br /&gt;
       0,     1,     8,     2,     3,     9,    16,    24,&lt;br /&gt;
      17,    10,     4,     5,    11,    18,    25,    32,&lt;br /&gt;
      40,    48,    33,    26,    19,    12,     6,     7,&lt;br /&gt;
      13,    20,    27,    34,    41,    56,    49,    57,&lt;br /&gt;
      42,    35,    28,    21,    14,    15,    22,    29,&lt;br /&gt;
      36,    43,    50,    58,    51,    44,    37,    30,&lt;br /&gt;
      23,    31,    38,    45,    52,    59,    60,    53,&lt;br /&gt;
      46,    39,    47,    54,    61,    62,    55,    63&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Intra_Vertical_Scan [64] = /* Table 228 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,    16,     1,    24,    32,    40,     9,&lt;br /&gt;
       2,     3,    10,    17,    25,    48,    56,    41,&lt;br /&gt;
      33,    26,    18,    11,     4,     5,    12,    19,&lt;br /&gt;
      27,    34,    49,    57,    50,    42,    35,    28,&lt;br /&gt;
      20,    13,     6,     7,    14,    21,    29,    36,&lt;br /&gt;
      43,    51,    58,    59,    52,    44,    37,    30,&lt;br /&gt;
      22,    15,    23,    31,    38,    45,    60,    53,&lt;br /&gt;
      46,    39,    47,    54,    61,    62,    55,    63&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Inter_8x8_Scan_Simple_Main_Profiles_Progressive_Advanced_Profile [64] = /* Table 229 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,     1,     2,     9,    16,    24,    17,&lt;br /&gt;
      10,     3,     4,    11,    18,    25,    32,    40,&lt;br /&gt;
      48,    56,    41,    33,    26,    19,    12,     5,&lt;br /&gt;
       6,    13,    20,    27,    34,    49,    57,    58,&lt;br /&gt;
      50,    42,    35,    28,    21,    14,     7,    15,&lt;br /&gt;
      22,    29,    36,    43,    51,    59,    60,    52,&lt;br /&gt;
      44,    37,    30,    23,    31,    38,    45,    53,&lt;br /&gt;
      61,    62,    54,    46,    39,    47,    55,    63&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Inter_8x4_Scan_Simple_Main_Profiles [32] = /* Table 230 */&lt;br /&gt;
{&lt;br /&gt;
       0,     1,     2,     8,     3,     9,    10,    16,&lt;br /&gt;
       4,    11,    17,    24,    18,    12,     5,    19,&lt;br /&gt;
      25,    13,    20,    26,    27,     6,    21,    28,&lt;br /&gt;
      14,    22,    29,     7,    30,    15,    23,    31&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Inter_4x8_Scan_Simple_Main_Profiles [32] = /* Table 231 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,     1,    16,&lt;br /&gt;
       9,    24,    17,     2,&lt;br /&gt;
      32,    10,    25,    40,&lt;br /&gt;
      18,    48,    33,    26,&lt;br /&gt;
      56,    41,    34,     3,&lt;br /&gt;
      49,    57,    11,    42,&lt;br /&gt;
      19,    50,    27,    58,&lt;br /&gt;
      35,    43,    51,    59&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Inter_4x4_Scan_Simple_Main_Profiles_Progressive_Advanced_Profile [16] = /* Table 232 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,    16,     1,&lt;br /&gt;
       9,    24,    17,     2,&lt;br /&gt;
      10,    18,    25,     3,&lt;br /&gt;
      11,    26,    19,    27&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Progressive_Inter_8x4_Scan_Advanced_Profile [32] = /* Table 233 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,     1,    16,     2,     9,    10,     3,&lt;br /&gt;
      24,    17,     4,    11,    18,    12,     5,    19,&lt;br /&gt;
      25,    13,    20,    26,    27,     6,    21,    28,&lt;br /&gt;
      14,    22,    29,     7,    30,    15,    23,    31&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Progressive_Inter_4x8_Scan_Advanced_Profile [32] = /* Table 234 */&lt;br /&gt;
{&lt;br /&gt;
       0,     1,     8,     2,&lt;br /&gt;
       9,    16,    17,    24,&lt;br /&gt;
      10,    32,    25,    18,&lt;br /&gt;
      40,     3,    33,    26,&lt;br /&gt;
      48,    11,    56,    41,&lt;br /&gt;
      34,    49,    57,    42,&lt;br /&gt;
      19,    50,    27,    58,&lt;br /&gt;
      35,    43,    51,    59&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Interlace_Inter_8x8_Scan_Advanced_Profile [64] = /* Table 235 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,     1,    16,    24,     9,     2,    32,&lt;br /&gt;
      40,    48,    56,    17,    10,     3,    25,    18,&lt;br /&gt;
      11,     4,    33,    41,    49,    57,    26,    34,&lt;br /&gt;
      42,    50,    58,    19,    12,     5,    27,    20,&lt;br /&gt;
      13,     6,    35,    28,    21,    14,     7,    15,&lt;br /&gt;
      22,    29,    36,    43,    51,    59,    60,    52,&lt;br /&gt;
      44,    37,    30,    23,    31,    38,    45,    53,&lt;br /&gt;
      61,    62,    54,    46,    39,    47,    55,    63&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Interlace_Inter_8x4_Scan_Advanced_Profile [32] = /* Table 236 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,    16,    24,     1,     9,     2,    17,&lt;br /&gt;
      25,    10,     3,    18,    26,     4,    11,    19,&lt;br /&gt;
      12,     5,    13,    20,    27,     6,    21,    28,&lt;br /&gt;
      14,    22,    29,     7,    30,    15,    23,    31&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Interlace_Inter_4x8_Scan_Advanced_Profile [32] = /* Table 237 */&lt;br /&gt;
{&lt;br /&gt;
       0,     1,     2,     8,&lt;br /&gt;
      16,     9,    24,    17,&lt;br /&gt;
      10,     3,    32,    40,&lt;br /&gt;
      48,    56,    25,    18,&lt;br /&gt;
      33,    26,    41,    34,&lt;br /&gt;
      49,    57,    11,    42,&lt;br /&gt;
      19,    50,    27,    58,&lt;br /&gt;
      35,    43,    51,    59&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
const BYTE8 vc1_Inv_Interlace_Inter_4x4_Scan_Advanced_Profile [16] = /* Table 238 */&lt;br /&gt;
{&lt;br /&gt;
       0,     8,    16,    24,&lt;br /&gt;
       1,     9,    17,     2,&lt;br /&gt;
      25,    10,    18,     3,&lt;br /&gt;
      26,    11,    19,    27&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Llchao</name></author>
	</entry>
</feed>