21d2f3904e
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/libunicap#bb13498601ae2ecb469a06711989f07bcdb3cde0
434 lines
14 KiB
Diff
434 lines
14 KiB
Diff
cpi/dcam/dcam_capture.c | 8 ----
|
|
cpi/dcam/dcam_property.c | 2 -
|
|
cpi/euvccam/debayer.c | 5 ---
|
|
cpi/euvccam/euvccam_colorproc.c | 2 +
|
|
cpi/euvccam/euvccam_cpi.c | 2 +
|
|
cpi/euvccam/euvccam_device.c | 2 +-
|
|
cpi/euvccam/euvccam_usb.c | 1 +
|
|
cpi/euvccam/logging.c | 1 +
|
|
cpi/v4l2cpi/buffermanager.c | 19 +---------
|
|
cpi/v4l2cpi/tiseuvccam.c | 2 +
|
|
cpi/v4l2cpi/tisuvccam.c | 31 +---------------
|
|
cpi/v4l2cpi/v4l2.c | 74 +--------------------------------------
|
|
cpi/vid21394/vid21394_base.c | 3 +-
|
|
src/unicap_helpers.c | 2 +-
|
|
14 files changed, 16 insertions(+), 138 deletions(-)
|
|
|
|
diff --git a/cpi/dcam/dcam_capture.c b/cpi/dcam/dcam_capture.c
|
|
index f92f757..068a78f 100644
|
|
--- a/cpi/dcam/dcam_capture.c
|
|
+++ b/cpi/dcam/dcam_capture.c
|
|
@@ -60,14 +60,6 @@ static void new_frame_event( dcam_handle_t dcamhandle, unicap_data_buffer_t *buf
|
|
}
|
|
}
|
|
|
|
-static void drop_frame_event( dcam_handle_t dcamhandle )
|
|
-{
|
|
- if( dcamhandle->event_callback )
|
|
- {
|
|
- dcamhandle->event_callback( dcamhandle->unicap_handle, UNICAP_EVENT_NEW_FRAME );
|
|
- }
|
|
-}
|
|
-
|
|
static void cleanup_handler( void *arg )
|
|
{
|
|
TRACE( "cleanup_handler\n" );
|
|
diff --git a/cpi/dcam/dcam_property.c b/cpi/dcam/dcam_property.c
|
|
index 8199162..6bf1dff 100644
|
|
--- a/cpi/dcam/dcam_property.c
|
|
+++ b/cpi/dcam/dcam_property.c
|
|
@@ -1017,7 +1017,6 @@ unicap_status_t dcam_init_trigger_property( dcam_handle_t dcamhandle,
|
|
// TRIGGER_POLARITY
|
|
if( ( dcam_property->register_inq >> 26 ) & 0x1 )
|
|
{
|
|
- int i;
|
|
strcpy( dcam_property->unicap_property.menu_item, dcamhandle->trigger_polarities[( dcam_property->register_default >> 26 ) & 1] );
|
|
dcam_property->unicap_property.menu.menu_item_count = 2;
|
|
dcam_property->unicap_property.menu.menu_items = dcamhandle->trigger_polarities;
|
|
@@ -1430,7 +1429,6 @@ unicap_status_t dcam_set_property( dcam_handle_t dcamhandle,
|
|
|
|
case PPTY_TYPE_TRIGGER_POLARITY:
|
|
{
|
|
- int i;
|
|
quadlet_t quad = 0;
|
|
|
|
status = _dcam_read_register( dcamhandle->raw1394handle,
|
|
diff --git a/cpi/euvccam/debayer.c b/cpi/euvccam/debayer.c
|
|
index 1f0bffc..4e04506 100644
|
|
--- a/cpi/euvccam/debayer.c
|
|
+++ b/cpi/euvccam/debayer.c
|
|
@@ -88,7 +88,6 @@ void debayer_calculate_rbgain( unicap_data_buffer_t *buffer, int *rgain, int *bg
|
|
void debayer_ccm_rgb24_nn( unicap_data_buffer_t *destbuf, unicap_data_buffer_t *srcbuf, debayer_data_t *data )
|
|
{
|
|
int i, j;
|
|
- int dest_offset = 0;
|
|
unsigned char *dest = destbuf->data;
|
|
unsigned char *source = srcbuf->data;
|
|
int width = srcbuf->format.size.width;
|
|
@@ -159,15 +158,12 @@ void debayer_ccm_rgb24_nn( unicap_data_buffer_t *destbuf, unicap_data_buffer_t *
|
|
void debayer_ccm_rgb24_nn_be( unicap_data_buffer_t *destbuf, unicap_data_buffer_t *srcbuf, debayer_data_t *data )
|
|
{
|
|
int i, j;
|
|
- int dest_offset = 0;
|
|
unsigned char *dest = destbuf->data;
|
|
unsigned char *source = srcbuf->data;
|
|
int width = srcbuf->format.size.width;
|
|
int height = srcbuf->format.size.height;
|
|
int rgain, bgain;
|
|
|
|
- static int odd = 0;
|
|
-
|
|
if( data->use_rbgain )
|
|
{
|
|
rgain = data->rgain;
|
|
@@ -242,7 +238,6 @@ void debayer_ccm_rgb24_nn_be( unicap_data_buffer_t *destbuf, unicap_data_buffer_
|
|
void debayer_ccm_rgb24_gr_nn( unicap_data_buffer_t *destbuf, unicap_data_buffer_t *srcbuf, debayer_data_t *data )
|
|
{
|
|
int i, j;
|
|
- int dest_offset = 0;
|
|
unsigned char *dest = destbuf->data;
|
|
unsigned char *source = srcbuf->data;
|
|
int width = srcbuf->format.size.width;
|
|
diff --git a/cpi/euvccam/euvccam_colorproc.c b/cpi/euvccam/euvccam_colorproc.c
|
|
index 807ae65..adf98c3 100644
|
|
--- a/cpi/euvccam/euvccam_colorproc.c
|
|
+++ b/cpi/euvccam/euvccam_colorproc.c
|
|
@@ -21,6 +21,8 @@
|
|
#include "euvccam_cpi.h"
|
|
#include "debayer.h"
|
|
|
|
+#include <string.h>
|
|
+
|
|
void euvccam_colorproc_by8_rgb24_nn( euvccam_handle_t handle, unicap_data_buffer_t *dest, unicap_data_buffer_t *src )
|
|
{
|
|
#ifdef __SSE2__
|
|
diff --git a/cpi/euvccam/euvccam_cpi.c b/cpi/euvccam/euvccam_cpi.c
|
|
index 73d413a..8e39343 100644
|
|
--- a/cpi/euvccam/euvccam_cpi.c
|
|
+++ b/cpi/euvccam/euvccam_cpi.c
|
|
@@ -94,6 +94,8 @@ static struct _unicap_cpi cpi_s =
|
|
cpi_set_event_notify: (cpi_set_event_notify_t)euvccam_set_event_notify,
|
|
};
|
|
|
|
+void log_init( void );
|
|
+
|
|
unicap_status_t cpi_register( struct _unicap_cpi *reg_data )
|
|
{
|
|
memcpy( reg_data, &cpi_s, sizeof( struct _unicap_cpi ) );
|
|
diff --git a/cpi/euvccam/euvccam_device.c b/cpi/euvccam/euvccam_device.c
|
|
index 73a2be3..7168cdf 100644
|
|
--- a/cpi/euvccam/euvccam_device.c
|
|
+++ b/cpi/euvccam/euvccam_device.c
|
|
@@ -788,7 +788,7 @@ unicap_status_t euvccam_device_set_gpout( euvccam_handle_t handle, unicap_proper
|
|
unicap_status_t status = STATUS_SUCCESS;
|
|
unsigned char val = (property->flags & UNICAP_FLAGS_ON_OFF)?1:0;
|
|
|
|
- printf( "%lld %d\n", property->flags, val );
|
|
+ printf( "%lld %d\n", (long long int) property->flags, val );
|
|
|
|
status = euvccam_usb_ctrl_msg( handle->dev.fd,
|
|
EP0_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
|
|
diff --git a/cpi/euvccam/euvccam_usb.c b/cpi/euvccam/euvccam_usb.c
|
|
index 4059c9e..fcff74b 100644
|
|
--- a/cpi/euvccam/euvccam_usb.c
|
|
+++ b/cpi/euvccam/euvccam_usb.c
|
|
@@ -24,6 +24,7 @@
|
|
#include <fcntl.h>
|
|
#include <sys/ioctl.h>
|
|
#include <unicap.h>
|
|
+#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
#include <linux/usbdevice_fs.h>
|
|
diff --git a/cpi/euvccam/logging.c b/cpi/euvccam/logging.c
|
|
index 065501e..7b98daa 100644
|
|
--- a/cpi/euvccam/logging.c
|
|
+++ b/cpi/euvccam/logging.c
|
|
@@ -21,6 +21,7 @@
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
+#include <string.h>
|
|
|
|
FILE *g_logfp = NULL;
|
|
int g_log_modules_mask = 0xffff;
|
|
diff --git a/cpi/v4l2cpi/buffermanager.c b/cpi/v4l2cpi/buffermanager.c
|
|
index 7c0cbae..64cb57f 100644
|
|
--- a/cpi/v4l2cpi/buffermanager.c
|
|
+++ b/cpi/v4l2cpi/buffermanager.c
|
|
@@ -21,6 +21,8 @@
|
|
#define MAX_BUFFERS 16
|
|
|
|
#if USE_LIBV4L
|
|
+# include <libv4l2.h>
|
|
+
|
|
#define OPEN v4l2_open
|
|
#define CLOSE v4l2_close
|
|
#define IOCTL v4l2_ioctl
|
|
@@ -60,8 +62,6 @@ struct buffer_mgr
|
|
|
|
#define BUFFER_MGR_UNLOCK(mgr) { sem_post( &mgr->lock); }
|
|
|
|
-static v4l2cpi_buffer_t *buffer_mgr_get_cpi_buffer( buffer_mgr_t mgr, unicap_data_buffer_t *buffer );
|
|
-
|
|
|
|
static void v4l2_data_buffer_unref( unicap_data_buffer_t *buffer, buffer_mgr_t mgr )
|
|
{
|
|
@@ -167,21 +167,6 @@ void buffer_mgr_destroy( buffer_mgr_t mgr )
|
|
}
|
|
|
|
|
|
-static v4l2cpi_buffer_t *buffer_mgr_get_cpi_buffer( buffer_mgr_t mgr, unicap_data_buffer_t *buffer )
|
|
-{
|
|
- int i;
|
|
-
|
|
- for( i = 0; i < mgr->num_buffers; i++ ){
|
|
- if (&mgr->buffers[i].data_buffer == buffer){
|
|
- return &mgr->buffers[i];
|
|
- }
|
|
- }
|
|
-
|
|
- return NULL;
|
|
-}
|
|
-
|
|
-
|
|
-
|
|
unicap_status_t buffer_mgr_queue_all( buffer_mgr_t mgr )
|
|
{
|
|
int i;
|
|
diff --git a/cpi/v4l2cpi/tiseuvccam.c b/cpi/v4l2cpi/tiseuvccam.c
|
|
index 93729a5..72a3515 100644
|
|
--- a/cpi/v4l2cpi/tiseuvccam.c
|
|
+++ b/cpi/v4l2cpi/tiseuvccam.c
|
|
@@ -37,6 +37,8 @@
|
|
#define FOURCC(a,b,c,d) (unsigned int)((((unsigned int)d)<<24)+(((unsigned int)c)<<16)+(((unsigned int)b)<<8)+a)
|
|
|
|
#if USE_LIBV4L
|
|
+# include <libv4l2.h>
|
|
+
|
|
#define OPEN v4l2_open
|
|
#define CLOSE v4l2_close
|
|
#define IOCTL v4l2_ioctl
|
|
diff --git a/cpi/v4l2cpi/tisuvccam.c b/cpi/v4l2cpi/tisuvccam.c
|
|
index 62ee147..029b48d 100644
|
|
--- a/cpi/v4l2cpi/tisuvccam.c
|
|
+++ b/cpi/v4l2cpi/tisuvccam.c
|
|
@@ -39,6 +39,8 @@
|
|
|
|
|
|
#if USE_LIBV4L
|
|
+# include <libv4l2.h>
|
|
+
|
|
#define OPEN v4l2_open
|
|
#define CLOSE v4l2_close
|
|
#define IOCTL v4l2_ioctl
|
|
@@ -358,18 +360,6 @@ static struct ppty_info TISUVCPropertyOverrides[] =
|
|
}
|
|
};
|
|
|
|
-static struct uvc_format TISUVCFormats[] =
|
|
-{
|
|
- {
|
|
- type: V4L2_BUF_TYPE_VIDEO_CAPTURE,
|
|
- bpp: 8,
|
|
- colorspace: 0,
|
|
- fcc: FOURCC( 'Y', '8', '0', '0' ),
|
|
- flags: 0,
|
|
- name: "30303859-0000-0010-8000-00aa003",
|
|
- }
|
|
-};
|
|
-
|
|
static void tisuvccam_add_controls( int fd )
|
|
{
|
|
int i;
|
|
@@ -404,21 +394,6 @@ static void tisuvccam_add_controls( int fd )
|
|
}
|
|
}
|
|
|
|
-static void tisuvccam_add_formats( int fd )
|
|
-{
|
|
-/* int i; */
|
|
-/* int n = sizeof( TISUVCFormats ) / sizeof( struct uvc_format ); */
|
|
-
|
|
-/* for( i = 0; i < n; i++ ) */
|
|
-/* { */
|
|
-/* if( ioctl( fd, UVCIOC_FMT_SET, &TISUVCFormats[i] ) < 0 ) */
|
|
-/* { */
|
|
-/* TRACE( "Failed to set format info for %d\n", i ); */
|
|
-/* } */
|
|
-/* } */
|
|
-}
|
|
-
|
|
-
|
|
|
|
int tisuvccam_probe( v4l2_handle_t handle, const char *path )
|
|
{
|
|
@@ -661,8 +636,6 @@ unicap_status_t tisuvccam_set_property( v4l2_handle_t handle, unicap_property_t
|
|
{
|
|
case XU_AUTO_SHUTTER_MAX:
|
|
{
|
|
- struct uvc_xu_control autoctrl;
|
|
- __u8 u8data;
|
|
|
|
/* u8data = ( property->flags & UNICAP_FLAGS_AUTO ) ? 1 : 0; */
|
|
|
|
diff --git a/cpi/v4l2cpi/v4l2.c b/cpi/v4l2cpi/v4l2.c
|
|
index 925659c..a8e0c92 100644
|
|
--- a/cpi/v4l2cpi/v4l2.c
|
|
+++ b/cpi/v4l2cpi/v4l2.c
|
|
@@ -252,7 +252,6 @@ static unicap_status_t v4l2_set_event_notify( void *cpi_data,
|
|
unicap_handle_t unicap_handle );
|
|
|
|
static unicap_status_t queue_buffer( v4l2_handle_t handle, unicap_data_buffer_t *buffer );
|
|
-static unicap_status_t queue_system_buffers( v4l2_handle_t handle );
|
|
static void v4l2_capture_thread( v4l2_handle_t handle );
|
|
|
|
static struct _unicap_cpi cpi_s =
|
|
@@ -1440,7 +1439,7 @@ static unicap_status_t add_properties_ext( v4l2_handle_t handle, int *ppty_index
|
|
int ret;
|
|
|
|
v4l2ctrl.id = V4L2_CTRL_FLAG_NEXT_CTRL;
|
|
- while( ret = IOCTL( handle->fd, VIDIOC_QUERYCTRL, &v4l2ctrl ) == 0 )
|
|
+ while(( ret = IOCTL( handle->fd, VIDIOC_QUERYCTRL, &v4l2ctrl ) == 0 ))
|
|
{
|
|
TRACE( "++%s++\n", v4l2ctrl.name );
|
|
|
|
@@ -1918,7 +1917,6 @@ static unicap_status_t v4l2_get_property( void *cpi_data, unicap_property_t *pro
|
|
static unicap_status_t v4l2_capture_start( void *cpi_data )
|
|
{
|
|
v4l2_handle_t handle = (v4l2_handle_t) cpi_data;
|
|
- struct v4l2_requestbuffers v4l2_reqbuf;
|
|
|
|
unicap_status_t status = STATUS_SUCCESS;
|
|
|
|
@@ -1952,7 +1950,6 @@ static unicap_status_t v4l2_capture_stop( void *cpi_data )
|
|
v4l2_handle_t handle = (v4l2_handle_t) cpi_data;
|
|
|
|
int type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
- int i;
|
|
|
|
TRACE( "v4l2_capture_stop\n" );
|
|
|
|
@@ -2069,69 +2066,6 @@ static unicap_status_t queue_buffer( v4l2_handle_t handle, unicap_data_buffer_t
|
|
return STATUS_SUCCESS;
|
|
}
|
|
|
|
-static unicap_status_t queue_system_buffers( v4l2_handle_t handle )
|
|
-{
|
|
- struct v4l2_buffer v4l2_buffer;
|
|
- memset( &v4l2_buffer, 0x0, sizeof( v4l2_buffer ) );
|
|
- v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
- v4l2_buffer.length = handle->current_format.buffer_size;
|
|
- switch( handle->io_method )
|
|
- {
|
|
- case CPI_V4L2_IO_METHOD_MMAP:
|
|
- {
|
|
- int i;
|
|
- v4l2_buffer.index = 0;
|
|
- v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
- v4l2_buffer.memory = V4L2_MEMORY_MMAP;
|
|
-
|
|
- if( sem_wait( &handle->sema ) )
|
|
- {
|
|
- TRACE( "SEM_WAIT FAILED!\n" );
|
|
- return STATUS_FAILURE;
|
|
- }
|
|
-
|
|
- for( i = 0; i < handle->buffer_count; i++ )
|
|
- {
|
|
- int ret;
|
|
- if( ( ( handle->qindex + 1 ) % handle->buffer_count ) == handle->dqindex )
|
|
- {
|
|
- TRACE( "NO BUFFERS\n" );
|
|
- sem_post( &handle->sema );
|
|
- return STATUS_NO_BUFFERS;
|
|
- }
|
|
-
|
|
- v4l2_buffer.index = handle->qindex;
|
|
- TRACE( "Q: index = %d type = %u, memory = %u dqindex = %d\n", handle->qindex, v4l2_buffer.type, v4l2_buffer.memory, handle->dqindex );
|
|
- handle->qindex = ( handle->qindex + 1 ) % handle->buffer_count;
|
|
- v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
-
|
|
- if( ( ret = IOCTL( handle->fd, VIDIOC_QBUF, &v4l2_buffer ) ) < 0 )
|
|
- {
|
|
- if( ( ret == -ENODEV ) && !handle->removed && handle->event_callback )
|
|
- {
|
|
- handle->event_callback( handle->unicap_handle, UNICAP_EVENT_DEVICE_REMOVED );
|
|
- handle->removed = 1;
|
|
- }
|
|
- TRACE( "VIDIOC_QBUF ioctl failed: %s\n", strerror( errno ) );
|
|
- sem_post( &handle->sema );
|
|
- return STATUS_FAILURE;
|
|
- }
|
|
-
|
|
- if( sem_post( &handle->sema ) )
|
|
- {
|
|
- TRACE( "SEM_POST FAILED\n" );
|
|
- return STATUS_FAILURE;
|
|
- }
|
|
- }
|
|
- }
|
|
- break;
|
|
- default:
|
|
- return STATUS_FAILURE;
|
|
- }
|
|
-
|
|
- return STATUS_SUCCESS;
|
|
-}
|
|
-
|
|
static unicap_status_t v4l2_queue_buffer( void *cpi_data, unicap_data_buffer_t *buffer )
|
|
{
|
|
v4l2_handle_t handle = (v4l2_handle_t) cpi_data;
|
|
@@ -2231,17 +2165,11 @@ static unicap_status_t v4l2_set_event_notify( void *cpi_data, unicap_event_callb
|
|
|
|
static void v4l2_capture_thread( v4l2_handle_t handle )
|
|
{
|
|
- unicap_data_buffer_t new_frame_buffer;
|
|
-
|
|
handle->dqindex = -1;
|
|
|
|
while( !handle->quit_capture_thread )
|
|
{
|
|
- unicap_queue_t *entry;
|
|
- struct timeval ctime;
|
|
- int old_index;
|
|
int drop = 0;
|
|
- int ret = 0;
|
|
|
|
unicap_data_buffer_t *data_buffer;
|
|
|
|
diff --git a/cpi/vid21394/vid21394_base.c b/cpi/vid21394/vid21394_base.c
|
|
index 2ba576d..8339845 100644
|
|
--- a/cpi/vid21394/vid21394_base.c
|
|
+++ b/cpi/vid21394/vid21394_base.c
|
|
@@ -1333,7 +1333,7 @@ unicap_status_t vid21394_rs232_io( vid21394handle_t vid21394handle,
|
|
|
|
/* TRACE( "rs232io fcp: %08llx out_data_length: %d, in_data_length: %d\n", fcp, out_data_length, in_data_length ); */
|
|
|
|
- return( _vid21394_send_fcp_command_new( vid21394handle, fcp, bit, out_data, out_data_length, in_data, (unsigned int *)&in_data_length ) );
|
|
+ return( _vid21394_send_fcp_command_new( vid21394handle, fcp, bit, out_data, out_data_length, in_data, (size_t *)&in_data_length ) );
|
|
}
|
|
|
|
unicap_status_t vid21394_read_rs232( vid21394handle_t vid21394handle,
|
|
@@ -1629,7 +1629,6 @@ int vid21394_wait_buffer( vid21394handle_t vid21394handle, void **buffer )
|
|
*/
|
|
int vid21394_poll_buffer( vid21394handle_t vid21394handle )
|
|
{
|
|
- int buffers = 0;
|
|
/* unicap_queue_t *entry = &vid21394handle->ready_buffers; */
|
|
|
|
/* while( entry->next ) */
|
|
diff --git a/src/unicap_helpers.c b/src/unicap_helpers.c
|
|
index 67578ac..ae73f5a 100644
|
|
--- a/src/unicap_helpers.c
|
|
+++ b/src/unicap_helpers.c
|
|
@@ -292,7 +292,7 @@ unicap_status_t unicap_describe_property( unicap_property_t *property, char *buf
|
|
property->range.min,
|
|
property->range.max,
|
|
property->stepping,
|
|
- property->property_data_size );
|
|
+ (int) property->property_data_size );
|
|
|
|
strncpy( buffer, tmp_buffer, *buffer_size );
|
|
|