From: Petri H. <phi...@us...> - 2012-05-07 10:18:30
|
# HG changeset patch # User Petri Hintukainen <phi...@us...> # Date 1335535655 -10800 # Node ID 4331b226a48f89464c2139559d58e7a3afaf6a79 # Branch default # Parent d1214fc3044985d52b441aba9f24c358b9d4da28 Factorized duplicate code diff --git a/src/video_dec/libvdpau/bits_reader.h b/src/video_dec/libvdpau/bits_reader.h --- a/src/video_dec/libvdpau/bits_reader.h +++ b/src/video_dec/libvdpau/bits_reader.h @@ -40,34 +40,6 @@ -static uint32_t read_bits( bits_reader_t *br, int nbits ) -{ - int i, nbytes; - uint32_t ret = 0; - uint8_t *buf; - - buf = br->buffer; - nbytes = (br->offbits + nbits)/8; - if ( ((br->offbits + nbits) %8 ) > 0 ) - nbytes++; - if ( (buf + nbytes) > (br->start + br->length) ) { - br->oflow = 1; - return 0; - } - for ( i=0; i<nbytes; i++ ) - ret += buf[i]<<((nbytes-i-1)*8); - i = (4-nbytes)*8+br->offbits; - ret = ((ret<<i)>>i)>>((nbytes*8)-nbits-br->offbits); - - br->offbits += nbits; - br->buffer += br->offbits / 8; - br->offbits %= 8; - - return ret; -} - - - static void skip_bits( bits_reader_t *br, int nbits ) { br->offbits += nbits; @@ -101,3 +73,16 @@ return ret; } + + + +static uint32_t read_bits( bits_reader_t *br, int nbits ) +{ + uint32_t ret = get_bits(br, nbits); + + br->offbits += nbits; + br->buffer += br->offbits / 8; + br->offbits %= 8; + + return ret; +} |