[libav-commits] avpacket, bfi, bgmc, rawenc: K&R prettyprinting cosmetics

Diego Biurrun git at libav.org
Thu Apr 12 09:08:08 CEST 2012


Module: libav
Branch: master
Commit: 2ef15b46e42647f6688d05abe2400fe008de5e0a

Author:    Diego Biurrun <diego at biurrun.de>
Committer: Diego Biurrun <diego at biurrun.de>
Date:      Sun Apr  1 10:47:39 2012 +0200

avpacket, bfi, bgmc, rawenc: K&R prettyprinting cosmetics

---

 libavcodec/avpacket.c |  113 +++++----
 libavcodec/bfi.c      |   34 +--
 libavcodec/bgmc.c     |  732 ++++++++++++++++++++++++-------------------------
 libavformat/rawenc.c  |   72 +++---
 4 files changed, 472 insertions(+), 479 deletions(-)

diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
index 9b549e7..5e2292de 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -19,13 +19,13 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "avcodec.h"
 #include "libavutil/avassert.h"
-
+#include "avcodec.h"
 
 void av_destruct_packet_nofree(AVPacket *pkt)
 {
-    pkt->data = NULL; pkt->size = 0;
+    pkt->data            = NULL;
+    pkt->size            = 0;
     pkt->side_data       = NULL;
     pkt->side_data_elems = 0;
 }
@@ -35,7 +35,8 @@ void av_destruct_packet(AVPacket *pkt)
     int i;
 
     av_free(pkt->data);
-    pkt->data = NULL; pkt->size = 0;
+    pkt->data = NULL;
+    pkt->size = 0;
 
     for (i = 0; i < pkt->side_data_elems; i++)
         av_free(pkt->side_data[i].data);
