Make clear that this isn't the official version
[dirac-spec-errata.git] / state-macros.tex
blobb5ee5d34d7ad37ab1a3da7d0d7931de315835672
1 % This file contains commands for all the state
2 % variables in the spec. These commands should be
3 % used for each occurrence of the state variables
4 % so that they have a consistent style, which can
5 % be varied at will.
7 % Arithmetic decoding engine state variables %
9 \newcommand{\true}{\text{\bf{True}}}
10 \newcommand{\false}{\text{\bf{False}}}
12 \newcommand\StateName{\textbf{state}}
13 \newcommand\VideoParams{\textbf{video\_params}}
15 % How to use state macros:
16 % To insert the raw variable index, type \VNickName
17 % To insert the sequence state variable, type \SNickName
18 % To inset the state variable, type \NickName
20 \newcommand{\pdefine}[2]{%
21 \label{#1}%
22 \expandafter\def\csname #1\endcsname{\text{\StateName[#2]}}}
24 \newcommand{\vdefine}[2]{%
25 \label{#1}%
26 \expandafter\def\csname #1\endcsname{\text{\VideoParams[#2]}}}
29 \newcommand{\kdefine}[2]{%
30 \expandafter\def\csname #1\endcsname{\text{\StateName[#2]}\index{#2}}
31 \expandafter\def\csname V#1\endcsname{\text{#2}\index{#2}}
35 %\kdefine{SamplingFormatIndex}{SAMPLING\_FORMAT\_INDEX}
37 %\vdefine{SInterlaced}{INTERLACED}
38 \vdefine{SSourceSampling}{\text{SOURCE\_SAMPLING}}
39 \newcommand{\Interlaced}{\text{INTERLACED}}
40 \newcommand{\Progressive}{\text{PROGRESSIVE}}
41 \vdefine{STopFieldFirst}{TOP\_FIELD\_FIRST}
42 %\kdefine{FrameRateIndex}{FRAME\_RATE\_INDEX}
43 \vdefine{SFrameWidth}{FRAME\_WIDTH}
44 \vdefine{SFrameHeight}{FRAME\_HEIGHT}
45 \vdefine{SChromaFormatIndex}{CHROMA\_FORMAT\_INDEX}
46 \vdefine{SFrameRateNumer}{FRAME\_RATE\_NUMER}
47 \vdefine{SFrameRateDenom}{FRAME\_RATE\_DENOM}
49 \vdefine{SAspectRatioNumer}{PIXEL\_ASPECT\_RATIO\_NUMER}
50 \vdefine{SAspectRatioDenom}{PIXEL\_ASPECT\_RATIO\_DENOM}
52 \vdefine{SCleanWidth}{CLEAN\_WIDTH}
53 \vdefine{SCleanHeight}{CLEAN\_HEIGHT}
54 \vdefine{SLeftOffset}{CLEAN\_LEFT\_OFFSET}
55 \vdefine{STopOffset}{CLEAN\_TOP\_OFFSET}
57 %\kdefine{SignalRangeIndex}{SIGNAL\_RANGE\_INDEX}
58 \vdefine{SLumaOffset}{LUMA\_OFFSET}
59 \vdefine{SLumaExcursion}{LUMA\_EXCURSION}
60 \vdefine{SChromaOffset}{CHROMA\_OFFSET}
61 \vdefine{SChromaExcursion}{CHROMA\_EXCURSION}
63 %\kdefine{ColourSpecIndex}{COLOUR\_SPEC\_INDEX}
64 %\kdefine{ColourPrimariesIndex}{COLOUR\_PRIMARIES\_INDEX}
65 %\kdefine{ColourMatrixIndex}{COLOUR\_MATRIX\_INDEX}
66 %\kdefine{TransferFunction}{transfer\_fn}
67 %\kdefine{TransferFunctionIndex}{TRANSFER\_FN\_INDEX}
71 \kdefine{AHigh}{HIGH}
72 \kdefine{ARange}{RANGE}
73 \kdefine{ALow}{LOW}
74 \kdefine{ACode}{CODE}
75 \kdefine{ACodeMinusLow}{CODE\_MINUS\_LOW}
76 \kdefine{ABitsLeft}{BITS\_LEFT}
77 \kdefine{AContexts}{CONTEXT\_PROBS}
78 \kdefine{ALUT}{PROB\_LUT}
79 \kdefine{ACounter}{COUNTER}
81 \kdefine{RefBuffer}{REF\_PICTURES}
82 \kdefine{DecodedBuffer}{DECODED\_PICTURES}
83 \kdefine{RefBufferSize}{RB\_SIZE}
84 \kdefine{MaxRefBufferSize}{MAX\_RB\_SIZE}
85 \kdefine{DPBSize}{DPB\_SIZE}
86 \kdefine{StreamBuffer}{STREAM\_BUFFER}
87 \kdefine{StreamBufferSize}{STREAM\_BUFFER\_SIZE}
88 \kdefine{PictureInterval}{PICTURE\_INTERVAL}
89 \kdefine{ParseInfoPrefix}{PARSE\_INFO\_PREFIX}
90 \kdefine{ParseCode}{PARSE\_CODE}
91 \kdefine{NextParseOffset}{NEXT\_PARSE\_OFFSET}
92 \kdefine{PrevParseOffset}{PREVIOUS\_PARSE\_OFFSET}
94 \kdefine{VersionMajor}{VERSION\_MAJOR}
95 \kdefine{VersionMinor}{VERSION\_MINOR}
96 \kdefine{Profile}{PROFILE}
97 \kdefine{Level}{LEVEL}
99 \kdefine{LumaDepth}{LUMA\_DEPTH}
100 \kdefine{ChromaDepth}{CHROMA\_DEPTH}
101 \kdefine{LumaWidth}{LUMA\_WIDTH}
102 \kdefine{LumaHeight}{LUMA\_HEIGHT}
103 \kdefine{ChromaWidth}{CHROMA\_WIDTH}
104 \kdefine{ChromaHeight}{CHROMA\_HEIGHT}
105 \kdefine{LumaXBlen}{LUMA\_XBLEN}
106 \kdefine{LumaYBlen}{LUMA\_YBLEN}
107 \kdefine{LumaXBsep}{LUMA\_XBSEP}
108 \kdefine{LumaYBsep}{LUMA\_YBSEP}
109 \kdefine{ChromaXBlen}{CHROMA\_XBLEN}
110 \kdefine{ChromaYBlen}{CHROMA\_YBLEN}
111 \kdefine{ChromaXBsep}{CHROMA\_XBSEP}
112 \kdefine{ChromaYBsep}{CHROMA\_YBSEP}
113 \kdefine{XBlen}{XBLEN}
114 \kdefine{YBlen}{YBLEN}
115 \kdefine{XBsep}{XBSEP}
116 \kdefine{YBsep}{YBSEP}
117 \kdefine{XOffset}{XOFFSET}
118 \kdefine{YOffset}{YOFFSET}
119 \kdefine{LenX}{LEN\_X}
120 \kdefine{LenY}{LEN\_Y}
122 \kdefine{SuperblocksX}{SUPERBLOCKS\_X}
123 \kdefine{SuperblocksY}{SUPERBLOCKS\_Y}
124 \kdefine{BlocksX}{BLOCKS\_X}
125 \kdefine{BlocksY}{BLOCKS\_Y}
127 \kdefine{PictureNumber}{PICTURE\_NUM}
128 \kdefine{RefOneNum}{REF1\_PICTURE\_NUM}
129 \kdefine{RefTwoNum}{REF2\_PICTURE\_NUM}
130 \kdefine{RetiredPicture}{RETD\_PIC\_NUM}
132 \kdefine{BlockData}{BLOCK\_DATA}
133 \kdefine{BlockDataLength}{BLOCK\_DATA\_LENGTH}
134 \kdefine{CompressedBlockData}{COMPRESSED\_BLOCK\_DATA}
135 \kdefine{LumaXBLen}{LUMA\_XBLEN}
136 \kdefine{LumaYBLen}{LUMA\_YBLEN}
137 \kdefine{LumaXBSep}{LUMA\_XBSEP}
138 \kdefine{LumaYBSep}{LUMA\_YBSEP}
139 \kdefine{MotionVectorPrecision}{MV\_PRECISION}
140 \kdefine{RefsWeightPrecision}{REFS\_WT\_PRECISION}
141 \kdefine{RefOneWeight}{REF1\_WT}
142 \kdefine{RefTwoWeight}{REF2\_WT}
143 \kdefine{PictureUsingGlobal}{USING\_GLOBAL}
144 \kdefine{GlobalParams}{GLOBAL\_PARAMS}
146 \kdefine{PicturePredictionModeIndex}{PICTURE\_PRED\_MODE}
148 \kdefine{Quant}{QUANTISER}
149 \kdefine{ZeroResidual}{ZERO\_RESIDUAL}
150 \kdefine{WaveletIndex}{WAVELET\_INDEX}
151 \kdefine{WaveletFilter}{WAVELET\_FILTER}
152 \kdefine{TransformDepth}{DWT\_DEPTH}
153 \kdefine{YTransform}{Y\_TRANSFORM}
154 \kdefine{COneTransform}{C1\_TRANSFORM}
155 \kdefine{CTwoTransform}{C2\_TRANSFORM}
156 \kdefine{CodeblockMode}{CODEBLOCK\_MODE}
157 \kdefine{SBSplit}{SB\_SPLIT}
158 \kdefine{SBCommon}{SB\_COMMON}
159 \kdefine{PURefinuseA}{REF1\_MODE}
160 \kdefine{PURefinuseB}{REF2\_MODE}
161 \kdefine{PULumaDC}{LUMA\_DC}
162 \kdefine{PUChromaADC}{C1\_DC}
163 \kdefine{PUChromaBDC}{C2\_DC}
164 \kdefine{PUvectorA}{REF1\_VECTOR}
165 \kdefine{PUvectorB}{REF2\_VECTOR}
167 \kdefine{CurrentByte}{CURRENT\_BYTE}
168 \kdefine{NextBit}{NEXT\_BIT}
169 \kdefine{CodeblocksX}{CODEBLOCKS\_X}
170 \kdefine{CodeblocksY}{CODEBLOCKS\_Y}
172 \kdefine{CurrentPicture}{CURRENT\_PICTURE}
174 \kdefine{SliceBytesNum}{SLICE\_BYTES\_NUMER}
175 \kdefine{SliceBytesDenom}{SLICE\_BYTES\_DENOM}
176 \kdefine{QuantMatrix}{QMATRIX}
177 \kdefine{SlicesX}{SLICES\_X}
178 \kdefine{SlicesY}{SLICES\_Y}
180 \newcommand{\LL}{\textit{LL}}
181 \newcommand{\LH}{\textit{LH}}
182 \newcommand{\HL}{\textit{HL}}
183 \newcommand{\HH}{\textit{HH}}
185 \newcommand{\PicNum}{\text{PIC\_NUM}}
187 \newcommand{\SingleQuantiser}{\text{SINGLE\_QUANT}}
188 \newcommand{\MultipleQuantiser}{\text{MULTI\_QUANT}}
189 \newcommand{\Intra}{\text{INTRA}}
190 \newcommand{\Inter}{\text{INTER}}
191 \newcommand{\RefOneAndTwo}{\text{REF1AND2}}
192 \newcommand{\RefOneOnly}{\text{REF1ONLY}}
193 \newcommand{\RefTwoOnly}{\text{REF2ONLY}}
194 \newcommand{\RefOne}{\text{REF1}}
195 \newcommand{\RefTwo}{\text{REF2}}
196 \newcommand{\RMode}{\text{RMODE}}
197 \newcommand{\GMode}{\text{GMODE}}
198 \newcommand{\DC}{\text{DC}}
199 \newcommand{\Vect}{\text{VECTOR}}
201 \newcommand{\ZRS}{\text{ZRS}}
202 \newcommand{\ZRSexponent}{\text{ZRS\_EXP}}
203 \newcommand{\PerspectiveExponent}{\text{PERSP\_EXP}}
204 \newcommand{\Perspective}{\text{PERSPECTIVE}}
205 \newcommand{\PerspectiveX}{\text{PERSP\_X}}
206 \newcommand{\PerspectiveY}{\text{PERSP\_Y}}
207 \newcommand{\PanTilt}{\text{PAN\_TILT}}
209 % Contexts:
211 \newcommand{\SignZero}{\text{SIGN\_ZERO}}
212 \newcommand{\SignPos}{\text{SIGN\_POS}}
213 \newcommand{\SignNeg}{\text{SIGN\_NEG}}
215 \newcommand{\ZPZNFollowOne}{\text{ZPZN\_F1}}
216 \newcommand{\ZPNNFollowOne}{\text{ZPNN\_F1}}
217 \newcommand{\ZPFollowTwo}{\text{ZP\_F2}}
218 \newcommand{\ZPFollowThree}{\text{ZP\_F3}}
219 \newcommand{\ZPFollowFour}{\text{ZP\_F4}}
220 \newcommand{\ZPFollowFive}{\text{ZP\_F5}}
221 \newcommand{\ZPFollowSixPlus}{\text{ZP\_F6+}}
223 \newcommand{\NPZNFollowOne}{\text{NPZN\_F1}}
224 \newcommand{\NPNNFollowOne}{\text{NPNN\_F1}}
225 \newcommand{\NPFollowTwo}{\text{NP\_F2}}
226 \newcommand{\NPFollowThree}{\text{NP\_F3}}
227 \newcommand{\NPFollowFour}{\text{NP\_F4}}
228 \newcommand{\NPFollowFive}{\text{NP\_F5}}
229 \newcommand{\NPFollowSixPlus}{\text{NP\_F6+}}
231 \newcommand{\CoeffData}{\text{COEFF\_DATA}}
233 \newcommand{\ZeroCodeblock}{\text{ZERO\_BLOCK}}
234 \newcommand{\QOffsetFollow}{\text{Q\_OFFSET\_FOLLOW}}
235 \newcommand{\QOffsetData}{\text{Q\_OFFSET\_DATA}}
236 \newcommand{\QOffsetSign}{\text{Q\_OFFSET\_SIGN}}
237 \newcommand{\TotalCoeffCtxs}{\text{TOTAL\_COEFF\_CTXs}}
239 \newcommand{\SBSplitFollowOne}{\text{SB\_F1}}
240 \newcommand{\SBSplitFollowTwo}{\text{SB\_F2}}
241 \newcommand{\SBSplitData}{\text{SB\_DATA}}
243 \newcommand{\PredModeOne}{\text{PMODE\_REF1}}
244 \newcommand{\PredModeTwo}{\text{PMODE\_REF2}}
245 \newcommand{\BlockGlobal}{\text{GLOBAL\_BLOCK}}
247 \newcommand{\VectorFollowOne}{\text{VECTOR\_F1}}
248 \newcommand{\VectorFollowTwo}{\text{VECTOR\_F2}}
249 \newcommand{\VectorFollowThree}{\text{VECTOR\_F3}}
250 \newcommand{\VectorFollowFour}{\text{VECTOR\_F4}}
251 \newcommand{\VectorFollowFivePlus}{\text{VECTOR\_F5+}}
252 \newcommand{\VectorData}{\text{VECTOR\_DATA}}
253 \newcommand{\VectorSign}{\text{VECTOR\_SIGN}}
255 \newcommand{\DCFollowOne}{\text{DC\_F1}}
256 \newcommand{\DCFollowTwoPlus}{\text{DC\_F2+}}
257 \newcommand{\DCData}{\text{DC\_DATA}}
258 \newcommand{\DCSign}{\text{DC\_SIGN}}