[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd configure configure.in pnm_src/jpeg.cxx
From: |
Edward Rosten |
Subject: |
[libcvd-members] libcvd configure configure.in pnm_src/jpeg.cxx |
Date: |
Wed, 13 Feb 2008 00:30:43 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: libcvd
Changes by: Edward Rosten <edrosten> 08/02/13 00:30:43
Modified files:
. : configure configure.in
pnm_src : jpeg.cxx
Log message:
Fix to JPEG reading. Apparently it's hard to tell where the end of a
JPEG
image is. This will probably slow down JPEG reading significantly.
To enable fast JPEG reading do --with-jpegbuffer=8192
***This will prevent you from reading multiple JPEGs from a stream***
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/configure?cvsroot=libcvd&r1=1.100&r2=1.101
http://cvs.savannah.gnu.org/viewcvs/libcvd/configure.in?cvsroot=libcvd&r1=1.101&r2=1.102
http://cvs.savannah.gnu.org/viewcvs/libcvd/pnm_src/jpeg.cxx?cvsroot=libcvd&r1=1.9&r2=1.10
Patches:
Index: configure
===================================================================
RCS file: /cvsroot/libcvd/libcvd/configure,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -b -r1.100 -r1.101
--- configure 23 Aug 2007 01:33:34 -0000 1.100
+++ configure 13 Feb 2008 00:30:43 -0000 1.101
@@ -895,6 +895,7 @@
--without-threads compile without PThread support
--with-x use the X Window System
--without-jpeg compile without JPEG support
+ --with-jpegbuffer=N Set JPEG read buffer size. N>1 will not be able to
read multiple JPEGS from a stream.
--without-tiff compile without TIFF support
--with-tiff=forceold Debug/wierd build environment only. Force use of
older library facilities.
--without-png compile without PNG support
@@ -7578,6 +7579,12 @@
withval="$with_jpeg"
if test "$withval" = no; then disable_jpeg=yes; else disable_jpeg=no; fi
fi;
+
+# Check whether --with-jpegbuffer or --without-jpegbuffer was given.
+if test "${with_jpegbuffer+set}" = set; then
+ withval="$with_jpegbuffer"
+ jpegbuffersize="$withval";
+fi;
if test "$disable_jpeg" != yes
then
@@ -7813,6 +7820,33 @@
have_jpeg=yes
options="$options jpeg"
+
+ echo "$as_me:$LINENO: checking JPEG read buffer size" >&5
+echo $ECHO_N "checking JPEG read buffer size... $ECHO_C" >&6
+
+ if test "$jpegbuffersize" == yes
+ then
+ jpegbuffersize=8192
+ elif test "$jpegbuffersize" == no || test "$jpegbuffersize" ==
""
+ then
+ jpegbuffersize=1
+ fi
+
+ if test "$jpegbuffersize" -gt 1
+ then
+ echo "$as_me:$LINENO: result: $jpegbuffersize (unsafe
reading)" >&5
+echo "${ECHO_T}$jpegbuffersize (unsafe reading)" >&6;
+ dodginess_options="$dodginess_options unsafe_jpeg"
+ else
+ jpegbuffersize=1
+ echo "$as_me:$LINENO: result: 1 (safe reading)" >&5
+echo "${ECHO_T}1 (safe reading)" >&6;
+ fi
+
+ cat >>confdefs.h <<_ACEOF
+#define CVD_INTERNAL_JPEG_BUFFER_SIZE $jpegbuffersize
+_ACEOF
+
fi
fi
Index: configure.in
===================================================================
RCS file: /cvsroot/libcvd/libcvd/configure.in,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -b -r1.101 -r1.102
--- configure.in 23 Aug 2007 01:33:35 -0000 1.101
+++ configure.in 13 Feb 2008 00:30:43 -0000 1.102
@@ -915,6 +915,7 @@
#(hopefully) that it selected before libtiff is tested (libtiff may
#depend on libjpeg)
AC_ARG_WITH(jpeg, [ --without-jpeg compile without JPEG support],[if
test "$withval" = no; then disable_jpeg=yes; else disable_jpeg=no; fi])
+AC_ARG_WITH(jpegbuffer, [ --with-jpegbuffer=N Set JPEG read buffer size.
N>1 will not be able to read multiple JPEGS from a
stream.],[jpegbuffersize="$withval";])
if test "$disable_jpeg" != yes
then
AC_CHECK_HEADERS(jpeglib.h)
@@ -924,6 +925,27 @@
AC_DEFINE(CVD_IMAGE_HAVE_JPEG, [JPEG,])
AC_SUBST(have_jpeg,yes)
options="$options jpeg"
+
+ AC_MSG_CHECKING([JPEG read buffer size])
+
+ if test "$jpegbuffersize" == yes
+ then
+ jpegbuffersize=8192
+ elif test "$jpegbuffersize" == no || test "$jpegbuffersize" ==
""
+ then
+ jpegbuffersize=1
+ fi
+
+ if test "$jpegbuffersize" -gt 1
+ then
+ AC_MSG_RESULT([$jpegbuffersize (unsafe reading)]);
+ dodginess_options="$dodginess_options unsafe_jpeg"
+ else
+ jpegbuffersize=1
+ AC_MSG_RESULT([1 (safe reading)]);
+ fi
+
+ AC_DEFINE_UNQUOTED(CVD_INTERNAL_JPEG_BUFFER_SIZE,
$jpegbuffersize)
fi
fi
Index: pnm_src/jpeg.cxx
===================================================================
RCS file: /cvsroot/libcvd/libcvd/pnm_src/jpeg.cxx,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- pnm_src/jpeg.cxx 28 Nov 2005 18:59:05 -0000 1.9
+++ pnm_src/jpeg.cxx 13 Feb 2008 00:30:43 -0000 1.10
@@ -21,6 +21,7 @@
#include "cvd/internal/io/jpeg.h"
#include "cvd/image_io.h"
+#include "cvd/config.h"
using namespace std;
#include <iostream>
#include <iomanip>
@@ -36,7 +37,7 @@
istream* i;
bool eof;
- static const int bufsize=8192;
+ static const int bufsize=CVD_INTERNAL_JPEG_BUFFER_SIZE;
JOCTET buf[bufsize+2];
//Constructor
@@ -101,30 +102,8 @@
//Store the byte...
me->buf[n] = c;
-
- //ooooh! a marker!
- if(c == 0xff)
- {
- c = me->i->get();
- if(c == EOF)
- {
- me->eof = 1;
- break;
- }
-
-
- me->buf[++n] = c;
-
- if(c == JPEG_EOI)
- {
- me->eof = 1;
- break;
- }
- }
}
- //me->i->read((char*)(me->buf), bufsize);
- //me->bytes_in_buffer = me->i->gcount();
me->bytes_in_buffer = n;
if(me->i->eof())
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] libcvd configure configure.in pnm_src/jpeg.cxx,
Edward Rosten <=