@@ -45,40 +46,41 @@ void av_destruct_packet(AVPacket *pkt)
 
 void av_init_packet(AVPacket *pkt)
 {
-    pkt->pts   = AV_NOPTS_VALUE;
-    pkt->dts   = AV_NOPTS_VALUE;
-    pkt->pos   = -1;
-    pkt->duration = 0;
+    pkt->pts                  = AV_NOPTS_VALUE;
+    pkt->dts                  = AV_NOPTS_VALUE;
+    pkt->pos                  = -1;
+    pkt->duration             = 0;
     pkt->convergence_duration = 0;
-    pkt->flags = 0;
-    pkt->stream_index = 0;
-    pkt->destruct= NULL;
-    pkt->side_data       = NULL;
-    pkt->side_data_elems = 0;
+    pkt->flags                = 0;
+    pkt->stream_index         = 0;
+    pkt->destruct             = NULL;
+    pkt->side_data            = NULL;
+    pkt->side_data_elems      = 0;
 }
 
 int av_new_packet(AVPacket *pkt, int size)
 {
-    uint8_t *data= NULL;
-    if((unsigned)size < (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE)
+    uint8_t *data = NULL;
+    if ((unsigned)size < (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE)
         data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
-    if (data){
+    if (data) {
         memset(data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-    }else
-        size=0;
+    } else
+        size = 0;
 
     av_init_packet(pkt);
-    pkt->data = data;
-    pkt->size = size;
+    pkt->data     = data;
+    pkt->size     = size;
     pkt->destruct = av_destruct_packet;
-    if(!data)
+    if (!data)
         return AVERROR(ENOMEM);
     return 0;
 }
 
 void av_shrink_packet(AVPacket *pkt, int size)
 {
-    if (pkt->size <= size) return;
+    if (pkt->size <= size)
+        return;
     pkt->size = size;
     memset(pkt->data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
 }
@@ -89,40 +91,45 @@ int av_grow_packet(AVPacket *pkt, int grow_by)
     av_assert0((unsigned)pkt->size <= INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE);
     if (!pkt->size)
         return av_new_packet(pkt, grow_by);
-    if ((unsigned)grow_by > INT_MAX - (pkt->size + FF_INPUT_BUFFER_PADDING_SIZE))
+    if ((unsigned)grow_by >
+        INT_MAX - (pkt->size + FF_INPUT_BUFFER_PADDING_SIZE))
         return -1;
-    new_ptr = av_realloc(pkt->data, pkt->size + grow_by + FF_INPUT_BUFFER_PADDING_SIZE);
+    new_ptr = av_realloc(pkt->data,
+                         pkt->size + grow_by + FF_INPUT_BUFFER_PADDING_SIZE);
     if (!new_ptr)
         return AVERROR(ENOMEM);
-    pkt->data = new_ptr;
+    pkt->data  = new_ptr;
     pkt->size += grow_by;
     memset(pkt->data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
     return 0;
 }
 
-#define DUP_DATA(dst, src, size, padding) \
-    do { \
-        void *data; \
-        if (padding) { \
-            if ((unsigned)(size) > (unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE) \
-                goto failed_alloc; \
-            data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); \
-        } else { \
-            data = av_malloc(size); \
-        } \
-        if (!data) \
-            goto failed_alloc; \
-        memcpy(data, src, size); \
-        if (padding) \
-            memset((uint8_t*)data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); \
-        dst = data; \
-    } while(0)
+#define DUP_DATA(dst, src, size, padding)                               \
+    do {                                                                \
+        void *data;                                                     \
+        if (padding) {                                                  \
+            if ((unsigned)(size) >                                      \
+                (unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE)        \
+                goto failed_alloc;                                      \
+            data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);      \
+        } else {                                                        \
+            data = av_malloc(size);                                     \
+        }                                                               \
+        if (!data)                                                      \
+            goto failed_alloc;                                          \
+        memcpy(data, src, size);                                        \
+        if (padding)                                                    \
+            memset((uint8_t *)data + size, 0,                           \
+                   FF_INPUT_BUFFER_PADDING_SIZE);                       \
+        dst = data;                                                     \
+    } while (0)
 
 int av_dup_packet(AVPacket *pkt)
 {
     AVPacket tmp_pkt;
 
-    if (((pkt->destruct == av_destruct_packet_nofree) || (pkt->destruct == NULL)) && pkt->data) {
+    if (((pkt->destruct == av_destruct_packet_nofree) ||
+         (pkt->destruct == NULL)) && pkt->data) {
         tmp_pkt = *pkt;
 
         pkt->data      = NULL;
@@ -135,14 +142,15 @@ int av_dup_packet(AVPacket *pkt)
 
             DUP_DATA(pkt->side_data, tmp_pkt.side_data,
                      pkt->side_data_elems * sizeof(*pkt->side_data), 0);
-            memset(pkt->side_data, 0, pkt->side_data_elems * sizeof(*pkt->side_data));
-            for (i = 0; i < pkt->side_data_elems; i++) {
+            memset(pkt->side_data, 0,
+                   pkt->side_data_elems * sizeof(*pkt->side_data));
+            for (i = 0; i < pkt->side_data_elems; i++)
                 DUP_DATA(pkt->side_data[i].data, tmp_pkt.side_data[i].data,
                          pkt->side_data[i].size, 1);
-            }
         }
     }
     return 0;
+
 failed_alloc:
     av_destruct_packet(pkt);
     return AVERROR(ENOMEM);
@@ -151,14 +159,16 @@ failed_alloc:
 void av_free_packet(AVPacket *pkt)
 {
     if (pkt) {
-        if (pkt->destruct) pkt->destruct(pkt);
-        pkt->data = NULL; pkt->size = 0;
+        if (pkt->destruct)
+            pkt->destruct(pkt);
+        pkt->data            = NULL;
+        pkt->size            = 0;
         pkt->side_data       = NULL;
         pkt->side_data_elems = 0;
     }
 }
 
-uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
+uint8_t *av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
                                  int size)
 {
     int elems = pkt->side_data_elems;
@@ -168,7 +178,8 @@ uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
     if ((unsigned)size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE)
         return NULL;
 
-    pkt->side_data = av_realloc(pkt->side_data, (elems + 1) * sizeof(*pkt->side_data));
+    pkt->side_data = av_realloc(pkt->side_data,
+                                (elems + 1) * sizeof(*pkt->side_data));
     if (!pkt->side_data)
         return NULL;
 
@@ -182,7 +193,7 @@ uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
     return pkt->side_data[elems].data;
 }
 
-uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
+uint8_t *av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
                                  int *size)
 {
     int i;
diff --git a/libavcodec/bfi.c b/libavcodec/bfi.c
index bc680c0..e4be176 100644
--- a/libavcodec/bfi.c
+++ b/libavcodec/bfi.c
@@ -39,8 +39,8 @@ typedef struct BFIContext {
 static av_cold int bfi_decode_init(AVCodecContext *avctx)
 {
     BFIContext *bfi = avctx->priv_data;
-    avctx->pix_fmt = PIX_FMT_PAL8;
-    bfi->dst = av_mallocz(avctx->width * avctx->height);
+    avctx->pix_fmt  = PIX_FMT_PAL8;
+    bfi->dst        = av_mallocz(avctx->width * avctx->height);
     return 0;
 }
 
@@ -48,9 +48,9 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
                             int *data_size, AVPacket *avpkt)
 {
     GetByteContext g;
-    int buf_size = avpkt->size;
+    int buf_size    = avpkt->size;
     BFIContext *bfi = avctx->priv_data;
-    uint8_t *dst = bfi->dst;
+    uint8_t *dst    = bfi->dst;
     uint8_t *src, *dst_offset, colour1, colour2;
     uint8_t *frame_end = bfi->dst + avctx->width * avctx->height;
     uint32_t *pal;
@@ -82,9 +82,8 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
             int shift = 16;
             *pal = 0;
             for (j = 0; j < 3; j++, shift -= 8)
-                *pal +=
-                    ((avctx->extradata[i * 3 + j] << 2) |
-                    (avctx->extradata[i * 3 + j] >> 4)) << shift;
+                *pal += ((avctx->extradata[i * 3 + j] << 2) |
+                         (avctx->extradata[i * 3 + j] >> 4)) << shift;
             pal++;
         }
         bfi->frame.palette_has_changed = 1;
@@ -107,7 +106,7 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
             return -1;
         }
 
-        /* Get length and offset(if required) */
+        /* Get length and offset (if required) */
         if (length == 0) {
             if (code == 1) {
                 length = bytestream2_get_byte(&g);
@@ -127,8 +126,7 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
             break;
 
         switch (code) {
-
-        case 0:                //Normal Chain
+        case 0:                // normal chain
             if (length >= bytestream2_get_bytes_left(&g)) {
                 av_log(avctx, AV_LOG_ERROR, "Frame larger than buffer.\n");
                 return -1;
@@ -136,21 +134,18 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
             bytestream2_get_buffer(&g, dst, length);
             dst += length;
             break;
-
-        case 1:                //Back Chain
+        case 1:                // back chain
             dst_offset = dst - offset;
-            length *= 4;        //Convert dwords to bytes.
+            length    *= 4;     // Convert dwords to bytes.
             if (dst_offset < bfi->dst)
                 break;
             while (length--)
                 *dst++ = *dst_offset++;
             break;
-
-        case 2:                //Skip Chain
+        case 2:                // skip chain
             dst += length;
             break;
-
-        case 3:                //Fill Chain
+        case 3:                // fill chain
             colour1 = bytestream2_get_byte(&g);
             colour2 = bytestream2_get_byte(&g);
             while (length--) {
@@ -158,7 +153,6 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
                 *dst++ = colour2;
             }
             break;
-
         }
     }
 
@@ -169,12 +163,12 @@ static int bfi_decode_frame(AVCodecContext *avctx, void *data,
         src += avctx->width;
         dst += bfi->frame.linesize[0];
     }
-    *data_size = sizeof(AVFrame);
+    *data_size       = sizeof(AVFrame);
     *(AVFrame *)data = bfi->frame;
     return buf_size;
 }
 
-static av_cold int bfi_decode_close(AVCodecContext * avctx)
+static av_cold int bfi_decode_close(AVCodecContext *avctx)
 {
     BFIContext *bfi = avctx->priv_data;
     if (bfi->frame.data[0])
diff --git a/libavcodec/bgmc.c b/libavcodec/bgmc.c
index b17c3b1..08b1337 100644
--- a/libavcodec/bgmc.c
+++ b/libavcodec/bgmc.c
@@ -25,10 +25,8 @@
  * @author Thilo Borgmann <thilo.borgmann _at_ googlemail.com>
  */
 
-
 #include "bgmc.h"
 
-
 #define FREQ_BITS  14                      // bits used by frequency counters
 #define VALUE_BITS 18                      // bits used to represent the values
 #define TOP_VALUE  ((1 << VALUE_BITS) - 1) // maximum value
@@ -41,382 +39,381 @@
 #define LUT_BUFF   4                       // number of buffered lookup tables
 
 
-/** Cumulative frequency tables for block Gilbert-Moore coding.
- */
+/** Cumulative frequency tables for block Gilbert-Moore coding. */
 static const uint16_t cf_tables_1[3][129] = {
     {
-    16384, 16066, 15748, 15431, 15114, 14799, 14485, 14173, 13861, 13552,
-    13243, 12939, 12635, 12336, 12038, 11745, 11452, 11161, 10870, 10586,
-    10303, 10027,  9751,  9483,  9215,  8953,  8692,  8440,  8189,  7946,
-     7704,  7472,  7240,  7008,  6776,  6554,  6333,  6122,  5912,  5711,
-     5512,  5320,  5128,  4947,  4766,  4595,  4425,  4264,  4104,  3946,
-     3788,  3640,  3493,  3355,  3218,  3090,  2963,  2842,  2721,  2609,
-     2498,  2395,  2292,  2196,  2100,  2004,  1908,  1820,  1732,  1651,
-     1570,  1497,  1424,  1355,  1287,  1223,  1161,  1100,  1044,   988,
-      938,   888,   839,   790,   746,   702,   662,   623,   588,   553,
-      520,   488,   459,   431,   405,   380,   357,   334,   311,   288,
-      268,   248,   230,   213,   197,   182,   168,   154,   142,   130,
-      119,   108,    99,    90,    81,    72,    64,    56,    49,    42,
-       36,    30,    25,    20,    15,    11,     7,     3,     0
-   },
-   {
-    16384, 16080, 15776, 15473, 15170, 14868, 14567, 14268, 13970, 13674,
-    13378, 13086, 12794, 12505, 12218, 11936, 11654, 11373, 11092, 10818,
-    10544, 10276, 10008,  9749,  9490,  9236,  8982,  8737,  8492,  8256,
-     8020,  7792,  7564,  7336,  7108,  6888,  6669,  6459,  6249,  6050,
-     5852,  5660,  5468,  5286,  5104,  4931,  4760,  4598,  4436,  4275,
-     4115,  3965,  3816,  3674,  3534,  3403,  3272,  3147,  3023,  2907,
-     2792,  2684,  2577,  2476,  2375,  2274,  2173,  2079,  1986,  1897,
-     1810,  1724,  1645,  1567,  1493,  1419,  1351,  1284,  1222,  1161,
-     1105,  1050,   995,   941,   891,   842,   797,   753,   713,   673,
-      636,   599,   566,   533,   503,   473,   446,   419,   392,   365,
-      340,   316,   294,   272,   253,   234,   216,   199,   184,   169,
-      155,   142,   130,   118,   106,    95,    85,    75,    66,    57,
-       49,    41,    34,    27,    21,    15,    10,     5,     0
-   },
-   {
-    16384, 16092, 15801, 15510, 15219, 14930, 14641, 14355, 14069, 13785,
-    13501, 13219, 12938, 12661, 12384, 12112, 11841, 11571, 11301, 11037,
-    10773, 10514, 10256, 10005,  9754,  9508,  9263,  9025,  8787,  8557,
-     8327,  8103,  7879,  7655,  7431,  7215,  7000,  6792,  6585,  6387,
-     6190,  5998,  5807,  5625,  5445,  5272,  5100,  4937,  4774,  4613,
-     4452,  4301,  4150,  4007,  3865,  3731,  3597,  3469,  3341,  3218,
-     3099,  2981,  2869,  2758,  2652,  2546,  2440,  2334,  2234,  2134,
-     2041,  1949,  1864,  1779,  1699,  1620,  1547,  1474,  1407,  1340,
-     1278,  1217,  1157,  1097,  1043,   989,   940,   891,   846,   801,
-      759,   718,   680,   643,   609,   575,   543,   511,   479,   447,
-      418,   389,   363,   337,   314,   291,   270,   249,   230,   212,
-      195,   179,   164,   149,   135,   121,   108,    96,    85,    74,
-       64,    54,    45,    36,    28,    20,    13,     6,     0
-   }
+        16384, 16066, 15748, 15431, 15114, 14799, 14485, 14173, 13861, 13552,
+        13243, 12939, 12635, 12336, 12038, 11745, 11452, 11161, 10870, 10586,
+        10303, 10027,  9751,  9483,  9215,  8953,  8692,  8440,  8189,  7946,
+         7704,  7472,  7240,  7008,  6776,  6554,  6333,  6122,  5912,  5711,
+         5512,  5320,  5128,  4947,  4766,  4595,  4425,  4264,  4104,  3946,
+         3788,  3640,  3493,  3355,  3218,  3090,  2963,  2842,  2721,  2609,
+         2498,  2395,  2292,  2196,  2100,  2004,  1908,  1820,  1732,  1651,
+         1570,  1497,  1424,  1355,  1287,  1223,  1161,  1100,  1044,   988,
+          938,   888,   839,   790,   746,   702,   662,   623,   588,   553,
+          520,   488,   459,   431,   405,   380,   357,   334,   311,   288,
+          268,   248,   230,   213,   197,   182,   168,   154,   142,   130,
+          119,   108,    99,    90,    81,    72,    64,    56,    49,    42,
+           36,    30,    25,    20,    15,    11,     7,     3,     0
+    },
+    {
+        16384, 16080, 15776, 15473, 15170, 14868, 14567, 14268, 13970, 13674,
+        13378, 13086, 12794, 12505, 12218, 11936, 11654, 11373, 11092, 10818,
+        10544, 10276, 10008,  9749,  9490,  9236,  8982,  8737,  8492,  8256,
+         8020,  7792,  7564,  7336,  7108,  6888,  6669,  6459,  6249,  6050,
+         5852,  5660,  5468,  5286,  5104,  4931,  4760,  4598,  4436,  4275,
+         4115,  3965,  3816,  3674,  3534,  3403,  3272,  3147,  3023,  2907,
+         2792,  2684,  2577,  2476,  2375,  2274,  2173,  2079,  1986,  1897,
+         1810,  1724,  1645,  1567,  1493,  1419,  1351,  1284,  1222,  1161,
+         1105,  1050,   995,   941,   891,   842,   797,   753,   713,   673,
+          636,   599,   566,   533,   503,   473,   446,   419,   392,   365,
+          340,   316,   294,   272,   253,   234,   216,   199,   184,   169,
+          155,   142,   130,   118,   106,    95,    85,    75,    66,    57,
+           49,    41,    34,    27,    21,    15,    10,     5,     0
+    },
+    {
+        16384, 16092, 15801, 15510, 15219, 14930, 14641, 14355, 14069, 13785,
+        13501, 13219, 12938, 12661, 12384, 12112, 11841, 11571, 11301, 11037,
+        10773, 10514, 10256, 10005,  9754,  9508,  9263,  9025,  8787,  8557,
+         8327,  8103,  7879,  7655,  7431,  7215,  7000,  6792,  6585,  6387,
+         6190,  5998,  5807,  5625,  5445,  5272,  5100,  4937,  4774,  4613,
+         4452,  4301,  4150,  4007,  3865,  3731,  3597,  3469,  3341,  3218,
+         3099,  2981,  2869,  2758,  2652,  2546,  2440,  2334,  2234,  2134,
+         2041,  1949,  1864,  1779,  1699,  1620,  1547,  1474,  1407,  1340,
+         1278,  1217,  1157,  1097,  1043,   989,   940,   891,   846,   801,
+          759,   718,   680,   643,   609,   575,   543,   511,   479,   447,
+          418,   389,   363,   337,   314,   291,   270,   249,   230,   212,
+          195,   179,   164,   149,   135,   121,   108,    96,    85,    74,
+          64,     54,    45,    36,    28,    20,    13,     6,     0
+    }
 };
 
 
 static const uint16_t cf_tables_2[8][193] = {
     {
-    16384, 16104, 15825, 15546, 15268, 14991, 14714, 14439, 14164, 13891,
-    13620, 13350, 13081, 12815, 12549, 12287, 12025, 11765, 11505, 11250,
-    10996, 10746, 10497, 10254, 10011,  9772,  9534,  9303,  9072,  8848,
-     8624,  8406,  8188,  7970,  7752,  7539,  7327,  7123,  6919,  6724,
-     6529,  6339,  6150,  5970,  5790,  5618,  5446,  5282,  5119,  4957,
-     4795,  4642,  4490,  4345,  4201,  4065,  3929,  3798,  3669,  3547,
-     3425,  3310,  3196,  3086,  2976,  2866,  2756,  2650,  2545,  2447,
-     2350,  2260,  2170,  2085,  2000,  1921,  1843,  1770,  1698,  1632,
-     1566,  1501,  1436,  1376,  1316,  1261,  1207,  1157,  1108,  1061,
-     1015,   973,   931,   893,   855,   819,   783,   747,   711,   677,
-      644,   614,   584,   557,   530,   505,   480,   458,   436,   416,
-      396,   378,   360,   343,   326,   310,   295,   281,   267,   255,
-      243,   232,   221,   211,   201,   192,   183,   174,   166,   158,
-      150,   142,   134,   126,   119,   112,   106,   100,    95,    90,
-       85,    80,    76,    72,    69,    66,    63,    60,    57,    54,
-       51,    48,    46,    44,    42,    40,    38,    36,    34,    33,
-       32,    31,    30,    29,    28,    27,    26,    25,    24,    23,
-       22,    21,    20,    19,    18,    17,    16,    15,    14,    13,
-       12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
-        2,     1,     0
+        16384, 16104, 15825, 15546, 15268, 14991, 14714, 14439, 14164, 13891,
+        13620, 13350, 13081, 12815, 12549, 12287, 12025, 11765, 11505, 11250,
+        10996, 10746, 10497, 10254, 10011,  9772,  9534,  9303,  9072,  8848,
+         8624,  8406,  8188,  7970,  7752,  7539,  7327,  7123,  6919,  6724,
+         6529,  6339,  6150,  5970,  5790,  5618,  5446,  5282,  5119,  4957,
+         4795,  4642,  4490,  4345,  4201,  4065,  3929,  3798,  3669,  3547,
+         3425,  3310,  3196,  3086,  2976,  2866,  2756,  2650,  2545,  2447,
+         2350,  2260,  2170,  2085,  2000,  1921,  1843,  1770,  1698,  1632,
+         1566,  1501,  1436,  1376,  1316,  1261,  1207,  1157,  1108,  1061,
+         1015,   973,   931,   893,   855,   819,   783,   747,   711,   677,
+          644,   614,   584,   557,   530,   505,   480,   458,   436,   416,
+          396,   378,   360,   343,   326,   310,   295,   281,   267,   255,
+          243,   232,   221,   211,   201,   192,   183,   174,   166,   158,
+          150,   142,   134,   126,   119,   112,   106,   100,    95,    90,
+           85,    80,    76,    72,    69,    66,    63,    60,    57,    54,
+           51,    48,    46,    44,    42,    40,    38,    36,    34,    33,
+           32,    31,    30,    29,    28,    27,    26,    25,    24,    23,
+           22,    21,    20,    19,    18,    17,    16,    15,    14,    13,
+           12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
+            2,     1,     0
     },
     {
-    16384, 16116, 15849, 15582, 15316, 15050, 14785, 14521, 14257, 13995,
-    13734, 13476, 13218, 12963, 12708, 12457, 12206, 11956, 11706, 11460,
-    11215, 10975, 10735, 10500, 10265, 10034,  9803,  9579,  9355,  9136,
-     8917,  8703,  8489,  8275,  8061,  7853,  7645,  7444,  7244,  7051,
-     6858,  6671,  6484,  6305,  6127,  5956,  5785,  5622,  5459,  5298,
-     5137,  4983,  4830,  4684,  4539,  4401,  4263,  4131,  3999,  3874,
-     3750,  3632,  3515,  3401,  3287,  3173,  3059,  2949,  2840,  2737,
-     2635,  2539,  2444,  2354,  2264,  2181,  2098,  2020,  1943,  1872,
-     1801,  1731,  1661,  1596,  1532,  1472,  1412,  1357,  1303,  1251,
-     1200,  1153,  1106,  1063,  1020,   979,   938,   897,   856,   818,
-      780,   746,   712,   681,   650,   621,   592,   566,   540,   517,
-      494,   473,   452,   431,   410,   391,   373,   356,   340,   325,
-      310,   296,   282,   270,   258,   247,   236,   225,   214,   203,
-      192,   182,   172,   162,   153,   144,   136,   128,   121,   114,
-      108,   102,    97,    92,    87,    82,    77,    73,    69,    65,
-       62,    59,    56,    53,    50,    47,    45,    43,    41,    39,
-       37,    35,    33,    31,    29,    27,    26,    25,    24,    23,
-       22,    21,    20,    19,    18,    17,    16,    15,    14,    13,
-       12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
-        2,     1,     0
+        16384, 16116, 15849, 15582, 15316, 15050, 14785, 14521, 14257, 13995,
+        13734, 13476, 13218, 12963, 12708, 12457, 12206, 11956, 11706, 11460,
+        11215, 10975, 10735, 10500, 10265, 10034,  9803,  9579,  9355,  9136,
+         8917,  8703,  8489,  8275,  8061,  7853,  7645,  7444,  7244,  7051,
+         6858,  6671,  6484,  6305,  6127,  5956,  5785,  5622,  5459,  5298,
+         5137,  4983,  4830,  4684,  4539,  4401,  4263,  4131,  3999,  3874,
+         3750,  3632,  3515,  3401,  3287,  3173,  3059,  2949,  2840,  2737,
+         2635,  2539,  2444,  2354,  2264,  2181,  2098,  2020,  1943,  1872,
+         1801,  1731,  1661,  1596,  1532,  1472,  1412,  1357,  1303,  1251,
+         1200,  1153,  1106,  1063,  1020,   979,   938,   897,   856,   818,
+          780,   746,   712,   681,   650,   621,   592,   566,   540,   517,
+          494,   473,   452,   431,   410,   391,   373,   356,   340,   325,
+          310,   296,   282,   270,   258,   247,   236,   225,   214,   203,
+          192,   182,   172,   162,   153,   144,   136,   128,   121,   114,
+          108,   102,    97,    92,    87,    82,    77,    73,    69,    65,
+           62,    59,    56,    53,    50,    47,    45,    43,    41,    39,
+           37,    35,    33,    31,    29,    27,    26,    25,    24,    23,
+           22,    21,    20,    19,    18,    17,    16,    15,    14,    13,
+           12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
+            2,     1,     0
     },
     {
-    16384, 16128, 15872, 15617, 15362, 15107, 14853, 14600, 14347, 14096,
-    13846, 13597, 13350, 13105, 12860, 12618, 12376, 12135, 11894, 11657,
-    11421, 11189, 10957, 10730, 10503, 10279, 10056,  9838,  9620,  9407,
-     9195,  8987,  8779,  8571,  8363,  8159,  7955,  7758,  7561,  7371,
-     7182,  6997,  6812,  6635,  6459,  6289,  6120,  5957,  5795,  5634,
-     5473,  5319,  5165,  5018,  4871,  4732,  4593,  4458,  4324,  4197,
-     4071,  3951,  3831,  3714,  3597,  3480,  3363,  3250,  3138,  3032,
-     2927,  2828,  2729,  2635,  2541,  2453,  2366,  2284,  2202,  2126,
-     2050,  1975,  1900,  1830,  1761,  1697,  1633,  1574,  1515,  1459,
-     1403,  1351,  1300,  1252,  1205,  1160,  1115,  1070,  1025,   982,
-      939,   899,   860,   824,   789,   756,   723,   693,   663,   636,
-      609,   584,   559,   535,   511,   489,   467,   447,   427,   409,
-      391,   374,   358,   343,   328,   313,   300,   287,   274,   261,
-      248,   235,   223,   211,   200,   189,   179,   169,   160,   151,
-      143,   135,   128,   121,   115,   109,   103,    97,    92,    87,
-       82,    77,    73,    69,    65,    61,    58,    55,    52,    49,
-       46,    43,    40,    37,    35,    33,    31,    29,    27,    25,
-       23,    21,    20,    19,    18,    17,    16,    15,    14,    13,
-       12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
-        2,     1,     0
+        16384, 16128, 15872, 15617, 15362, 15107, 14853, 14600, 14347, 14096,
+        13846, 13597, 13350, 13105, 12860, 12618, 12376, 12135, 11894, 11657,
+        11421, 11189, 10957, 10730, 10503, 10279, 10056,  9838,  9620,  9407,
+         9195,  8987,  8779,  8571,  8363,  8159,  7955,  7758,  7561,  7371,
+         7182,  6997,  6812,  6635,  6459,  6289,  6120,  5957,  5795,  5634,
+         5473,  5319,  5165,  5018,  4871,  4732,  4593,  4458,  4324,  4197,
+         4071,  3951,  3831,  3714,  3597,  3480,  3363,  3250,  3138,  3032,
+         2927,  2828,  2729,  2635,  2541,  2453,  2366,  2284,  2202,  2126,
+         2050,  1975,  1900,  1830,  1761,  1697,  1633,  1574,  1515,  1459,
+         1403,  1351,  1300,  1252,  1205,  1160,  1115,  1070,  1025,   982,
+          939,   899,   860,   824,   789,   756,   723,   693,   663,   636,
+          609,   584,   559,   535,   511,   489,   467,   447,   427,   409,
+          391,   374,   358,   343,   328,   313,   300,   287,   274,   261,
+          248,   235,   223,   211,   200,   189,   179,   169,   160,   151,
+          143,   135,   128,   121,   115,   109,   103,    97,    92,    87,
+           82,    77,    73,    69,    65,    61,    58,    55,    52,    49,
+           46,    43,    40,    37,    35,    33,    31,    29,    27,    25,
+           23,    21,    20,    19,    18,    17,    16,    15,    14,    13,
+           12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
+            2,     1,     0
     },
     {
-    16384, 16139, 15894, 15649, 15405, 15162, 14919, 14677, 14435, 14195,
-    13955, 13717, 13479, 13243, 13008, 12775, 12542, 12310, 12079, 11851,
-    11623, 11399, 11176, 10956, 10737, 10521, 10305, 10094,  9883,  9677,
-     9471,  9268,  9065,  8862,  8659,  8459,  8260,  8067,  7874,  7688,
-     7502,  7321,  7140,  6965,  6790,  6621,  6452,  6290,  6128,  5968,
-     5808,  5655,  5503,  5356,  5209,  5069,  4929,  4794,  4660,  4532,
-     4404,  4282,  4160,  4041,  3922,  3803,  3684,  3568,  3452,  3343,
-     3234,  3131,  3029,  2931,  2833,  2741,  2649,  2563,  2477,  2396,
-     2316,  2236,  2157,  2083,  2009,  1940,  1871,  1807,  1743,  1683,
-     1623,  1567,  1511,  1459,  1407,  1357,  1307,  1257,  1207,  1159,
-     1111,  1067,  1023,   983,   943,   905,   868,   834,   800,   769,
-      738,   709,   681,   653,   625,   600,   575,   552,   529,   508,
-      487,   466,   447,   428,   410,   392,   376,   360,   344,   328,
-      313,   298,   283,   268,   255,   242,   230,   218,   207,   196,
-      186,   176,   167,   158,   150,   142,   135,   128,   121,   114,
-      108,   102,    97,    92,    87,    82,    78,    74,    70,    66,
-       62,    58,    54,    50,    47,    44,    41,    38,    35,    32,
-       30,    28,    26,    24,    22,    20,    18,    16,    14,    13,
-       12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
-        2,     1,     0
+        16384, 16139, 15894, 15649, 15405, 15162, 14919, 14677, 14435, 14195,
+        13955, 13717, 13479, 13243, 13008, 12775, 12542, 12310, 12079, 11851,
+        11623, 11399, 11176, 10956, 10737, 10521, 10305, 10094,  9883,  9677,
+         9471,  9268,  9065,  8862,  8659,  8459,  8260,  8067,  7874,  7688,
+         7502,  7321,  7140,  6965,  6790,  6621,  6452,  6290,  6128,  5968,
+         5808,  5655,  5503,  5356,  5209,  5069,  4929,  4794,  4660,  4532,
+         4404,  4282,  4160,  4041,  3922,  3803,  3684,  3568,  3452,  3343,
+         3234,  3131,  3029,  2931,  2833,  2741,  2649,  2563,  2477,  2396,
+         2316,  2236,  2157,  2083,  2009,  1940,  1871,  1807,  1743,  1683,
+         1623,  1567,  1511,  1459,  1407,  1357,  1307,  1257,  1207,  1159,
+         1111,  1067,  1023,   983,   943,   905,   868,   834,   800,   769,
+          738,   709,   681,   653,   625,   600,   575,   552,   529,   508,
+          487,   466,   447,   428,   410,   392,   376,   360,   344,   328,
+          313,   298,   283,   268,   255,   242,   230,   218,   207,   196,
+          186,   176,   167,   158,   150,   142,   135,   128,   121,   114,
+          108,   102,    97,    92,    87,    82,    78,    74,    70,    66,
+           62,    58,    54,    50,    47,    44,    41,    38,    35,    32,
+           30,    28,    26,    24,    22,    20,    18,    16,    14,    13,
+           12,    11,    10,     9,     8,     7,     6,     5,     4,     3,
+            2,     1,     0
     },
     {
-    16384, 16149, 15915, 15681, 15447, 15214, 14981, 14749, 14517, 14286,
-    14055, 13827, 13599, 13373, 13147, 12923, 12699, 12476, 12253, 12034,
-    11815, 11599, 11383, 11171, 10959, 10750, 10541, 10337, 10133,  9933,
-     9733,  9536,  9339,  9142,  8945,  8751,  8557,  8369,  8181,  7998,
-     7816,  7638,  7460,  7288,  7116,  6950,  6785,  6625,  6465,  6306,
-     6147,  5995,  5843,  5697,  5551,  5411,  5271,  5135,  5000,  4871,
-     4742,  4618,  4495,  4374,  4253,  4132,  4011,  3893,  3775,  3663,
-     3552,  3446,  3340,  3239,  3138,  3043,  2948,  2858,  2768,  2684,
-     2600,  2516,  2433,  2355,  2278,  2205,  2133,  2065,  1997,  1932,
-     1867,  1807,  1747,  1690,  1634,  1580,  1526,  1472,  1418,  1366,
-     1314,  1266,  1218,  1174,  1130,  1088,  1047,  1009,   971,   936,
-      901,   868,   836,   804,   772,   743,   714,   685,   658,   631,
-      606,   582,   559,   536,   515,   494,   475,   456,   437,   418,
-      399,   380,   362,   344,   328,   312,   297,   283,   270,   257,
-      245,   233,   222,   211,   201,   191,   181,   172,   163,   155,
-      147,   139,   132,   125,   119,   113,   107,   101,    96,    91,
-       86,    81,    76,    71,    66,    62,    58,    54,    50,    46,
-       43,    40,    37,    34,    31,    28,    26,    24,    22,    20,
-       18,    16,    14,    12,    10,     8,     6,     5,     4,     3,
-        2,     1,     0
+        16384, 16149, 15915, 15681, 15447, 15214, 14981, 14749, 14517, 14286,
+        14055, 13827, 13599, 13373, 13147, 12923, 12699, 12476, 12253, 12034,
+        11815, 11599, 11383, 11171, 10959, 10750, 10541, 10337, 10133,  9933,
+         9733,  9536,  9339,  9142,  8945,  8751,  8557,  8369,  8181,  7998,
+         7816,  7638,  7460,  7288,  7116,  6950,  6785,  6625,  6465,  6306,
+         6147,  5995,  5843,  5697,  5551,  5411,  5271,  5135,  5000,  4871,
+         4742,  4618,  4495,  4374,  4253,  4132,  4011,  3893,  3775,  3663,
+         3552,  3446,  3340,  3239,  3138,  3043,  2948,  2858,  2768,  2684,
+         2600,  2516,  2433,  2355,  2278,  2205,  2133,  2065,  1997,  1932,
+         1867,  1807,  1747,  1690,  1634,  1580,  1526,  1472,  1418,  1366,
+         1314,  1266,  1218,  1174,  1130,  1088,  1047,  1009,   971,   936,
+          901,   868,   836,   804,   772,   743,   714,   685,   658,   631,
+          606,   582,   559,   536,   515,   494,   475,   456,   437,   418,
+          399,   380,   362,   344,   328,   312,   297,   283,   270,   257,
+          245,   233,   222,   211,   201,   191,   181,   172,   163,   155,
+          147,   139,   132,   125,   119,   113,   107,   101,    96,    91,
+           86,    81,    76,    71,    66,    62,    58,    54,    50,    46,
+           43,    40,    37,    34,    31,    28,    26,    24,    22,    20,
+           18,    16,    14,    12,    10,     8,     6,     5,     4,     3,
+            2,     1,     0
     },
     {
-    16384, 16159, 15934, 15709, 15485, 15261, 15038, 14816, 14594, 14373,
-    14152, 13933, 13714, 13497, 13280, 13065, 12850, 12636, 12422, 12211,
-    12000, 11791, 11583, 11378, 11173, 10971, 10769, 10571, 10373, 10179,
-     9985,  9793,  9601,  9409,  9217,  9029,  8842,  8658,  8475,  8297,
-     8120,  7946,  7773,  7604,  7435,  7271,  7108,  6950,  6792,  6634,
-     6477,  6326,  6175,  6029,  5883,  5742,  5602,  5466,  5330,  5199,
-     5068,  4943,  4818,  4696,  4574,  4452,  4330,  4211,  4093,  3979,
-     3866,  3759,  3652,  3549,  3446,  3348,  3250,  3157,  3065,  2977,
-     2889,  2802,  2716,  2634,  2553,  2476,  2399,  2326,  2254,  2185,
-     2117,  2052,  1987,  1926,  1866,  1808,  1750,  1692,  1634,  1578,
-     1522,  1470,  1418,  1369,  1321,  1275,  1229,  1187,  1145,  1105,
-     1066,  1027,   991,   955,   919,   883,   850,   817,   786,   756,
-      728,   700,   674,   648,   624,   600,   578,   556,   534,   512,
-      490,   468,   447,   426,   407,   388,   371,   354,   338,   322,
-      307,   293,   280,   267,   255,   243,   231,   219,   209,   199,
-      189,   179,   170,   161,   153,   145,   138,   131,   124,   117,
-      111,   105,    99,    93,    87,    81,    76,    71,    66,    61,
-       57,    53,    49,    45,    42,    39,    36,    33,    30,    27,
-       24,    21,    19,    17,    15,    13,    11,     9,     7,     5,
-        3,     1,     0
+        16384, 16159, 15934, 15709, 15485, 15261, 15038, 14816, 14594, 14373,
+        14152, 13933, 13714, 13497, 13280, 13065, 12850, 12636, 12422, 12211,
+        12000, 11791, 11583, 11378, 11173, 10971, 10769, 10571, 10373, 10179,
+         9985,  9793,  9601,  9409,  9217,  9029,  8842,  8658,  8475,  8297,
+         8120,  7946,  7773,  7604,  7435,  7271,  7108,  6950,  6792,  6634,
+         6477,  6326,  6175,  6029,  5883,  5742,  5602,  5466,  5330,  5199,
+         5068,  4943,  4818,  4696,  4574,  4452,  4330,  4211,  4093,  3979,
+         3866,  3759,  3652,  3549,  3446,  3348,  3250,  3157,  3065,  2977,
+         2889,  2802,  2716,  2634,  2553,  2476,  2399,  2326,  2254,  2185,
+         2117,  2052,  1987,  1926,  1866,  1808,  1750,  1692,  1634,  1578,
+         1522,  1470,  1418,  1369,  1321,  1275,  1229,  1187,  1145,  1105,
+         1066,  1027,   991,   955,   919,   883,   850,   817,   786,   756,
+          728,   700,   674,   648,   624,   600,   578,   556,   534,   512,
+          490,   468,   447,   426,   407,   388,   371,   354,   338,   322,
+          307,   293,   280,   267,   255,   243,   231,   219,   209,   199,
+          189,   179,   170,   161,   153,   145,   138,   131,   124,   117,
+          111,   105,    99,    93,    87,    81,    76,    71,    66,    61,
+           57,    53,    49,    45,    42,    39,    36,    33,    30,    27,
+           24,    21,    19,    17,    15,    13,    11,     9,     7,     5,
+            3,     1,     0
     },
     {
-    16384, 16169, 15954, 15739, 15524, 15310, 15096, 14883, 14670, 14458,
-    14246, 14035, 13824, 13614, 13405, 13198, 12991, 12785, 12579, 12376,
-    12173, 11972, 11772, 11574, 11377, 11182, 10987, 10795, 10603, 10414,
-    10226, 10040,  9854,  9668,  9482,  9299,  9116,  8937,  8759,  8585,
-     8411,  8241,  8071,  7906,  7741,  7580,  7419,  7263,  7107,  6952,
-     6797,  6647,  6497,  6353,  6209,  6070,  5931,  5796,  5661,  5531,
-     5401,  5275,  5150,  5027,  4904,  4781,  4658,  4538,  4419,  4304,
-     4190,  4081,  3972,  3867,  3762,  3662,  3562,  3467,  3372,  3281,
-     3191,  3101,  3012,  2928,  2844,  2764,  2684,  2608,  2533,  2460,
-     2387,  2318,  2250,  2185,  2121,  2059,  1997,  1935,  1873,  1813,
-     1754,  1698,  1642,  1588,  1535,  1483,  1433,  1384,  1338,  1292,
-     1249,  1206,  1165,  1125,  1085,  1045,  1008,   971,   937,   903,
-      871,   840,   810,   780,   752,   724,   698,   672,   647,   622,
-      597,   572,   548,   524,   502,   480,   460,   440,   421,   403,
-      386,   369,   353,   337,   323,   309,   295,   281,   268,   255,
-      243,   231,   220,   209,   199,   189,   180,   171,   163,   155,
-      147,   139,   131,   123,   116,   109,   102,    95,    89,    83,
-       77,    72,    67,    62,    57,    52,    48,    44,    40,    36,
-       32,    28,    25,    22,    19,    16,    13,    10,     8,     6,
-        4,     2,     0
+        16384, 16169, 15954, 15739, 15524, 15310, 15096, 14883, 14670, 14458,
+        14246, 14035, 13824, 13614, 13405, 13198, 12991, 12785, 12579, 12376,
+        12173, 11972, 11772, 11574, 11377, 11182, 10987, 10795, 10603, 10414,
+        10226, 10040,  9854,  9668,  9482,  9299,  9116,  8937,  8759,  8585,
+         8411,  8241,  8071,  7906,  7741,  7580,  7419,  7263,  7107,  6952,
+         6797,  6647,  6497,  6353,  6209,  6070,  5931,  5796,  5661,  5531,
+         5401,  5275,  5150,  5027,  4904,  4781,  4658,  4538,  4419,  4304,
+         4190,  4081,  3972,  3867,  3762,  3662,  3562,  3467,  3372,  3281,
+         3191,  3101,  3012,  2928,  2844,  2764,  2684,  2608,  2533,  2460,
+         2387,  2318,  2250,  2185,  2121,  2059,  1997,  1935,  1873,  1813,
+         1754,  1698,  1642,  1588,  1535,  1483,  1433,  1384,  1338,  1292,
+         1249,  1206,  1165,  1125,  1085,  1045,  1008,   971,   937,   903,
+          871,   840,   810,   780,   752,   724,   698,   672,   647,   622,
+          597,   572,   548,   524,   502,   480,   460,   440,   421,   403,
+          386,   369,   353,   337,   323,   309,   295,   281,   268,   255,
+          243,   231,   220,   209,   199,   189,   180,   171,   163,   155,
+          147,   139,   131,   123,   116,   109,   102,    95,    89,    83,
+           77,    72,    67,    62,    57,    52,    48,    44,    40,    36,
+           32,    28,    25,    22,    19,    16,    13,    10,     8,     6,
+            4,     2,     0
     },
     {
-    16384, 16177, 15970, 15764, 15558, 15353, 15148, 14944, 14740, 14537,
-    14334, 14132, 13930, 13729, 13529, 13330, 13131, 12933, 12735, 12539,
-    12343, 12150, 11957, 11766, 11576, 11388, 11200, 11015, 10830, 10647,
-    10465, 10285, 10105,  9925,  9745,  9568,  9391,  9218,  9045,  8876,
-     8707,  8541,  8375,  8213,  8051,  7894,  7737,  7583,  7429,  7277,
-     7125,  6977,  6830,  6687,  6544,  6406,  6268,  6133,  5998,  5868,
-     5738,  5612,  5487,  5364,  5241,  5118,  4995,  4875,  4755,  4640,
-     4525,  4414,  4304,  4198,  4092,  3990,  3888,  3790,  3693,  3600,
-     3507,  3415,  3323,  3235,  3147,  3064,  2981,  2902,  2823,  2746,
-     2670,  2594,  2522,  2450,  2382,  2314,  2248,  2182,  2116,  2050,
-     1987,  1924,  1864,  1804,  1748,  1692,  1638,  1585,  1534,  1484,
-     1437,  1390,  1346,  1302,  1258,  1215,  1174,  1133,  1095,  1057,
-     1021,   986,   952,   918,   887,   856,   827,   798,   770,   742,
-      714,   686,   659,   632,   607,   582,   559,   536,   514,   492,
-      472,   452,   433,   415,   398,   381,   364,   348,   333,   318,
-      304,   290,   277,   264,   252,   240,   229,   218,   208,   198,
-      188,   178,   168,   158,   149,   140,   132,   124,   116,   108,
-      101,    94,    87,    81,    75,    69,    64,    59,    54,    49,
-       44,    39,    35,    31,    27,    23,    19,    15,    12,     9,
-        6,     3,     0
+        16384, 16177, 15970, 15764, 15558, 15353, 15148, 14944, 14740, 14537,
+        14334, 14132, 13930, 13729, 13529, 13330, 13131, 12933, 12735, 12539,
+        12343, 12150, 11957, 11766, 11576, 11388, 11200, 11015, 10830, 10647,
+        10465, 10285, 10105,  9925,  9745,  9568,  9391,  9218,  9045,  8876,
+         8707,  8541,  8375,  8213,  8051,  7894,  7737,  7583,  7429,  7277,
+         7125,  6977,  6830,  6687,  6544,  6406,  6268,  6133,  5998,  5868,
+         5738,  5612,  5487,  5364,  5241,  5118,  4995,  4875,  4755,  4640,
+         4525,  4414,  4304,  4198,  4092,  3990,  3888,  3790,  3693,  3600,
+         3507,  3415,  3323,  3235,  3147,  3064,  2981,  2902,  2823,  2746,
+         2670,  2594,  2522,  2450,  2382,  2314,  2248,  2182,  2116,  2050,
+         1987,  1924,  1864,  1804,  1748,  1692,  1638,  1585,  1534,  1484,
+         1437,  1390,  1346,  1302,  1258,  1215,  1174,  1133,  1095,  1057,
+         1021,   986,   952,   918,   887,   856,   827,   798,   770,   742,
+          714,   686,   659,   632,   607,   582,   559,   536,   514,   492,
+          472,   452,   433,   415,   398,   381,   364,   348,   333,   318,
+          304,   290,   277,   264,   252,   240,   229,   218,   208,   198,
+          188,   178,   168,   158,   149,   140,   132,   124,   116,   108,
+          101,    94,    87,    81,    75,    69,    64,    59,    54,    49,
+           44,    39,    35,    31,    27,    23,    19,    15,    12,     9,
+            6,     3,     0
     }
 };
 
 
 static const uint16_t cf_tables_3[5][257] = {
     {
-    16384, 16187, 15990, 15793, 15597, 15401, 15205, 15009, 14813, 14618,
-    14423, 14230, 14037, 13845, 13653, 13463, 13273, 13083, 12894, 12706,
-    12518, 12332, 12146, 11962, 11778, 11597, 11416, 11237, 11059, 10882,
-    10706, 10532, 10358, 10184, 10010,  9838,  9666,  9497,  9328,  9163,
-     8999,  8837,  8675,  8517,  8359,  8205,  8051,  7901,  7751,  7602,
-     7453,  7308,  7163,  7022,  6882,  6745,  6609,  6476,  6343,  6214,
-     6085,  5960,  5835,  5712,  5589,  5466,  5343,  5223,  5103,  4987,
-     4872,  4761,  4650,  4542,  4435,  4332,  4229,  4130,  4031,  3936,
-     3841,  3747,  3653,  3563,  3473,  3387,  3302,  3220,  3138,  3059,
-     2980,  2905,  2830,  2759,  2688,  2619,  2550,  2481,  2412,  2345,
-     2278,  2215,  2152,  2092,  2032,  1974,  1917,  1863,  1809,  1758,
-     1707,  1659,  1611,  1564,  1517,  1473,  1429,  1387,  1346,  1307,
-     1268,  1230,  1193,  1158,  1123,  1090,  1058,  1026,   994,   962,
-      930,   899,   869,   841,   813,   786,   760,   735,   710,   687,
-      664,   643,   622,   602,   582,   562,   543,   525,   507,   490,
-      473,   457,   442,   427,   412,   398,   385,   373,   361,   349,
-      337,   325,   313,   301,   290,   279,   269,   259,   249,   240,
-      231,   222,   214,   206,   199,   192,   185,   178,   171,   165,
-      159,   153,   148,   143,   138,   133,   128,   123,   119,   115,
-      111,   107,   103,    99,    95,    91,    87,    83,    80,    77,
-       74,    71,    68,    65,    63,    61,    59,    57,    55,    53,
-       51,    49,    47,    45,    43,    41,    40,    39,    38,    37,
-       36,    35,    34,    33,    32,    31,    30,    29,    28,    27,
-       26,    25,    24,    23,    22,    21,    20,    19,    18,    17,
-       16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
-        6,     5,     4,     3,     2,     1,     0
+        16384, 16187, 15990, 15793, 15597, 15401, 15205, 15009, 14813, 14618,
+        14423, 14230, 14037, 13845, 13653, 13463, 13273, 13083, 12894, 12706,
+        12518, 12332, 12146, 11962, 11778, 11597, 11416, 11237, 11059, 10882,
+        10706, 10532, 10358, 10184, 10010,  9838,  9666,  9497,  9328,  9163,
+         8999,  8837,  8675,  8517,  8359,  8205,  8051,  7901,  7751,  7602,
+         7453,  7308,  7163,  7022,  6882,  6745,  6609,  6476,  6343,  6214,
+         6085,  5960,  5835,  5712,  5589,  5466,  5343,  5223,  5103,  4987,
+         4872,  4761,  4650,  4542,  4435,  4332,  4229,  4130,  4031,  3936,
+         3841,  3747,  3653,  3563,  3473,  3387,  3302,  3220,  3138,  3059,
+         2980,  2905,  2830,  2759,  2688,  2619,  2550,  2481,  2412,  2345,
+         2278,  2215,  2152,  2092,  2032,  1974,  1917,  1863,  1809,  1758,
+         1707,  1659,  1611,  1564,  1517,  1473,  1429,  1387,  1346,  1307,
+         1268,  1230,  1193,  1158,  1123,  1090,  1058,  1026,   994,   962,
+          930,   899,   869,   841,   813,   786,   760,   735,   710,   687,
+          664,   643,   622,   602,   582,   562,   543,   525,   507,   490,
+          473,   457,   442,   427,   412,   398,   385,   373,   361,   349,
+          337,   325,   313,   301,   290,   279,   269,   259,   249,   240,
+          231,   222,   214,   206,   199,   192,   185,   178,   171,   165,
+          159,   153,   148,   143,   138,   133,   128,   123,   119,   115,
+          111,   107,   103,    99,    95,    91,    87,    83,    80,    77,
+           74,    71,    68,    65,    63,    61,    59,    57,    55,    53,
+           51,    49,    47,    45,    43,    41,    40,    39,    38,    37,
+           36,    35,    34,    33,    32,    31,    30,    29,    28,    27,
+           26,    25,    24,    23,    22,    21,    20,    19,    18,    17,
+           16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
+            6,     5,     4,     3,     2,     1,     0
     },
     {
-    16384, 16195, 16006, 15817, 15629, 15441, 15253, 15065, 14878, 14692,
-    14506, 14321, 14136, 13952, 13768, 13585, 13402, 13219, 13037, 12857,
-    12677, 12499, 12321, 12144, 11967, 11792, 11617, 11444, 11271, 11100,
-    10930, 10762, 10594, 10426, 10258, 10091,  9925,  9761,  9598,  9438,
-     9278,  9120,  8963,  8809,  8655,  8504,  8354,  8207,  8060,  7914,
-     7769,  7627,  7485,  7347,  7209,  7074,  6939,  6807,  6676,  6548,
-     6420,  6296,  6172,  6050,  5928,  5806,  5684,  5564,  5444,  5328,
-     5212,  5100,  4988,  4879,  4771,  4667,  4563,  4462,  4362,  4265,
-     4169,  4073,  3978,  3886,  3795,  3707,  3619,  3535,  3451,  3369,
-     3288,  3210,  3133,  3059,  2985,  2913,  2841,  2769,  2697,  2627,
-     2557,  2490,  2424,  2360,  2297,  2237,  2177,  2119,  2062,  2007,
-     1953,  1901,  1849,  1798,  1748,  1700,  1652,  1607,  1562,  1519,
-     1476,  1435,  1394,  1355,  1317,  1281,  1245,  1210,  1175,  1140,
-     1105,  1071,  1037,  1005,   973,   943,   913,   885,   857,   830,
-      804,   779,   754,   731,   708,   685,   663,   642,   621,   601,
-      581,   563,   545,   528,   511,   495,   479,   463,   448,   433,
-      419,   405,   391,   377,   364,   351,   338,   326,   314,   302,
-      291,   280,   270,   260,   251,   242,   234,   226,   218,   210,
-      202,   195,   188,   181,   174,   168,   162,   156,   150,   144,
-      139,   134,   129,   124,   119,   114,   109,   104,   100,    96,
-       92,    88,    84,    80,    77,    74,    71,    68,    65,    62,
-       59,    56,    54,    52,    50,    48,    46,    44,    42,    40,
-       38,    36,    34,    33,    32,    31,    30,    29,    28,    27,
-       26,    25,    24,    23,    22,    21,    20,    19,    18,    17,
-       16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
-        6,     5,     4,     3,     2,     1,     0
+        16384, 16195, 16006, 15817, 15629, 15441, 15253, 15065, 14878, 14692,
+        14506, 14321, 14136, 13952, 13768, 13585, 13402, 13219, 13037, 12857,
+        12677, 12499, 12321, 12144, 11967, 11792, 11617, 11444, 11271, 11100,
+        10930, 10762, 10594, 10426, 10258, 10091,  9925,  9761,  9598,  9438,
+         9278,  9120,  8963,  8809,  8655,  8504,  8354,  8207,  8060,  7914,
+         7769,  7627,  7485,  7347,  7209,  7074,  6939,  6807,  6676,  6548,
+         6420,  6296,  6172,  6050,  5928,  5806,  5684,  5564,  5444,  5328,
+         5212,  5100,  4988,  4879,  4771,  4667,  4563,  4462,  4362,  4265,
+         4169,  4073,  3978,  3886,  3795,  3707,  3619,  3535,  3451,  3369,
+         3288,  3210,  3133,  3059,  2985,  2913,  2841,  2769,  2697,  2627,
+         2557,  2490,  2424,  2360,  2297,  2237,  2177,  2119,  2062,  2007,
+         1953,  1901,  1849,  1798,  1748,  1700,  1652,  1607,  1562,  1519,
+         1476,  1435,  1394,  1355,  1317,  1281,  1245,  1210,  1175,  1140,
+         1105,  1071,  1037,  1005,   973,   943,   913,   885,   857,   830,
+          804,   779,   754,   731,   708,   685,   663,   642,   621,   601,
+          581,   563,   545,   528,   511,   495,   479,   463,   448,   433,
+          419,   405,   391,   377,   364,   351,   338,   326,   314,   302,
+          291,   280,   270,   260,   251,   242,   234,   226,   218,   210,
+          202,   195,   188,   181,   174,   168,   162,   156,   150,   144,
+          139,   134,   129,   124,   119,   114,   109,   104,   100,    96,
+           92,    88,    84,    80,    77,    74,    71,    68,    65,    62,
+           59,    56,    54,    52,    50,    48,    46,    44,    42,    40,
+           38,    36,    34,    33,    32,    31,    30,    29,    28,    27,
+           26,    25,    24,    23,    22,    21,    20,    19,    18,    17,
+           16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
+            6,     5,     4,     3,     2,     1,     0
     },
     {
-    16384, 16203, 16022, 15842, 15662, 15482, 15302, 15122, 14942, 14763,
-    14584, 14406, 14228, 14051, 13874, 13698, 13522, 13347, 13172, 12998,
-    12824, 12652, 12480, 12310, 12140, 11971, 11803, 11637, 11471, 11307,
-    11143, 10980, 10817, 10654, 10491, 10330, 10169, 10011,  9853,  9697,
-     9542,  9389,  9236,  9086,  8936,  8789,  8642,  8498,  8355,  8212,
-     8070,  7931,  7792,  7656,  7520,  7388,  7256,  7126,  6996,  6870,
-     6744,  6621,  6498,  6377,  6256,  6135,  6014,  5895,  5776,  5660,
-     5545,  5433,  5321,  5212,  5104,  4999,  4895,  4793,  4692,  4594,
-     4496,  4400,  4304,  4211,  4118,  4028,  3939,  3853,  3767,  3684,
-     3601,  3521,  3441,  3364,  3287,  3212,  3137,  3062,  2987,  2915,
-     2843,  2773,  2704,  2638,  2572,  2508,  2445,  2384,  2324,  2266,
-     2208,  2153,  2098,  2044,  1990,  1939,  1888,  1839,  1791,  1745,
-     1699,  1655,  1611,  1569,  1527,  1487,  1448,  1409,  1370,  1331,
-     1292,  1255,  1218,  1183,  1148,  1115,  1082,  1051,  1020,   990,
-      960,   932,   904,   878,   852,   826,   801,   777,   753,   731,
-      709,   687,   666,   645,   625,   605,   586,   567,   550,   533,
-      516,   499,   482,   465,   449,   433,   418,   403,   389,   375,
-      362,   349,   337,   325,   314,   303,   293,   283,   273,   263,
-      254,   245,   236,   227,   219,   211,   204,   197,   190,   183,
-      177,   171,   165,   159,   153,   147,   141,   135,   130,   125,
-      120,   115,   110,   105,   101,    97,    93,    89,    85,    81,
-       77,    74,    71,    68,    65,    62,    59,    56,    53,    51,
-       49,    47,    45,    43,    41,    39,    37,    35,    33,    31,
-       29,    27,    25,    23,    22,    21,    20,    19,    18,    17,
-       16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
-        6,     5,     4,     3,     2,     1,     0
+        16384, 16203, 16022, 15842, 15662, 15482, 15302, 15122, 14942, 14763,
+        14584, 14406, 14228, 14051, 13874, 13698, 13522, 13347, 13172, 12998,
+        12824, 12652, 12480, 12310, 12140, 11971, 11803, 11637, 11471, 11307,
+        11143, 10980, 10817, 10654, 10491, 10330, 10169, 10011,  9853,  9697,
+         9542,  9389,  9236,  9086,  8936,  8789,  8642,  8498,  8355,  8212,
+         8070,  7931,  7792,  7656,  7520,  7388,  7256,  7126,  6996,  6870,
+         6744,  6621,  6498,  6377,  6256,  6135,  6014,  5895,  5776,  5660,
+         5545,  5433,  5321,  5212,  5104,  4999,  4895,  4793,  4692,  4594,
+         4496,  4400,  4304,  4211,  4118,  4028,  3939,  3853,  3767,  3684,
+         3601,  3521,  3441,  3364,  3287,  3212,  3137,  3062,  2987,  2915,
+         2843,  2773,  2704,  2638,  2572,  2508,  2445,  2384,  2324,  2266,
+         2208,  2153,  2098,  2044,  1990,  1939,  1888,  1839,  1791,  1745,
+         1699,  1655,  1611,  1569,  1527,  1487,  1448,  1409,  1370,  1331,
+         1292,  1255,  1218,  1183,  1148,  1115,  1082,  1051,  1020,   990,
+          960,   932,   904,   878,   852,   826,   801,   777,   753,   731,
+          709,   687,   666,   645,   625,   605,   586,   567,   550,   533,
+          516,   499,   482,   465,   449,   433,   418,   403,   389,   375,
+          362,   349,   337,   325,   314,   303,   293,   283,   273,   263,
+          254,   245,   236,   227,   219,   211,   204,   197,   190,   183,
+          177,   171,   165,   159,   153,   147,   141,   135,   130,   125,
+          120,   115,   110,   105,   101,    97,    93,    89,    85,    81,
+           77,    74,    71,    68,    65,    62,    59,    56,    53,    51,
+           49,    47,    45,    43,    41,    39,    37,    35,    33,    31,
+           29,    27,    25,    23,    22,    21,    20,    19,    18,    17,
+           16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
+            6,     5,     4,     3,     2,     1,     0
     },
     {
-    16384, 16210, 16036, 15863, 15690, 15517, 15344, 15172, 15000, 14828,
-    14656, 14485, 14314, 14145, 13976, 13808, 13640, 13472, 13304, 13137,
-    12970, 12804, 12639, 12475, 12312, 12149, 11987, 11827, 11667, 11508,
-    11349, 11192, 11035, 10878, 10721, 10565, 10410, 10257, 10104,  9953,
-     9802,  9654,  9506,  9359,  9213,  9070,  8927,  8787,  8647,  8508,
-     8369,  8233,  8097,  7964,  7831,  7700,  7570,  7442,  7315,  7190,
-     7065,  6943,  6821,  6701,  6581,  6461,  6341,  6223,  6105,  5990,
-     5876,  5764,  5653,  5545,  5437,  5331,  5226,  5124,  5022,  4924,
-     4826,  4729,  4632,  4538,  4444,  4353,  4262,  4174,  4087,  4002,
-     3917,  3835,  3753,  3674,  3595,  3518,  3441,  3364,  3287,  3212,
-     3138,  3066,  2995,  2926,  2858,  2792,  2726,  2662,  2599,  2538,
-     2478,  2420,  2362,  2305,  2249,  2195,  2141,  2089,  2037,  1988,
-     1939,  1891,  1844,  1799,  1754,  1711,  1668,  1626,  1584,  1542,
-     1500,  1459,  1418,  1380,  1342,  1305,  1269,  1234,  1199,  1166,
-     1133,  1102,  1071,  1041,  1012,   983,   954,   926,   899,   872,
-      847,   822,   798,   774,   751,   728,   707,   686,   666,   646,
-      627,   608,   589,   570,   552,   534,   517,   500,   484,   468,
-      453,   438,   424,   410,   397,   384,   372,   360,   348,   336,
-      325,   314,   303,   293,   283,   273,   264,   255,   246,   237,
-      229,   221,   213,   205,   197,   189,   181,   174,   167,   160,
-      154,   148,   142,   136,   131,   126,   121,   116,   111,   106,
-      101,    97,    93,    89,    85,    81,    77,    73,    70,    67,
-       64,    61,    58,    55,    52,    49,    46,    43,    40,    37,
-       35,    33,    31,    29,    27,    25,    23,    21,    19,    17,
-       16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
-        6,     5,     4,     3,     2,     1,     0
+        16384, 16210, 16036, 15863, 15690, 15517, 15344, 15172, 15000, 14828,
+        14656, 14485, 14314, 14145, 13976, 13808, 13640, 13472, 13304, 13137,
+        12970, 12804, 12639, 12475, 12312, 12149, 11987, 11827, 11667, 11508,
+        11349, 11192, 11035, 10878, 10721, 10565, 10410, 10257, 10104,  9953,
+         9802,  9654,  9506,  9359,  9213,  9070,  8927,  8787,  8647,  8508,
+         8369,  8233,  8097,  7964,  7831,  7700,  7570,  7442,  7315,  7190,
+         7065,  6943,  6821,  6701,  6581,  6461,  6341,  6223,  6105,  5990,
+         5876,  5764,  5653,  5545,  5437,  5331,  5226,  5124,  5022,  4924,
+         4826,  4729,  4632,  4538,  4444,  4353,  4262,  4174,  4087,  4002,
+         3917,  3835,  3753,  3674,  3595,  3518,  3441,  3364,  3287,  3212,
+         3138,  3066,  2995,  2926,  2858,  2792,  2726,  2662,  2599,  2538,
+         2478,  2420,  2362,  2305,  2249,  2195,  2141,  2089,  2037,  1988,
+         1939,  1891,  1844,  1799,  1754,  1711,  1668,  1626,  1584,  1542,
+         1500,  1459,  1418,  1380,  1342,  1305,  1269,  1234,  1199,  1166,
+         1133,  1102,  1071,  1041,  1012,   983,   954,   926,   899,   872,
+          847,   822,   798,   774,   751,   728,   707,   686,   666,   646,
+          627,   608,   589,   570,   552,   534,   517,   500,   484,   468,
+          453,   438,   424,   410,   397,   384,   372,   360,   348,   336,
+          325,   314,   303,   293,   283,   273,   264,   255,   246,   237,
+          229,   221,   213,   205,   197,   189,   181,   174,   167,   160,
+          154,   148,   142,   136,   131,   126,   121,   116,   111,   106,
+          101,    97,    93,    89,    85,    81,    77,    73,    70,    67,
+           64,    61,    58,    55,    52,    49,    46,    43,    40,    37,
+           35,    33,    31,    29,    27,    25,    23,    21,    19,    17,
+           16,    15,    14,    13,    12,    11,    10,     9,     8,     7,
+            6,     5,     4,     3,     2,     1,     0
     },
     {
-    16384, 16218, 16052, 15886, 15720, 15554, 15389, 15224, 15059, 14895,
-    14731, 14567, 14403, 14240, 14077, 13915, 13753, 13591, 13429, 13269,
-    13109, 12950, 12791, 12633, 12476, 12320, 12164, 12009, 11854, 11701,
-    11548, 11396, 11244, 11092, 10940, 10790, 10640, 10492, 10344, 10198,
-    10052,  9908,  9764,  9622,  9481,  9342,  9203,  9066,  8929,  8793,
-     8657,  8524,  8391,  8261,  8131,  8003,  7875,  7749,  7624,  7502,
-     7380,  7260,  7140,  7022,  6904,  6786,  6668,  6551,  6435,  6322,
-     6209,  6099,  5989,  5881,  5773,  5668,  5563,  5461,  5359,  5260,
-     5161,  5063,  4965,  4871,  4777,  4686,  4595,  4506,  4417,  4331,
-     4245,  4162,  4079,  3999,  3919,  3841,  3763,  3685,  3607,  3530,
-     3454,  3380,  3307,  3236,  3166,  3097,  3029,  2963,  2897,  2834,
-     2771,  2710,  2650,  2591,  2532,  2475,  2418,  2363,  2309,  2257,
-     2205,  2155,  2105,  2057,  2009,  1963,  1918,  1873,  1828,  1783,
-     1738,  1694,  1650,  1607,  1565,  1524,  1484,  1445,  1407,  1369,
-     1333,  1297,  1263,  1229,  1197,  1165,  1134,  1103,  1073,  1043,
-     1015,   987,   960,   933,   907,   882,   858,   834,   811,   788,
-      766,   744,   722,   700,   679,   658,   638,   618,   599,   581,
-      563,   545,   528,   511,   495,   480,   465,   451,   437,   423,
-      410,   397,   384,   372,   360,   348,   337,   326,   315,   305,
-      295,   285,   275,   265,   255,   245,   236,   227,   219,   211,
-      203,   195,   188,   181,   174,   167,   161,   155,   149,   143,
-      137,   131,   126,   121,   116,   111,   106,   101,    97,    93,
-       89,    85,    81,    77,    73,    69,    65,    61,    58,    55,
-       52,    49,    46,    43,    40,    37,    34,    32,    30,    28,
-       26,    24,    22,    20,    18,    16,    14,    12,    10,     8,
-        6,     5,     4,     3,     2,     1,     0
+        16384, 16218, 16052, 15886, 15720, 15554, 15389, 15224, 15059, 14895,
+        14731, 14567, 14403, 14240, 14077, 13915, 13753, 13591, 13429, 13269,
+        13109, 12950, 12791, 12633, 12476, 12320, 12164, 12009, 11854, 11701,
+        11548, 11396, 11244, 11092, 10940, 10790, 10640, 10492, 10344, 10198,
+        10052,  9908,  9764,  9622,  9481,  9342,  9203,  9066,  8929,  8793,
+         8657,  8524,  8391,  8261,  8131,  8003,  7875,  7749,  7624,  7502,
+         7380,  7260,  7140,  7022,  6904,  6786,  6668,  6551,  6435,  6322,
+         6209,  6099,  5989,  5881,  5773,  5668,  5563,  5461,  5359,  5260,
+         5161,  5063,  4965,  4871,  4777,  4686,  4595,  4506,  4417,  4331,
+         4245,  4162,  4079,  3999,  3919,  3841,  3763,  3685,  3607,  3530,
+         3454,  3380,  3307,  3236,  3166,  3097,  3029,  2963,  2897,  2834,
+         2771,  2710,  2650,  2591,  2532,  2475,  2418,  2363,  2309,  2257,
+         2205,  2155,  2105,  2057,  2009,  1963,  1918,  1873,  1828,  1783,
+         1738,  1694,  1650,  1607,  1565,  1524,  1484,  1445,  1407,  1369,
+         1333,  1297,  1263,  1229,  1197,  1165,  1134,  1103,  1073,  1043,
+         1015,   987,   960,   933,   907,   882,   858,   834,   811,   788,
+          766,   744,   722,   700,   679,   658,   638,   618,   599,   581,
+          563,   545,   528,   511,   495,   480,   465,   451,   437,   423,
+          410,   397,   384,   372,   360,   348,   337,   326,   315,   305,
+          295,   285,   275,   265,   255,   245,   236,   227,   219,   211,
+          203,   195,   188,   181,   174,   167,   161,   155,   149,   143,
+          137,   131,   126,   121,   116,   111,   106,   101,    97,    93,
+           89,    85,    81,    77,    73,    69,    65,    61,    58,    55,
+           52,    49,    46,    43,    40,    37,    34,    32,    30,    28,
+           26,    24,    22,    20,    18,    16,    14,    12,    10,     8,
+            6,     5,     4,     3,     2,     1,     0
     }
 };
 
 
-static const uint16_t * const cf_table[16] = {
+static const uint16_t *const cf_table[16] = {
     cf_tables_1[0], cf_tables_1[1], cf_tables_1[2], cf_tables_2[0],
     cf_tables_2[1], cf_tables_2[2], cf_tables_2[3], cf_tables_2[4],
     cf_tables_2[5], cf_tables_2[6], cf_tables_2[7], cf_tables_3[0],
@@ -424,10 +421,8 @@ static const uint16_t * const cf_table[16] = {
 };
 
 
-/** Initialize a given lookup table using a given delta
- */
-static void bgmc_lut_fillp(uint8_t *lut, int *lut_status,
-                           int delta)
+/** Initialize a given lookup table using a given delta */
+static void bgmc_lut_fillp(uint8_t *lut, int *lut_status, int delta)
 {
     unsigned int sx, i;
 
@@ -446,10 +441,8 @@ static void bgmc_lut_fillp(uint8_t *lut, int *lut_status,
 }
 
 
-/** Retune the index of a suitable lookup table for a given delta
- */
-static uint8_t* bgmc_lut_getp(uint8_t *lut, int *lut_status,
-                              int delta)
+/** Retune the index of a suitable lookup table for a given delta */
+static uint8_t *bgmc_lut_getp(uint8_t *lut, int *lut_status, int delta)
 {
     unsigned int i = av_clip(delta, 0, LUT_BUFF - 1);
 
@@ -462,11 +455,10 @@ static uint8_t* bgmc_lut_getp(uint8_t *lut, int *lut_status,
 }
 
 
-/** Initialize the lookup table arrays
- */
+/** Initialize the lookup table arrays */
 int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
 {
-    *cf_lut        = av_malloc(sizeof(*cf_lut       ) * LUT_BUFF * 16 * LUT_SIZE);
+    *cf_lut        = av_malloc(sizeof(*cf_lut)        * LUT_BUFF * 16 * LUT_SIZE);
     *cf_lut_status = av_malloc(sizeof(*cf_lut_status) * LUT_BUFF);
 
     if (!cf_lut || !cf_lut_status) {
@@ -474,8 +466,7 @@ int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
         av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n");
         return AVERROR(ENOMEM);
     } else {
-        // initialize lut_status buffer to a value never used to compare
-        // against
+        // initialize lut_status buffer to a value never used to compare against
         memset(*cf_lut_status, -1, sizeof(*cf_lut_status) * LUT_BUFF);
     }
 
@@ -483,8 +474,7 @@ int ff_bgmc_init(AVCodecContext *avctx, uint8_t **cf_lut, int **cf_lut_status)
 }
 
 
-/** Release the lookup table arrays
- */
+/** Release the lookup table arrays */
 void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status)
 {
     av_freep(cf_lut);
@@ -492,10 +482,9 @@ void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status)
 }
 
 
-/** Initialize decoding and reads the first value
- */
-void ff_bgmc_decode_init(GetBitContext *gb,
-                         unsigned int *h, unsigned int *l, unsigned int *v)
+/** Initialize decoding and reads the first value */
+void ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h, unsigned int *l,
+                         unsigned int *v)
 {
     *h = TOP_VALUE;
     *l = 0;
@@ -503,16 +492,14 @@ void ff_bgmc_decode_init(GetBitContext *gb,
 }
 
 
-/** Finish decoding
- */
+/** Finish decoding */
 void ff_bgmc_decode_end(GetBitContext *gb)
 {
     skip_bits_long(gb, -(VALUE_BITS - 2));
 }
 
 
-/** Read and decode a block Gilbert-Moore coded symbol
- */
+/** Read and decode a block Gilbert-Moore coded symbol */
 void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst,
                     int delta, unsigned int sx,
                     unsigned int *h, unsigned int *l, unsigned int *v,
@@ -522,9 +509,9 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst,
     uint8_t *lut = bgmc_lut_getp(cf_lut, cf_lut_status, delta);
 
     // read current state
-    unsigned int high   = *h;
-    unsigned int low    = *l;
-    unsigned int value  = *v;
+    unsigned int high  = *h;
+    unsigned int low   = *l;
+    unsigned int value = *v;
 
     lut += sx * LUT_SIZE;
 
@@ -539,12 +526,12 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst,
 
         symbol = (symbol >> delta) - 1;
 
-        high = low + ((range * cf_table[sx][(symbol    ) << delta] - (1 << FREQ_BITS)) >> FREQ_BITS);
-        low  = low + ((range * cf_table[sx][(symbol + 1) << delta]                   ) >> FREQ_BITS);
+        high = low + ((range * cf_table[sx][(symbol)     << delta] - (1 << FREQ_BITS)) >> FREQ_BITS);
+        low  = low + ((range * cf_table[sx][(symbol + 1) << delta])                    >> FREQ_BITS);
 
         while (1) {
             if (high >= HALF) {
-                if        (low >= HALF) {
+                if (low >= HALF) {
                     value -= HALF;
                     low   -= HALF;
                     high  -= HALF;
@@ -552,12 +539,13 @@ void ff_bgmc_decode(GetBitContext *gb, unsigned int num, int32_t *dst,
                     value -= FIRST_QTR;
                     low   -= FIRST_QTR;
                     high  -= FIRST_QTR;
-                } else break;
+                } else
+                    break;
             }
 
-            low   *= 2;
-            high   = 2 * high  + 1;
-            value  = 2 * value + get_bits1(gb);
+            low  *= 2;
+            high  = 2 * high + 1;
+            value = 2 * value + get_bits1(gb);
         }
 
         *dst++ = symbol;
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index 4ad0558..e46fe64 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -57,6 +57,18 @@ AVOutputFormat ff_adx_muxer = {
 };
 #endif
 
+#if CONFIG_CAVSVIDEO_MUXER
+AVOutputFormat ff_cavsvideo_muxer = {
+    .name              = "cavsvideo",
+    .long_name         = NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
+    .extensions        = "cavs",
+    .audio_codec       = CODEC_ID_NONE,
+    .video_codec       = CODEC_ID_CAVS,
+    .write_packet      = ff_raw_write_packet,
+    .flags             = AVFMT_NOTIMESTAMPS,
+};
+#endif
+
 #if CONFIG_DIRAC_MUXER
 AVOutputFormat ff_dirac_muxer = {
     .name              = "dirac",
@@ -158,18 +170,6 @@ AVOutputFormat ff_h264_muxer = {
 };
 #endif
 
-#if CONFIG_CAVSVIDEO_MUXER
-AVOutputFormat ff_cavsvideo_muxer = {
-    .name              = "cavsvideo",
-    .long_name         = NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
-    .extensions        = "cavs",
-    .audio_codec       = CODEC_ID_NONE,
-    .video_codec       = CODEC_ID_CAVS,
-    .write_packet      = ff_raw_write_packet,
-    .flags             = AVFMT_NOTIMESTAMPS,
-};
-#endif
-
 #if CONFIG_M4V_MUXER
 AVOutputFormat ff_m4v_muxer = {
     .name              = "m4v",
@@ -207,30 +207,6 @@ AVOutputFormat ff_mlp_muxer = {
 };
 #endif
 
-#if CONFIG_SRT_MUXER
-AVOutputFormat ff_srt_muxer = {
-    .name           = "srt",
-    .long_name      = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
-    .mime_type      = "application/x-subrip",
-    .extensions     = "srt",
-    .write_packet   = ff_raw_write_packet,
-    .flags          = AVFMT_NOTIMESTAMPS,
-    .subtitle_codec = CODEC_ID_SRT,
-};
-#endif
-
-#if CONFIG_TRUEHD_MUXER
-AVOutputFormat ff_truehd_muxer = {
-    .name              = "truehd",
-    .long_name         = NULL_IF_CONFIG_SMALL("raw TrueHD"),
-    .extensions        = "thd",
-    .audio_codec       = CODEC_ID_TRUEHD,
-    .video_codec       = CODEC_ID_NONE,
-    .write_packet      = ff_raw_write_packet,
-    .flags             = AVFMT_NOTIMESTAMPS,
-};
-#endif
-
 #if CONFIG_MPEG1VIDEO_MUXER
 AVOutputFormat ff_mpeg1video_muxer = {
     .name              = "mpeg1video",
@@ -267,3 +243,27 @@ AVOutputFormat ff_rawvideo_muxer = {
     .flags             = AVFMT_NOTIMESTAMPS,
 };
 #endif
+
+#if CONFIG_SRT_MUXER
+AVOutputFormat ff_srt_muxer = {
+    .name              = "srt",
+    .long_name         = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
+    .mime_type         = "application/x-subrip",
+    .extensions        = "srt",
+    .write_packet      = ff_raw_write_packet,
+    .flags             = AVFMT_NOTIMESTAMPS,
+    .subtitle_codec    = CODEC_ID_SRT,
+};
+#endif
+
+#if CONFIG_TRUEHD_MUXER
+AVOutputFormat ff_truehd_muxer = {
+    .name              = "truehd",
+    .long_name         = NULL_IF_CONFIG_SMALL("raw TrueHD"),
+    .extensions        = "thd",
+    .audio_codec       = CODEC_ID_TRUEHD,
+    .video_codec       = CODEC_ID_NONE,
+    .write_packet      = ff_raw_write_packet,
+    .flags             = AVFMT_NOTIMESTAMPS,
+};
+#endif



More information about the libav-commits mailing list