diff options
author | Lode Vandevenne <lode@google.com> | 2013-01-16 10:30:56 +0100 |
---|---|---|
committer | Lode Vandevenne <lode@google.com> | 2013-01-16 10:30:56 +0100 |
commit | b50b7ef8f8150616d3e9a227ce2d722a8355b1da (patch) | |
tree | 33731fde3659eb06ebf5f90f06ad7a6723eea82c /katajainen.h | |
download | zopfli-b50b7ef8f8150616d3e9a227ce2d722a8355b1da.tar.gz |
Initial commit
Diffstat (limited to 'katajainen.h')
-rw-r--r-- | katajainen.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/katajainen.h b/katajainen.h new file mode 100644 index 0000000..39946c8 --- /dev/null +++ b/katajainen.h @@ -0,0 +1,42 @@ +/* +Copyright 2011 Google Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Author: lode.vandevenne@gmail.com (Lode Vandevenne) +Author: jyrki.alakuijala@gmail.com (Jyrki Alakuijala) +*/ + +#ifndef ZOPFLI_KATAJAINEN_H_ +#define ZOPFLI_KATAJAINEN_H_ + +#include <string.h> + +/* +Outputs minimum-redundancy length-limited code bitlengths for symbols with the +given counts. The bitlengths are limited by maxbits. + +The output is tailored for DEFLATE: symbols that never occur, get a bit length +of 0, and if only a single symbol occurs at least once, its bitlength will be 1, +and not 0 as would theoretically be needed for a single symbol. + +frequencies: The amount of occurances of each symbol. +n: The amount of symbols. +maxbits: Maximum bit length, inclusive. +bitlengths: Output, the bitlengths for the symbol prefix codes. +return: 0 for OK, non-0 for error. +*/ +int LengthLimitedCodeLengths( + const size_t* frequencies, int n, int maxbits, unsigned* bitlengths); + +#endif /* ZOPFLI_KATAJAINEN_H_ */ |