X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=bitstream.c;h=d727896fbe107ce56451483074ffd6279268cbe2;hb=6b0d9187cc445c92f6686300f729f5b95200ca28;hp=1139edc0d01dfe3668906f747809e0bfb055c18e;hpb=9609fd30e0d3db45ede3ab5c6bc3a77c15b6aef8;p=paraslash.git diff --git a/bitstream.c b/bitstream.c index 1139edc0..d727896f 100644 --- a/bitstream.c +++ b/bitstream.c @@ -27,6 +27,7 @@ #include "wma.h" #include "bitstream.h" +/** Read an 8, 16, or 32 bit entity from a VLC table. */ #define GET_DATA(v, table, i, size) \ {\ const uint8_t *ptr = (const uint8_t *)table + i * size; \ @@ -72,7 +73,7 @@ static int build_table(struct vlc *vlc, int table_nb_bits, int nb_codes, table[i][0] = -1; //codes } - /* map codes and compute auxillary table sizes */ + /* map codes and compute auxiliary table sizes */ for (i = 0; i < nb_codes; i++) { GET_DATA(n, bits, i, 1); GET_DATA(code, codes, i, codes_size); @@ -109,7 +110,7 @@ static int build_table(struct vlc *vlc, int table_nb_bits, int nb_codes, } } - /* fill auxillary tables recursively */ + /* fill auxiliary tables recursively */ for (i = 0; i < table_size; i++) { n = table[i][1]; //bits if (n < 0) { @@ -160,6 +161,14 @@ void init_vlc(struct vlc *vlc, int nb_bits, int nb_codes, const void *bits, build_table(vlc, nb_bits, nb_codes, bits, codes, codes_size, 0, 0); } +/** + * Deallocate all resources of a VLC table. + * + * \param vlc Pointer to an initialized vlc structure. + * + * The table given by \a vlc must have been initialized earlier via \ref + * init_vlc(). + */ void free_vlc(struct vlc *vlc) { freep(&vlc->table);