Hello All:<div><br></div><div>I&#39;m reading&nbsp;x264-snapshot-20090214£¬and I have doubt about the line in&nbsp;&nbsp;the file common/cabac.c</div><div><br></div><div>&quot; int shift = x264_cabac_renorm_shift[cb-&gt;i_range&gt;&gt;3]; &nbsp;&quot;.</div>
<div><br></div><div>For a quick recap, I copy the function containing the code line &nbsp;below</div><div><br></div><div>&quot;</div><div><div>static inline void x264_cabac_encode_renorm( x264_cabac_t *cb )</div><div>{</div><div>
&nbsp;&nbsp; &nbsp;int shift = x264_cabac_renorm_shift[cb-&gt;i_range&gt;&gt;3];</div><div>&nbsp;&nbsp; &nbsp;cb-&gt;i_range &lt;&lt;= shift;</div><div>&nbsp;&nbsp; &nbsp;cb-&gt;i_low &nbsp; &lt;&lt;= shift;</div><div>&nbsp;&nbsp; &nbsp;cb-&gt;i_queue &nbsp;+= shift;</div><div>&nbsp;&nbsp; &nbsp;x264_cabac_putbyte( cb );</div>
<div>}</div><div>&quot;</div><div><br></div><div>In the situation of cb-&gt;i_range equal to 2, &nbsp;which would happen when encoding the LPS with&nbsp;pStateIdx equal to</div><div>63 in H.264 standard, a 7 bit left shift should be&nbsp;performed &nbsp;for&nbsp;cb-&gt;i_range and cb-&gt;i_low, but it seems not be</div>
<div>so in the code line.</div><div><br></div><div>I am confused and appreciate anyone who offer help.</div><div>Expecting a response and thanks in advance.</div><div><br></div><div>Max</div><div>2009-4-1</div></div>