OSDN Git Service

bitstream_putbits optimize
authorよや <yoya@awm.jp>
Sun, 14 Aug 2011 17:47:44 +0000 (02:47 +0900)
committerよや <yoya@awm.jp>
Sun, 14 Aug 2011 17:47:44 +0000 (02:47 +0900)
src/bitstream.c

index 2b0f66f..4090832 100644 (file)
@@ -285,11 +285,9 @@ bitstream_getbit(bitstream_t *bs) {
 
 int
 bitstream_putbits(bitstream_t *bs, unsigned long bits, int bit_width) {
-    register int i, bit;
-    for (i=0 ; i < bit_width ; i++) {
-        bit = bits >> (bit_width - 1 - i);
-        bit &= 1;
-        bitstream_putbit(bs, bit);
+    register int i = bit_width;
+    while (i--) {
+        bitstream_putbit(bs, (bits >> i) & 1);
     }
     return 0;
 }