This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: libv4lconvert: Allow to disable the libjpeg dependency
Author:  Gregor Jasny <[email protected]>
Date:    Mon Jun 11 23:02:24 2012 +0200

This is useful for Debian when cross compiling 32bit libs.

Signed-off-by: Gregor Jasny <[email protected]>

 lib/libv4lconvert/Makefile             |   12 +++++++++---
 lib/libv4lconvert/jpeg.c               |    7 +++++++
 lib/libv4lconvert/libv4lconvert-priv.h |    4 ++++
 lib/libv4lconvert/libv4lconvert.c      |   12 ++++++++++++
 4 files changed, 32 insertions(+), 3 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=118a69a8c6f5f45bf1418bb2cac8a726683a74f9

diff --git a/lib/libv4lconvert/Makefile b/lib/libv4lconvert/Makefile
index cbd79c0..c08912e 100644
--- a/lib/libv4lconvert/Makefile
+++ b/lib/libv4lconvert/Makefile
@@ -1,6 +1,6 @@
 override CPPFLAGS += -I../include -fvisibility=hidden
 
-LIBS_libv4lconvert = -lrt -lm -ljpeg
+LIBS_libv4lconvert = -lrt -lm
 
 ifeq ($(LINKTYPE),static)
 CONVERT_LIB   = libv4lconvert.a
@@ -10,16 +10,22 @@ override CPPFLAGS += -fPIC
 endif
 
 CONVERT_OBJS  = libv4lconvert.o tinyjpeg.o sn9c10x.o sn9c20x.o pac207.o \
-               jl2005bcd.o \
                mr97310a.o flip.o crop.o jidctflt.o spca561-decompress.o \
                rgbyuv.o sn9c2028-decomp.o spca501.o sq905c.o bayer.o hm12.o \
-               stv0680.o cpia1.o se401.o jpgl.o jpeg.o jpeg_memsrcdest.o \
+               stv0680.o cpia1.o se401.o jpgl.o jpeg.o \
                control/libv4lcontrol.o processing/libv4lprocessing.o \
                processing/whitebalance.o processing/autogain.o \
                processing/gamma.o helper.o
 TARGETS       = $(CONVERT_LIB) libv4lconvert.pc ov511-decomp ov518-decomp
 INCLUDES      = ../include/libv4lconvert.h
 
+ifeq ($(DISABLE_LIBJPEG),1)
+override CFLAGS += -DDISABLE_LIBJPEG
+else
+LIBS_libv4lconvert += -ljpeg
+CONVERT_OBJS += jl2005bcd.o jpeg_memsrcdest.o
+endif
+
 override CPPFLAGS += -DLIBDIR=\"$(LIBDIR)\" -DLIBSUBDIR=\"$(LIBSUBDIR)\"
 
 all: $(TARGETS)
diff --git a/lib/libv4lconvert/jpeg.c b/lib/libv4lconvert/jpeg.c
index c7e20cc..1546b42 100644
--- a/lib/libv4lconvert/jpeg.c
+++ b/lib/libv4lconvert/jpeg.c
@@ -19,7 +19,9 @@
 #include <errno.h>
 #include <stdlib.h>
 #include "libv4lconvert-priv.h"
+#ifndef DISABLE_LIBJPEG
 #include "jpeg_memsrcdest.h"
