]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ralf.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / ralf.c
index 38e7e69cb79467656aa183bad41744e0dfe694ed..a75fe7316895c1576e9afdc9731861141d4b4b8e 100644 (file)
@@ -80,17 +80,17 @@ static int init_ralf_vlc(VLC *vlc, const uint8_t *data, int elems)
     int counts[17], prefixes[18];
     int i, cur_len;
     int max_bits = 0;
-    GetBitContext gb;
-
-    init_get_bits(&gb, data, elems * 4);
+    int nb = 0;
 
     for (i = 0; i <= 16; i++)
         counts[i] = 0;
     for (i = 0; i < elems; i++) {
-        cur_len  = get_bits(&gb, 4) + 1;
+        cur_len  = (nb ? *data & 0xF : *data >> 4) + 1;
         counts[cur_len]++;
         max_bits = FFMAX(max_bits, cur_len);
         lens[i]  = cur_len;
+        data    += nb;
+        nb      ^= 1;
     }
     prefixes[1] = 0;
     for (i = 1; i <= 16; i++)
@@ -532,5 +532,5 @@ AVCodec ff_ralf_decoder = {
     .decode         = decode_frame,
     .flush          = decode_flush,
     .capabilities   = CODEC_CAP_DR1,
-    .long_name      = NULL_IF_CONFIG_SMALL("RealAudio Lossless")
+    .long_name      = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
 };