extra/libjpeg-turbo to 1.3.1-3

This commit is contained in:
Kevin Mihelich 2014-11-27 17:56:43 +00:00
parent 518fb04e2a
commit bdb1f2656b
3 changed files with 28 additions and 7 deletions

View file

@ -9,25 +9,25 @@
pkgname=libjpeg-turbo pkgname=libjpeg-turbo
pkgver=1.3.1 pkgver=1.3.1
pkgrel=2 pkgrel=3
pkgdesc='JPEG image codec with accelerated baseline compression and decompression' pkgdesc='JPEG image codec with accelerated baseline compression and decompression'
url='http://libjpeg-turbo.virtualgl.org/' url='http://libjpeg-turbo.virtualgl.org/'
license=('GPL' 'custom') license=('GPL' 'custom')
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"
'libjpeg-turbo-1.3.1-jstdhuff.patch') 'jstdhuff.patch'
'overrun.patch')
sha1sums=('5fa19252e5ca992cfa40446a0210ceff55fbe468' sha1sums=('5fa19252e5ca992cfa40446a0210ceff55fbe468'
'f459890257df430dc4e2d8bd3060173a1be7516e') 'f459890257df430dc4e2d8bd3060173a1be7516e'
'438aba2241b19857bab090c6f61bd3f249f27591')
provides=('libjpeg=8.0.2' 'turbojpeg') provides=('libjpeg=8.0.2' 'turbojpeg')
conflicts=('libjpeg' 'turbojpeg') conflicts=('libjpeg' 'turbojpeg')
replaces=('libjpeg' 'turbojpeg') replaces=('libjpeg' 'turbojpeg')
prepare() { prepare() {
cd "${srcdir}/${pkgname}-${pkgver}" cd "${srcdir}/${pkgname}-${pkgver}"
# Backport fix for motion JPEG video frames that are encoded without the patch -p0 -i ../jstdhuff.patch # FS#42747
# default Huffman tables. Fixes HD webcam input in Chromium (FS#42747). patch -p1 -i ../overrun.patch # FS#42922
# http://sourceforge.net/p/libjpeg-turbo/code/1104/
patch -Np0 -i ../libjpeg-turbo-1.3.1-jstdhuff.patch
} }
build() { build() {

View file

@ -0,0 +1,21 @@
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) { \