annotate libvo/videodev_mjpeg.h @ 28063:a318969a4f45

Set the base size window manager hint, otherwise some subtract the minimum size of 4x4 from the numbers displayed to the user which might be confusing. Based on patch by Bert Wesarg [bert wesarg googlemail com].
author reimar
date Fri, 05 Dec 2008 19:01:49 +0000
parents 0585db9f5b32
children 7681eab10aea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4669
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
1 /* These are the MJPEG API extensions for the Video4Linux API,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
2 first introduced by the Iomega Buz driver by Rainer Johanni
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
3 <rainer@johanni.de>
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
4 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
5
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
6 #ifndef MPLAYER_VIDEODEV_MJPEG_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
7 #define MPLAYER_VIDEODEV_MJPEG_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 4669
diff changeset
8
26162
0585db9f5b32 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
9 #include <stdlib.h>
0585db9f5b32 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
10
4669
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
11 /* This is identical with the mgavideo internal params struct,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
12 please tell me if you change this struct here ! <gz@lysator.liu.se) */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
13 struct mjpeg_params
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
14 {
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
15
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
16 /* The following parameters can only be queried */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
17
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
18 int major_version; /* Major version number of driver */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
19 int minor_version; /* Minor version number of driver */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
20
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
21 /* Main control parameters */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
22
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
23 int input; /* Input channel: 0 = Composite, 1 = S-VHS */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
24 int norm; /* Norm: VIDEO_MODE_PAL or VIDEO_MODE_NTSC */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
25 int decimation; /* decimation of captured video,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
26 enlargement of video played back.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
27 Valid values are 1, 2, 4 or 0.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
28 0 is a special value where the user
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
29 has full control over video scaling */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
30
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
31 /* The following parameters only have to be set if decimation==0,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
32 for other values of decimation they provide the data how the image is captured */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
33
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
34 int HorDcm; /* Horizontal decimation: 1, 2 or 4 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
35 int VerDcm; /* Vertical decimation: 1 or 2 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
36 int TmpDcm; /* Temporal decimation: 1 or 2,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
37 if TmpDcm==2 in capture every second frame is dropped,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
38 in playback every frame is played twice */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
39 int field_per_buff; /* Number of fields per buffer: 1 or 2 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
40 int img_x; /* start of image in x direction */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
41 int img_y; /* start of image in y direction */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
42 int img_width; /* image width BEFORE decimation,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
43 must be a multiple of HorDcm*16 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
44 int img_height; /* image height BEFORE decimation,
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
45 must be a multiple of VerDcm*8 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
46
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
47 /* --- End of parameters for decimation==0 only --- */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
48
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
49 /* JPEG control parameters */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
50
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
51 int quality; /* Measure for quality of compressed images.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
52 Scales linearly with the size of the compressed images.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
53 Must be beetween 0 and 100, 100 is a compression
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
54 ratio of 1:4 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
55
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
56 int odd_even; /* Which field should come first ???
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
57 This is more aptly named "top_first",
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
58 i.e. (odd_even==1) --> top-field-first */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
59
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
60 int APPn; /* Number of APP segment to be written, must be 0..15 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
61 int APP_len; /* Length of data in JPEG APPn segment */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
62 char APP_data[60]; /* Data in the JPEG APPn segment. */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
63
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
64 int COM_len; /* Length of data in JPEG COM segment */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
65 char COM_data[60]; /* Data in JPEG COM segment */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
66
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
67 unsigned long jpeg_markers; /* Which markers should go into the JPEG output.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
68 Unless you exactly know what you do, leave them untouched.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
69 Inluding less markers will make the resulting code
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
70 smaller, but there will be fewer aplications
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
71 which can read it.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
72 The presence of the APP and COM marker is
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
73 influenced by APP0_len and COM_len ONLY! */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
74 #define JPEG_MARKER_DHT (1<<3) /* Define Huffman Tables */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
75 #define JPEG_MARKER_DQT (1<<4) /* Define Quantization Tables */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
76 #define JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
77 #define JPEG_MARKER_COM (1<<6) /* Comment segment */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
78 #define JPEG_MARKER_APP (1<<7) /* App segment, driver will allways use APP0 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
79
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
80 int VFIFO_FB; /* Flag for enabling Video Fifo Feedback.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
81 If this flag is turned on and JPEG decompressing
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
82 is going to the screen, the decompress process
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
83 is stopped every time the Video Fifo is full.
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
84 This enables a smooth decompress to the screen
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
85 but the video output signal will get scrambled */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
86
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
87 /* Misc */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
88
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
89 char reserved[312]; /* Makes 512 bytes for this structure */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
90 };
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
91
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
92 struct mjpeg_requestbuffers
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
93 {
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
94 unsigned long count; /* Number of buffers for MJPEG grabbing */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
95 unsigned long size; /* Size PER BUFFER in bytes */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
96 };
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
97
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
98 struct mjpeg_sync
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
99 {
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
100 unsigned long frame; /* Frame (0 - n) for double buffer */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
101 unsigned long length; /* number of code bytes in buffer (capture only) */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
102 unsigned long seq; /* frame sequence number */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
103 struct timeval timestamp; /* timestamp */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
104 };
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
105
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
106 struct mjpeg_status
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
107 {
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
108 int input; /* Input channel, has to be set prior to BUZIOC_G_STATUS */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
109 int signal; /* Returned: 1 if valid video signal detected */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
110 int norm; /* Returned: VIDEO_MODE_PAL or VIDEO_MODE_NTSC */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
111 int color; /* Returned: 1 if color signal detected */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
112 };
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
113
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
114 /*
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
115 Private IOCTL to set up for displaying MJPEG
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
116 */
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
117 #define MJPIOC_G_PARAMS _IOR ('v', BASE_VIDIOCPRIVATE+0, struct mjpeg_params)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
118 #define MJPIOC_S_PARAMS _IOWR('v', BASE_VIDIOCPRIVATE+1, struct mjpeg_params)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
119 #define MJPIOC_REQBUFS _IOWR('v', BASE_VIDIOCPRIVATE+2, struct mjpeg_requestbuffers)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
120 #define MJPIOC_QBUF_CAPT _IOW ('v', BASE_VIDIOCPRIVATE+3, int)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
121 #define MJPIOC_QBUF_PLAY _IOW ('v', BASE_VIDIOCPRIVATE+4, int)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
122 #define MJPIOC_SYNC _IOR ('v', BASE_VIDIOCPRIVATE+5, struct mjpeg_sync)
176046e35fb2 this file obsoletes zoran.h and contains the Recommended interface definition for zr devices
rik
parents:
diff changeset
123 #define MJPIOC_G_STATUS _IOWR('v', BASE_VIDIOCPRIVATE+6, struct mjpeg_status)
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 4669
diff changeset
124
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
125 #endif /* MPLAYER_VIDEODEV_MJPEG_H */