mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
protect jpegint.h references
This commit is contained in:
parent
3bba5366a6
commit
16a4cc0d84
@ -474,6 +474,10 @@
|
|||||||
#define JPEG_LIBS jpeg
|
#define JPEG_LIBS jpeg
|
||||||
#defer HAVE_JPEG $[libtest $[JPEG_LPATH],$[JPEG_LIBS]]
|
#defer HAVE_JPEG $[libtest $[JPEG_LPATH],$[JPEG_LIBS]]
|
||||||
|
|
||||||
|
// Some versions of libjpeg did not provide jpegint.h. Redefine this
|
||||||
|
// to empty if you lack this header file.
|
||||||
|
#define PHAVE_JPEGINT_H 1
|
||||||
|
|
||||||
// Is libpng installed, and where?
|
// Is libpng installed, and where?
|
||||||
#define PNG_IPATH
|
#define PNG_IPATH
|
||||||
#define PNG_LPATH
|
#define PNG_LPATH
|
||||||
|
@ -280,6 +280,7 @@ $[cdefine REPORT_OPENSSL_ERRORS]
|
|||||||
|
|
||||||
/* Define if we have libjpeg installed. */
|
/* Define if we have libjpeg installed. */
|
||||||
$[cdefine HAVE_JPEG]
|
$[cdefine HAVE_JPEG]
|
||||||
|
$[cdefine PHAVE_JPEGINT_H]
|
||||||
|
|
||||||
/* Define if we have libpng installed. */
|
/* Define if we have libpng installed. */
|
||||||
$[cdefine HAVE_PNG]
|
$[cdefine HAVE_PNG]
|
||||||
|
@ -1357,6 +1357,7 @@ DTOOL_CONFIG=[
|
|||||||
("HAVE_ZLIB", 'UNDEF', 'UNDEF'),
|
("HAVE_ZLIB", 'UNDEF', 'UNDEF'),
|
||||||
("HAVE_PNG", 'UNDEF', 'UNDEF'),
|
("HAVE_PNG", 'UNDEF', 'UNDEF'),
|
||||||
("HAVE_JPEG", 'UNDEF', 'UNDEF'),
|
("HAVE_JPEG", 'UNDEF', 'UNDEF'),
|
||||||
|
("PHAVE_JPEGINT_H", '1', '1'),
|
||||||
("HAVE_TIFF", 'UNDEF', 'UNDEF'),
|
("HAVE_TIFF", 'UNDEF', 'UNDEF'),
|
||||||
("HAVE_SGI_RGB", '1', '1'),
|
("HAVE_SGI_RGB", '1', '1'),
|
||||||
("HAVE_TGA", '1', '1'),
|
("HAVE_TGA", '1', '1'),
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
|
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
|
||||||
dtoolutil:c dtoolbase:c dtool:m prc:c
|
dtoolutil:c dtoolbase:c dtool:m prc:c
|
||||||
|
|
||||||
#define USE_PACKAGES opencv artoolkit
|
#define USE_PACKAGES opencv artoolkit jpeg
|
||||||
|
|
||||||
#define BUILDING_DLL BUILDING_VISION
|
#define BUILDING_DLL BUILDING_VISION
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include <linux/videodev.h>
|
#include <linux/videodev.h>
|
||||||
#include <linux/videodev2.h>
|
#include <linux/videodev2.h>
|
||||||
|
|
||||||
#ifdef HAVE_JPEG
|
#ifdef SUPPORT_WEBCAM_VIDEO_JPEG
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <jpeglib.h>
|
#include <jpeglib.h>
|
||||||
#include <jpegint.h>
|
#include <jpegint.h>
|
||||||
@ -59,7 +59,7 @@ INLINE static void yuyv_to_rgbargba(unsigned char *dest, const unsigned char *sr
|
|||||||
dest[7] = (unsigned char) -1;
|
dest[7] = (unsigned char) -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_JPEG) && !defined(CPPPARSER)
|
#if defined(SUPPORT_WEBCAM_VIDEO_JPEG) && !defined(CPPPARSER)
|
||||||
|
|
||||||
struct my_error_mgr {
|
struct my_error_mgr {
|
||||||
struct jpeg_error_mgr pub;
|
struct jpeg_error_mgr pub;
|
||||||
@ -151,7 +151,7 @@ WebcamVideoCursorV4L(WebcamVideoV4L *src) : MovieVideoCursor(src) {
|
|||||||
_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||||
pvector<uint32_t>::iterator it;
|
pvector<uint32_t>::iterator it;
|
||||||
for (it = src->_pformats.begin(); it != src->_pformats.end(); ++it) {
|
for (it = src->_pformats.begin(); it != src->_pformats.end(); ++it) {
|
||||||
#ifdef HAVE_JPEG
|
#ifdef SUPPORT_WEBCAM_VIDEO_JPEG
|
||||||
if (*it == V4L2_PIX_FMT_MJPEG) {
|
if (*it == V4L2_PIX_FMT_MJPEG) {
|
||||||
_format->fmt.pix.pixelformat = *it;
|
_format->fmt.pix.pixelformat = *it;
|
||||||
break;
|
break;
|
||||||
@ -238,7 +238,7 @@ WebcamVideoCursorV4L(WebcamVideoV4L *src) : MovieVideoCursor(src) {
|
|||||||
vision_cat.error() << "Failed to stream from buffer!\n";
|
vision_cat.error() << "Failed to stream from buffer!\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_JPEG
|
#ifdef SUPPORT_WEBCAM_VIDEO_JPEG
|
||||||
// Initialize the JPEG library, if necessary
|
// Initialize the JPEG library, if necessary
|
||||||
if (_format->fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG) {
|
if (_format->fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG) {
|
||||||
_cinfo = (struct jpeg_decompress_struct *) malloc(sizeof(struct jpeg_decompress_struct));
|
_cinfo = (struct jpeg_decompress_struct *) malloc(sizeof(struct jpeg_decompress_struct));
|
||||||
@ -265,7 +265,7 @@ WebcamVideoCursorV4L(WebcamVideoV4L *src) : MovieVideoCursor(src) {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
WebcamVideoCursorV4L::
|
WebcamVideoCursorV4L::
|
||||||
~WebcamVideoCursorV4L() {
|
~WebcamVideoCursorV4L() {
|
||||||
#ifdef HAVE_JPEG
|
#ifdef SUPPORT_WEBCAM_VIDEO_JPEG
|
||||||
if (_cinfo != NULL) {
|
if (_cinfo != NULL) {
|
||||||
jpeg_destroy_decompress(_cinfo);
|
jpeg_destroy_decompress(_cinfo);
|
||||||
free(_cinfo);
|
free(_cinfo);
|
||||||
@ -316,7 +316,7 @@ fetch_into_buffer(double time, unsigned char *block, bool bgra) {
|
|||||||
unsigned char *buf = (unsigned char *) _buffers[vbuf.index];
|
unsigned char *buf = (unsigned char *) _buffers[vbuf.index];
|
||||||
|
|
||||||
if (_format->fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG) {
|
if (_format->fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG) {
|
||||||
#ifdef HAVE_JPEG
|
#ifdef SUPPORT_WEBCAM_VIDEO_JPEG
|
||||||
nassertv(!bgra);
|
nassertv(!bgra);
|
||||||
struct my_error_mgr jerr;
|
struct my_error_mgr jerr;
|
||||||
_cinfo->err = jpeg_std_error(&jerr.pub);
|
_cinfo->err = jpeg_std_error(&jerr.pub);
|
||||||
|
@ -22,7 +22,10 @@
|
|||||||
#include "webcamVideo.h"
|
#include "webcamVideo.h"
|
||||||
|
|
||||||
struct v4l2_format;
|
struct v4l2_format;
|
||||||
#ifdef HAVE_JPEG
|
|
||||||
|
// We can only decode a motion-jpeg stream if we have jpegint.h.
|
||||||
|
#if defined(HAVE_JPEG) && defined(PHAVE_JPEGINT_H)
|
||||||
|
#define SUPPORT_WEBCAM_VIDEO_JPEG 1
|
||||||
struct jpeg_decompress_struct;
|
struct jpeg_decompress_struct;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user