7.34. ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP¶
7.34.1. Name¶
VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP
7.34.2. Synopsis¶
- 
VIDIOC_G_JPEGCOMP¶
 
int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)
- 
VIDIOC_S_JPEGCOMP¶
 
int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)
7.34.3. Arguments¶
fdFile descriptor returned by
open().argpPointer to struct
v4l2_jpegcompression.
7.34.4. Description¶
These ioctls are deprecated. New drivers and applications should use JPEG class controls for image quality and JPEG markers control.
[to do]
Ronald Bultje elaborates:
APP is some application-specific information. The application can set it itself, and it’ll be stored in the JPEG-encoded fields (eg; 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.
- 
type v4l2_jpegcompression¶
 
int  | 
  | 
Deprecated. If V4L2_CID_JPEG_COMPRESSION_QUALITY control is exposed by a driver applications should use it instead and ignore this field.  | 
int  | 
  | 
|
int  | 
  | 
|
char  | 
  | 
|
int  | 
  | 
|
char  | 
  | 
|
__u32  | 
  | 
See JPEG Markers Flags. Deprecated. If V4L2_CID_JPEG_ACTIVE_MARKER control is exposed by a driver applications should use it instead and ignore this field.  | 
  | 
(1<<3)  | 
Define Huffman Tables  | 
  | 
(1<<4)  | 
Define Quantization Tables  | 
  | 
(1<<5)  | 
Define Restart Interval  | 
  | 
(1<<6)  | 
Comment segment  | 
  | 
(1<<7)  | 
App segment, driver will always use APP0  | 
7.34.5. Return Value¶
On success 0 is returned, on error -1 and the errno variable is set
appropriately. The generic error codes are described at the
Generic Error Codes chapter.