summaryrefslogtreecommitdiff
path: root/ext/zlib
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-15 01:28:05 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-15 01:28:05 +0000
commit623169a5c6cbad1ae6d8969f273f534cbd0c3fe4 (patch)
treef8ac418ed9b3916c1ce49c225c6d55d1a0917fce /ext/zlib
parenta1aeb842d01d1fd979f709600087be87ae549f94 (diff)
* ext/zlib/zlib.c (Init_zlib): Added Zlib::FIXED and Zlib::RLE
strategies. * NEWS: Add note about the new Zlib constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/zlib')
-rw-r--r--ext/zlib/zlib.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index 32decbbc36..b95198554e 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -1329,13 +1329,21 @@ rb_deflate_s_allocate(VALUE klass)
*
* Zlib::FILTERED::
* For data produced by a filter (or predictor). The effect of FILTERED is
- * to force more Huffman coding and less string matching; it is somewhat
+ * to force more Huffman codes and less string matching; it is somewhat
* intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY. Filtered data
* consists mostly of small values with a somewhat random distribution.
*
+ * Zlib::FIXED::
+ * Prevents the use of dynamic Huffman codes, allowing for a simpler decoder
+ * for specialized applications.
+ *
* Zlib::HUFFMAN_ONLY::
* Use Huffman encoding only (no string matching).
*
+ * Zlib::RLE::
+ * Designed to be almost as fast as HUFFMAN_ONLY, but give better
+ * compression for PNG image data.
+ *
* == Examples
*
* === Basic
@@ -4209,6 +4217,18 @@ Init_zlib()
*
* Which is an argument for Deflate.new and Deflate#params. */
rb_define_const(mZlib, "HUFFMAN_ONLY", INT2FIX(Z_HUFFMAN_ONLY));
+#ifdef Z_RLE
+ /* compression method 3
+ *
+ * Which is an argument for Deflate.new and Deflate#params. */
+ rb_define_const(mZlib, "RLE", INT2FIX(Z_RLE));
+#endif
+#ifdef Z_FIXED
+ /* compression method 4
+ *
+ * Which is an argument for Deflate.new and Deflate#params. */
+ rb_define_const(mZlib, "FIXED", INT2FIX(Z_FIXED));
+#endif
/* compression method 0
*
* Which is an argument for Deflate.new and Deflate#params. */