Good day!<div>in Theora spec wrote (page 18, paragraph "DCT Coe cients"):</div><div>"...Tokens are grouped in the stream by token index, not by the block they</div><div>originate from. This means that for each zig-zag index in turn, the tokens with</div>
<div>that index from all the coded blocks are coded in coded block order. When</div><div>decoding, a current token index is maintained for each coded block. This index</div><div>is advanced by the number of coe cients that are added to the block as each</div>
<div>token is decoded. After fully decoding all the tokens with token index ti , the</div><div>current token index of every coded block will be ti or greater...."</div><div><br></div><div><br></div><div>ok.</div><div>
for example, my encoder produce only two blocks:</div><div>1) in first block (after DCT) i have </div><div>AC0=1; </div><div>AC(1..62)=0;</div><div>AC63=1; </div><div>so, after zig-zag + RLE have tokens for </div><div>AC0=(0,1);</div>
<div>AC63=(62,1)</div><div><br></div><div><div>1) in first block (after DCT) i have </div><div>AC0=1;</div><div>AC1=1;</div><div>AC(2..62)=0;</div><div>AC63=1; </div><div>so, after zig-zag + RLE have tokens for </div><div>
AC0=(0,1);</div><div>AC1=(0,1);</div><div>AC63=(61,1)</div></div><div><br></div><div><br></div><div>Acording to paragraph "DCT Coe cients", encoder must pack coefficients by token index (index = zig-zag number of coeff), ok i pack:</div>
<div>for index=0: (0,1);(0,1);</div><div>...</div><div>..</div><div>for index=63: (62,1);(61,1)</div><div><br></div><div><br></div><div>what about tokens for index 1-61?</div><div><br></div><div><br></div>