]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ralf.c
Merge commit '0c00fd80ee4791bd70b634084307fc9f179e0412'
[ffmpeg] / libavcodec / ralf.c
index 38e7e69cb79467656aa183bad41744e0dfe694ed..6866f79609541f28170b919bb789888b932fa72d 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++)
@@ -525,12 +525,12 @@ static void decode_flush(AVCodecContext *avctx)
 AVCodec ff_ralf_decoder = {
     .name           = "ralf",
     .type           = AVMEDIA_TYPE_AUDIO,
-    .id             = CODEC_ID_RALF,
+    .id             = AV_CODEC_ID_RALF,
     .priv_data_size = sizeof(RALFContext),
     .init           = decode_init,
     .close          = decode_close,
     .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"),
 };