[x264-devel] about cabac renorm shift

panoply Brilliant panoplyof at gmail.com
Tue Mar 31 19:01:39 CEST 2009


Hello All:
I'm reading x264-snapshot-20090214,and I have doubt about the line in  the
file common/cabac.c

" int shift = x264_cabac_renorm_shift[cb->i_range>>3];  ".

For a quick recap, I copy the function containing the code line  below

"
static inline void x264_cabac_encode_renorm( x264_cabac_t *cb )
{
    int shift = x264_cabac_renorm_shift[cb->i_range>>3];
    cb->i_range <<= shift;
    cb->i_low   <<= shift;
    cb->i_queue  += shift;
    x264_cabac_putbyte( cb );
}
"

In the situation of cb->i_range equal to 2,  which would happen when
encoding the LPS with pStateIdx equal to
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
so in the code line.

I am confused and appreciate anyone who offer help.
Expecting a response and thanks in advance.

Max
2009-4-1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20090401/e3f6c6c7/attachment.htm>


More information about the x264-devel mailing list