[FFmpeg-cvslog] dvdsubdec: Convert to the new bitstream reader

Alexandra Hájková git at videolan.org
Mon Apr 3 21:38:38 EEST 2017


ffmpeg | branch: master | Alexandra Hájková <alexandra at khirnov.net> | Sat Apr  9 19:05:56 2016 +0200| [d8618570beb52001c0e8960777bab6158a60b3f9] | committer: Anton Khirnov

dvdsubdec: Convert to the new bitstream reader

Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d8618570beb52001c0e8960777bab6158a60b3f9
---

 libavcodec/dvdsubdec.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 86c2873..b02bb6b 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -20,7 +20,7 @@
  */
 
 #include "avcodec.h"
-#include "get_bits.h"
+#include "bitstream.h"
 #include "internal.h"
 
 #include "libavutil/attributes.h"
@@ -50,13 +50,13 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
     }
 }
 
-static int decode_run_2bit(GetBitContext *gb, int *color)
+static int decode_run_2bit(BitstreamContext *bc, int *color)
 {
     unsigned int v, t;
 
     v = 0;
     for (t = 1; v < t && t <= 0x40; t <<= 2)
-        v = (v << 4) | get_bits(gb, 4);
+        v = (v << 4) | bitstream_read(bc, 4);
     *color = v & 3;
     if (v < 4) { /* Code for fill rest of line */
         return INT_MAX;
@@ -64,23 +64,23 @@ static int decode_run_2bit(GetBitContext *gb, int *color)
     return v >> 2;
 }
 
-static int decode_run_8bit(GetBitContext *gb, int *color)
+static int decode_run_8bit(BitstreamContext *bc, int *color)
 {
     int len;
-    int has_run = get_bits1(gb);
-    if (get_bits1(gb))
-        *color = get_bits(gb, 8);
+    int has_run = bitstream_read_bit(bc);
+    if (bitstream_read_bit(bc))
+        *color = bitstream_read(bc, 8);
     else
-        *color = get_bits(gb, 2);
+        *color = bitstream_read(bc, 2);
     if (has_run) {
-        if (get_bits1(gb)) {
-            len = get_bits(gb, 7);
+        if (bitstream_read_bit(bc)) {
+            len = bitstream_read(bc, 7);
             if (len == 0)
                 len = INT_MAX;
             else
                 len += 9;
         } else
-            len = get_bits(gb, 3) + 2;
+            len = bitstream_read(bc, 3) + 2;
     } else
         len = 1;
     return len;
@@ -89,24 +89,24 @@ static int decode_run_8bit(GetBitContext *gb, int *color)
 static int decode_rle(uint8_t *bitmap, int linesize, int w, int h,
                       const uint8_t *buf, int start, int buf_size, int is_8bit)
 {
-    GetBitContext gb;
+    BitstreamContext bc;
     int bit_len;
     int x, y, len, color;
     uint8_t *d;
 
     bit_len = (buf_size - start) * 8;
-    init_get_bits(&gb, buf + start, bit_len);
+    bitstream_init(&bc, buf + start, bit_len);
 
     x = 0;
     y = 0;
     d = bitmap;
     for(;;) {
-        if (get_bits_count(&gb) > bit_len)
+        if (bitstream_tell(&bc) > bit_len)
             return -1;
         if (is_8bit)
-            len = decode_run_8bit(&gb, &color);
+            len = decode_run_8bit(&bc, &color);
         else
-            len = decode_run_2bit(&gb, &color);
+            len = decode_run_2bit(&bc, &color);
         len = FFMIN(len, w - x);
         memset(d + x, color, len);
         x += len;
@@ -117,7 +117,7 @@ static int decode_rle(uint8_t *bitmap, int linesize, int w, int h,
             d += linesize;
             x = 0;
             /* byte align */
-            align_get_bits(&gb);
+            bitstream_align(&bc);
         }
     }
     return 0;



More information about the ffmpeg-cvslog mailing list