Hello All:<div><br></div><div>I'm reading x264-snapshot-20090214£¬and I have doubt about the line in the file common/cabac.c</div><div><br></div><div>" int shift = x264_cabac_renorm_shift[cb->i_range>>3]; ".</div>
<div><br></div><div>For a quick recap, I copy the function containing the code line below</div><div><br></div><div>"</div><div><div>static inline void x264_cabac_encode_renorm( x264_cabac_t *cb )</div><div>{</div><div>
int shift = x264_cabac_renorm_shift[cb->i_range>>3];</div><div> cb->i_range <<= shift;</div><div> cb->i_low <<= shift;</div><div> cb->i_queue += shift;</div><div> x264_cabac_putbyte( cb );</div>
<div>}</div><div>"</div><div><br></div><div>In the situation of cb->i_range equal to 2, which would happen when encoding the LPS with pStateIdx equal to</div><div>63 in H.264 standard, a 7 bit left shift should be performed for cb->i_range and cb->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>