diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 96d8d1ece171c3ab2a027d6719672402785675bd..bc3fe29dc149157d0208e889b0e9f7d983b7bfc4 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -25,8 +25,8 @@
 
 #define BITSTREAM_READER_LE
 #include "avcodec.h"
+#include "bitstream.h"
 #include "celp_filters.h"
-#include "get_bits.h"
 #include "internal.h"
 #include "lpc.h"
 #include "ra288.h"
@@ -181,7 +181,7 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
     float *out;
     int i, ret;
     RA288Context *ractx = avctx->priv_data;
-    GetBitContext gb;
+    BitstreamContext bc;
 
     if (buf_size < avctx->block_align) {
         av_log(avctx, AV_LOG_ERROR,
@@ -198,11 +198,11 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
     }
     out = (float *)frame->data[0];
 
-    init_get_bits(&gb, buf, avctx->block_align * 8);
+    bitstream_init(&bc, buf, avctx->block_align * 8);
 
     for (i=0; i < RA288_BLOCKS_PER_FRAME; i++) {
-        float gain = amptable[get_bits(&gb, 3)];
-        int cb_coef = get_bits(&gb, 6 + (i&1));
+        float gain = amptable[bitstream_read(&bc, 3)];
+        int cb_coef = bitstream_read(&bc, 6 + (i & 1));
 
         decode(ractx, gain, cb_coef);