hi Michael, On Wed, 2002-10-16 at 16:40, Michael H. Schimek wrote: > Sequential is always oldest first (fields stored in transmitted = > temporal order). The app asks for any of V4L2_FIELD_SEQ_TB or > V4L2_FIELD_SEQ_BT and the driver returns whatever applies. Exactly. > Likewise alternating fields are passed in transmitted = temporal order, > starting with what? One could check V4L2_BUF_FLAG_TOPFIELD/BOTFIELD, but > it seems they're gone. enum v4l2_field { [..] V4L2_FIELD_TOP = 2, /* top field only */ V4L2_FIELD_BOTTOM = 3, /* bottom field only */ [..] }; Isn't that what you're looking for? > I assumed cropping dimensions apply to capture & overlay alike. A type > field allows two sets of cropping parameters in simultaneous > capture/overlay mode. Do you want that? Yes. For JPEG capture, for example, you can set cropping information, while the overlay is still uncropped. > > struct v4l2_jpegcompression > > { > > int quality; > > > > int APPn; /* Number of APP segment to be written, > > * must be 0..15 */ > > int APP_len; /* Length of data in JPEG APPn segment */ > > char APP_data[60]; /* Data in the JPEG APPn segment. */ > > > > int COM_len; /* Length of data in JPEG COM segment */ > > char COM_data[60]; /* Data in JPEG COM segment */ > > > > __u32 jpeg_markers; /* Which markers should go into the JPEG > > * output. Unless you exactly know what > > * you do, leave them untouched. > > * Inluding less markers will make the > > * resulting code smaller, but there will > > * be fewer aplications which can read it. > > * The presence of the APP and COM marker > > * is influenced by APP_len and COM_len > > * ONLY, not by this property! */ > > > > #define V4L2_JPEG_MARKER_DHT (1<<3) /* Define Huffman Tables */ > > #define V4L2_JPEG_MARKER_DQT (1<<4) /* Define Quantization Tables */ > > #define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ > > #define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ > > #define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will > > * allways use APP0 */ > > }; > > Someone please explain this, better yet write the spec. IMHO it's > pointless to add when we don't know how this works, what the purpose is. I'm sorry, here's some short explanation: APP is some application-specific information. The application can set it itself, and it'll be stored in the JPEG-encoded fields (e.g. interlacing information for in an AVI or so). COM is the same, but it's comments, like 'encoded by me' or so. jpeg_markers describes whether the huffman tables, quantization tables and the restart interval information (all JPEG-specific stuff) should be stored in the JPEG-encoded fields. These define how the JPEG field is encoded. If you omit them, applications assume you've used standard encoding. You usually do want to add them. I hope this is clear. Ronald