libv4l: add patch to fix libjpeg build issue
Since the bump of libjpeg to v9b, libv4l doesn't build anymore due to the change of the prototype of jpeg_mem_src(), which gets re-implemented in libv4l when the libjpeg is too old. Fixes: http://autobuild.buildroot.org/results/e7a/e7a2341cbbcf514f4cd6754a5a36cebd6556a757/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
2e61aaa7c4
commit
343ec915e3
@ -0,0 +1,53 @@
|
|||||||
|
From d468d1bba973999f2f1103ebaf7df5c8440a5499 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
Date: Thu, 21 Jan 2016 10:22:16 +0100
|
||||||
|
Subject: [PATCH] libv4lconvert: only expose jpeg_mem_*() protoypes when
|
||||||
|
JPEG_LIB_VERSION < 80
|
||||||
|
|
||||||
|
The jpeg_memsrcdest.c file implements jpeg_mem_src() and
|
||||||
|
jpeg_mem_dest() when JPEG_LIB_VERSION < 80 in order to provide those
|
||||||
|
functions to libv4lconvert when the libjpeg library being used is too
|
||||||
|
old.
|
||||||
|
|
||||||
|
However, the jpeg_memsrcdest.h file exposes the prototypes of those
|
||||||
|
functions unconditionally. Until now, the prototype was matching the
|
||||||
|
one of the functions exposed by libjpeg (when JPEG_LIB_VERSION >= 80),
|
||||||
|
so there was no problem.
|
||||||
|
|
||||||
|
But since the release of libjpeg 9b (in January 2016), they changed
|
||||||
|
the second argument of jpeg_mem_src() from "unsigned char *" to "const
|
||||||
|
unsigned char*". Therefore, there are two prototypes for the
|
||||||
|
jpeg_mem_src() function: one from libjpeg, one from libv4l, and they
|
||||||
|
conflict with each other.
|
||||||
|
|
||||||
|
To resolve this situation, this patch modifies jpeg_memsrcdest.h to
|
||||||
|
only expose the prototypes when libv4l is implementing the functions
|
||||||
|
(i.e when JPEG_LIB_VERSION < 80). When JPEG_LIB_VERSION >= 80, the
|
||||||
|
prototypes will come from <jpeglib.h>.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
---
|
||||||
|
lib/libv4lconvert/jpeg_memsrcdest.h | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/libv4lconvert/jpeg_memsrcdest.h b/lib/libv4lconvert/jpeg_memsrcdest.h
|
||||||
|
index e971182..28a6477 100644
|
||||||
|
--- a/lib/libv4lconvert/jpeg_memsrcdest.h
|
||||||
|
+++ b/lib/libv4lconvert/jpeg_memsrcdest.h
|
||||||
|
@@ -1,5 +1,7 @@
|
||||||
|
#include <jpeglib.h>
|
||||||
|
|
||||||
|
+#if JPEG_LIB_VERSION < 80
|
||||||
|
+
|
||||||
|
void
|
||||||
|
jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
|
||||||
|
unsigned long bufsize);
|
||||||
|
@@ -7,3 +9,5 @@ jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
|
||||||
|
void
|
||||||
|
jpeg_mem_dest (j_compress_ptr cinfo, unsigned char ** outbuffer,
|
||||||
|
unsigned long * outsize);
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
--
|
||||||
|
2.6.4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user