All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4l-utils] libv4lconvert: only expose jpeg_mem_*() protoypes when JPEG_LIB_VERSION < 80
@ 2016-01-21  9:53 Thomas Petazzoni
  2016-01-21 11:00 ` Hans de Goede
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Petazzoni @ 2016-01-21  9:53 UTC (permalink / raw)
  To: linux-media
  Cc: Mauro Carvalho Chehab, Laurent Pinchart, Hans Verkuil,
	Thomas Petazzoni

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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v4l-utils] libv4lconvert: only expose jpeg_mem_*() protoypes when JPEG_LIB_VERSION < 80
  2016-01-21  9:53 [PATCH v4l-utils] libv4lconvert: only expose jpeg_mem_*() protoypes when JPEG_LIB_VERSION < 80 Thomas Petazzoni
@ 2016-01-21 11:00 ` Hans de Goede
  0 siblings, 0 replies; 2+ messages in thread
From: Hans de Goede @ 2016-01-21 11:00 UTC (permalink / raw)
  To: Thomas Petazzoni, linux-media
  Cc: Mauro Carvalho Chehab, Laurent Pinchart, Hans Verkuil

Hi,

On 21-01-16 10:53, Thomas Petazzoni wrote:
> 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>

Thanks, applied and pushed,

Regards,

Hans


> ---
>   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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-01-21 11:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-21  9:53 [PATCH v4l-utils] libv4lconvert: only expose jpeg_mem_*() protoypes when JPEG_LIB_VERSION < 80 Thomas Petazzoni
2016-01-21 11:00 ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.