+#endif
 
 int v4lconvert_decode_jpeg_tinyjpeg(struct v4lconvert_data *data,
        unsigned char *src, int src_size, unsigned char *dest,
@@ -107,6 +109,8 @@ int v4lconvert_decode_jpeg_tinyjpeg(struct v4lconvert_data 
*data,
        return 0;
 }
 
+#ifndef DISABLE_LIBJPEG
+
 static void jerr_error_exit(j_common_ptr cinfo)
 {
        struct v4lconvert_data *data = cinfo->client_data;
@@ -405,3 +409,6 @@ int v4lconvert_decode_jpeg_libjpeg(struct v4lconvert_data 
*data,
 
        return result;
 }
+
+#endif
+
diff --git a/lib/libv4lconvert/libv4lconvert-priv.h 
b/lib/libv4lconvert/libv4lconvert-priv.h
index 5b76767..c2284f5 100644
--- a/lib/libv4lconvert/libv4lconvert-priv.h
+++ b/lib/libv4lconvert/libv4lconvert-priv.h
@@ -22,7 +22,9 @@
 #include <stdio.h>
 #include <stdint.h>
 #include <sys/types.h>
+#ifndef DISABLE_LIBJPEG
 #include <jpeglib.h>
+#endif
 #include <setjmp.h>
 #include "libv4lconvert.h"
 #include "control/libv4lcontrol.h"
@@ -50,11 +52,13 @@ struct v4lconvert_data {
        int64_t supported_src_formats; /* bitfield */
        char error_msg[V4LCONVERT_ERROR_MSG_SIZE];
        struct jdec_private *tinyjpeg;
+#ifndef DISABLE_LIBJPEG
        struct jpeg_error_mgr jerr;
        int jerr_errno;
        jmp_buf jerr_jmp_state;
        struct jpeg_decompress_struct cinfo;
        int cinfo_initialized;
+#endif
        struct v4l2_frmsizeenum framesizes[V4LCONVERT_MAX_FRAMESIZES];
        unsigned int no_framesizes;
        int bandwidth;
diff --git a/lib/libv4lconvert/libv4lconvert.c 
b/lib/libv4lconvert/libv4lconvert.c
index f44f9ff..902ece0 100644
--- a/lib/libv4lconvert/libv4lconvert.c
+++ b/lib/libv4lconvert/libv4lconvert.c
@@ -78,7 +78,9 @@ static const struct v4lconvert_pixfmt supported_src_pixfmts[] 
= {
        { V4L2_PIX_FMT_SN9C2028,         0,      9,      9,     1 },
        { V4L2_PIX_FMT_PAC207,           0,      9,      9,     1 },
        { V4L2_PIX_FMT_MR97310A,         0,      9,      9,     1 },
+#ifndef DISABLE_LIBJPEG
        { V4L2_PIX_FMT_JL2005BCD,        0,      9,      9,     1 },
+#endif
        { V4L2_PIX_FMT_SQ905C,           0,      9,      9,     1 },
        /* special */
        { V4L2_PIX_FMT_SE401,            0,      8,      9,     1 },
@@ -186,8 +188,10 @@ void v4lconvert_destroy(struct v4lconvert_data *data)
                tinyjpeg_set_components(data->tinyjpeg, comps, 3);
                tinyjpeg_free(data->tinyjpeg);
        }
+#ifndef DISABLE_LIBJPEG
        if (data->cinfo_initialized)
                jpeg_destroy_decompress(&data->cinfo);
+#endif
        v4lconvert_helper_cleanup(data);
        free(data->convert1_buf);
        free(data->convert2_buf);
@@ -635,10 +639,13 @@ static int v4lconvert_convert_pixfmt(struct 
v4lconvert_data *data,
        /* JPG and variants */
        case V4L2_PIX_FMT_MJPEG:
        case V4L2_PIX_FMT_JPEG:
+#ifndef DISABLE_LIBJPEG
                if (data->flags & V4LCONVERT_USE_TINYJPEG) {
+#endif
                        result = v4lconvert_decode_jpeg_tinyjpeg(data,
                                                        src, src_size, dest,
                                                        fmt, dest_pix_fmt, 0);
+#ifndef DISABLE_LIBJPEG
                } else {
                        result = v4lconvert_decode_jpeg_libjpeg(data,
                                                        src, src_size, dest,
@@ -653,6 +660,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data 
*data,
                                                        fmt, dest_pix_fmt, 0);
                        }
                }
+#endif
                break;
        case V4L2_PIX_FMT_PJPG:
                result = v4lconvert_decode_jpeg_tinyjpeg(data, src, src_size,
@@ -778,7 +786,9 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data 
*data,
        case V4L2_PIX_FMT_SN9C10X:
        case V4L2_PIX_FMT_PAC207:
        case V4L2_PIX_FMT_MR97310A:
+#ifndef DISABLE_LIBJPEG
        case V4L2_PIX_FMT_JL2005BCD:
+#endif
        case V4L2_PIX_FMT_SN9C2028:
        case V4L2_PIX_FMT_SQ905C:
        case V4L2_PIX_FMT_STV0680: { /* Not compressed but needs some shuffling 
*/
@@ -817,6 +827,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data 
*data,
                        }
                        tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;
                        break;
+#ifndef DISABLE_LIBJPEG
                case V4L2_PIX_FMT_JL2005BCD:
                        if (v4lconvert_decode_jl2005bcd(data, src, src_size,
                                                        tmpbuf,
@@ -827,6 +838,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data 
*data,
                        }
                        tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SRGGB8;
                        break;
+#endif
                case V4L2_PIX_FMT_SN9C2028:
                        v4lconvert_decode_sn9c2028(src, tmpbuf, width, height);
                        tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to