From a633f9ab084afaeb6f37c28bf7d175da7c635ff1 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Fri, 27 Apr 2012 17:07:35 +0300 Subject: Factorized duplicate code --- src/video_dec/libvdpau/bits_reader.h | 41 ++++++++++++------------------------ 1 file changed, 13 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/video_dec/libvdpau/bits_reader.h b/src/video_dec/libvdpau/bits_reader.h index 9cf232288..9c7ea282a 100644 --- a/src/video_dec/libvdpau/bits_reader.h +++ b/src/video_dec/libvdpau/bits_reader.h @@ -40,34 +40,6 @@ static void bits_reader_set( bits_reader_t *br, uint8_t *buf, int len ) -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; ioffbits; - ret = ((ret<>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 @@ static uint32_t get_bits( bits_reader_t *br, int nbits ) 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; +} -- cgit v1.2.3