202d4e059f
a number of different sources and perform simple manipulation on the captured image. The image can be saved as one or more PNG or JPEG files. Works with uvideo(4). OK robert@
194 lines
5.9 KiB
Plaintext
194 lines
5.9 KiB
Plaintext
--- videodev.h.orig Sat May 24 19:21:21 2008
|
|
+++ videodev.h Sat May 24 19:15:57 2008
|
|
@@ -1,8 +1,7 @@
|
|
#ifndef __LINUX_VIDEODEV_H
|
|
#define __LINUX_VIDEODEV_H
|
|
|
|
-#include <linux/types.h>
|
|
-#include <linux/version.h>
|
|
+#include <sys/types.h>
|
|
|
|
#define VID_TYPE_CAPTURE 1 /* Can capture */
|
|
#define VID_TYPE_TUNER 2 /* Can tune */
|
|
@@ -37,13 +36,13 @@ struct video_channel
|
|
int channel;
|
|
char name[32];
|
|
int tuners;
|
|
- __u32 flags;
|
|
+ uint32_t flags;
|
|
#define VIDEO_VC_TUNER 1 /* Channel has a tuner */
|
|
#define VIDEO_VC_AUDIO 2 /* Channel has audio */
|
|
- __u16 type;
|
|
+ uint16_t type;
|
|
#define VIDEO_TYPE_TV 1
|
|
#define VIDEO_TYPE_CAMERA 2
|
|
- __u16 norm; /* Norm set by channel */
|
|
+ uint16_t norm; /* Norm set by channel */
|
|
};
|
|
|
|
struct video_tuner
|
|
@@ -51,7 +50,7 @@ struct video_tuner
|
|
int tuner;
|
|
char name[32];
|
|
ulong rangelow, rangehigh; /* Tuner range */
|
|
- __u32 flags;
|
|
+ uint32_t flags;
|
|
#define VIDEO_TUNER_PAL 1
|
|
#define VIDEO_TUNER_NTSC 2
|
|
#define VIDEO_TUNER_SECAM 4
|
|
@@ -60,23 +59,23 @@ struct video_tuner
|
|
#define VIDEO_TUNER_STEREO_ON 128 /* Tuner is seeing stereo */
|
|
#define VIDEO_TUNER_RDS_ON 256 /* Tuner is seeing an RDS datastream */
|
|
#define VIDEO_TUNER_MBS_ON 512 /* Tuner is seeing an MBS datastream */
|
|
- __u16 mode; /* PAL/NTSC/SECAM/OTHER */
|
|
+ uint16_t mode; /* PAL/NTSC/SECAM/OTHER */
|
|
#define VIDEO_MODE_PAL 0
|
|
#define VIDEO_MODE_NTSC 1
|
|
#define VIDEO_MODE_SECAM 2
|
|
#define VIDEO_MODE_AUTO 3
|
|
- __u16 signal; /* Signal strength 16bit scale */
|
|
+ uint16_t signal; /* Signal strength 16bit scale */
|
|
};
|
|
|
|
struct video_picture
|
|
{
|
|
- __u16 brightness;
|
|
- __u16 hue;
|
|
- __u16 colour;
|
|
- __u16 contrast;
|
|
- __u16 whiteness; /* Black and white only */
|
|
- __u16 depth; /* Capture depth */
|
|
- __u16 palette; /* Palette in use */
|
|
+ uint16_t brightness;
|
|
+ uint16_t hue;
|
|
+ uint16_t colour;
|
|
+ uint16_t contrast;
|
|
+ uint16_t whiteness; /* Black and white only */
|
|
+ uint16_t depth; /* Capture depth */
|
|
+ uint16_t palette; /* Palette in use */
|
|
#define VIDEO_PALETTE_GREY 1 /* Linear greyscale */
|
|
#define VIDEO_PALETTE_HI240 2 /* High 240 cube (BT848) */
|
|
#define VIDEO_PALETTE_RGB565 3 /* 565 16 bit RGB */
|
|
@@ -100,9 +99,9 @@ struct video_picture
|
|
struct video_audio
|
|
{
|
|
int audio; /* Audio channel */
|
|
- __u16 volume; /* If settable */
|
|
- __u16 bass, treble;
|
|
- __u32 flags;
|
|
+ uint16_t volume; /* If settable */
|
|
+ uint16_t bass, treble;
|
|
+ uint32_t flags;
|
|
#define VIDEO_AUDIO_MUTE 1
|
|
#define VIDEO_AUDIO_MUTABLE 2
|
|
#define VIDEO_AUDIO_VOLUME 4
|
|
@@ -113,24 +112,24 @@ struct video_audio
|
|
#define VIDEO_SOUND_STEREO 2
|
|
#define VIDEO_SOUND_LANG1 4
|
|
#define VIDEO_SOUND_LANG2 8
|
|
- __u16 mode;
|
|
- __u16 balance; /* Stereo balance */
|
|
- __u16 step; /* Step actual volume uses */
|
|
+ uint16_t mode;
|
|
+ uint16_t balance; /* Stereo balance */
|
|
+ uint16_t step; /* Step actual volume uses */
|
|
};
|
|
|
|
struct video_clip
|
|
{
|
|
- __s32 x,y;
|
|
- __s32 width, height;
|
|
+ int32_t x,y;
|
|
+ int32_t width, height;
|
|
struct video_clip *next; /* For user use/driver use only */
|
|
};
|
|
|
|
struct video_window
|
|
{
|
|
- __u32 x,y; /* Position of window */
|
|
- __u32 width,height; /* Its size */
|
|
- __u32 chromakey;
|
|
- __u32 flags;
|
|
+ uint32_t x,y; /* Position of window */
|
|
+ uint32_t width,height; /* Its size */
|
|
+ uint32_t chromakey;
|
|
+ uint32_t flags;
|
|
struct video_clip *clips; /* Set only */
|
|
int clipcount;
|
|
#define VIDEO_WINDOW_INTERLACE 1
|
|
@@ -142,10 +141,10 @@ struct video_window
|
|
|
|
struct video_capture
|
|
{
|
|
- __u32 x,y; /* Offsets into image */
|
|
- __u32 width, height; /* Area to capture */
|
|
- __u16 decimation; /* Decimation divder */
|
|
- __u16 flags; /* Flags for capture */
|
|
+ uint32_t x,y; /* Offsets into image */
|
|
+ uint32_t width, height; /* Area to capture */
|
|
+ uint16_t decimation; /* Decimation divder */
|
|
+ uint16_t flags; /* Flags for capture */
|
|
#define VIDEO_CAPTURE_ODD 0 /* Temporal */
|
|
#define VIDEO_CAPTURE_EVEN 1
|
|
};
|
|
@@ -167,8 +166,8 @@ struct video_mmap
|
|
|
|
struct video_key
|
|
{
|
|
- __u8 key[8];
|
|
- __u32 flags;
|
|
+ uint8_t key[8];
|
|
+ uint32_t flags;
|
|
};
|
|
|
|
|
|
@@ -195,12 +194,12 @@ struct video_unit
|
|
};
|
|
|
|
struct vbi_format {
|
|
- __u32 sampling_rate; /* in Hz */
|
|
- __u32 samples_per_line;
|
|
- __u32 sample_format; /* VIDEO_PALETTE_RAW only (1 byte) */
|
|
- __s32 start[2]; /* starting line for each frame */
|
|
- __u32 count[2]; /* count of lines for each frame */
|
|
- __u32 flags;
|
|
+ uint32_t sampling_rate; /* in Hz */
|
|
+ uint32_t samples_per_line;
|
|
+ uint32_t sample_format; /* VIDEO_PALETTE_RAW only (1 byte) */
|
|
+ int32_t start[2]; /* starting line for each frame */
|
|
+ uint32_t count[2]; /* count of lines for each frame */
|
|
+ uint32_t flags;
|
|
#define VBI_UNSYNC 1 /* can distingues between top/bottom field */
|
|
#define VBI_INTERLACED 2 /* lines are interlaced */
|
|
};
|
|
@@ -209,13 +208,13 @@ struct vbi_format {
|
|
/* but it could apply generically to any hardware compressor/decompressor */
|
|
struct video_info
|
|
{
|
|
- __u32 frame_count; /* frames output since decode/encode began */
|
|
- __u32 h_size; /* current unscaled horizontal size */
|
|
- __u32 v_size; /* current unscaled veritcal size */
|
|
- __u32 smpte_timecode; /* current SMPTE timecode (for current GOP) */
|
|
- __u32 picture_type; /* current picture type */
|
|
- __u32 temporal_reference; /* current temporal reference */
|
|
- __u8 user_data[256]; /* user data last found in compressed stream */
|
|
+ uint32_t frame_count; /* frames output since decode/encode began */
|
|
+ uint32_t h_size; /* current unscaled horizontal size */
|
|
+ uint32_t v_size; /* current unscaled veritcal size */
|
|
+ uint32_t smpte_timecode; /* current SMPTE timecode (for current GOP) */
|
|
+ uint32_t picture_type; /* current picture type */
|
|
+ uint32_t temporal_reference; /* current temporal reference */
|
|
+ uint8_t user_data[256]; /* user data last found in compressed stream */
|
|
/* user_data[0] contains user data flags, user_data[1] has count */
|
|
};
|
|
|
|
@@ -232,7 +231,7 @@ struct video_code
|
|
{
|
|
char loadwhat[16]; /* name or tag of file being passed */
|
|
int datasize;
|
|
- __u8 *data;
|
|
+ uint8_t *data;
|
|
};
|
|
|
|
#define VIDIOCGCAP _IOR('v',1,struct video_capability) /* Get capabilities */
|