mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
21 lines
876 B
Diff
21 lines
876 B
Diff
diff -Naur old/jchuff.c new/jchuff.c
|
|
--- old/jchuff.c 2014-11-27 06:48:21.009442853 -1000
|
|
+++ new/jchuff.c 2014-11-27 06:48:46.289700004 -1000
|
|
@@ -391,7 +391,16 @@
|
|
#endif
|
|
|
|
|
|
-#define BUFSIZE (DCTSIZE2 * 2)
|
|
+/* Although it is exceedingly rare, it is possible for a Huffman-encoded
|
|
+ * coefficient block to be larger than the 128-byte unencoded block. For each
|
|
+ * of the 64 coefficients, PUT_BITS is invoked twice, and each invocation can
|
|
+ * theoretically store 16 bits (for a maximum of 2048 bits or 256 bytes per
|
|
+ * encoded block.) If, for instance, one artificially sets the AC
|
|
+ * coefficients to alternating values of 32767 and -32768 (using the JPEG
|
|
+ * scanning order-- 1, 8, 16, etc.), then this will produce an encoded block
|
|
+ * larger than 200 bytes.
|
|
+ */
|
|
+#define BUFSIZE (DCTSIZE2 * 4)
|
|
|
|
#define LOAD_BUFFER() { \
|
|
if (state->free_in_buffer < BUFSIZE) { \
|