1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2.. c:namespace:: V4L 3 4.. _VIDIOC_G_JPEGCOMP: 5 6****************************************** 7ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP 8****************************************** 9 10Name 11==== 12 13VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP 14 15Synopsis 16======== 17 18.. c:macro:: VIDIOC_G_JPEGCOMP 19 20``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)`` 21 22.. c:macro:: VIDIOC_S_JPEGCOMP 23 24``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)`` 25 26Arguments 27========= 28 29``fd`` 30 File descriptor returned by :c:func:`open()`. 31 32``argp`` 33 Pointer to struct :c:type:`v4l2_jpegcompression`. 34 35Description 36=========== 37 38These ioctls are **deprecated**. New drivers and applications should use 39:ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG 40markers control. 41 42[to do] 43 44Ronald Bultje elaborates: 45 46APP is some application-specific information. The application can set it 47itself, and it'll be stored in the JPEG-encoded fields (eg; interlacing 48information for in an AVI or so). COM is the same, but it's comments, 49like 'encoded by me' or so. 50 51jpeg_markers describes whether the huffman tables, quantization tables 52and the restart interval information (all JPEG-specific stuff) should be 53stored in the JPEG-encoded fields. These define how the JPEG field is 54encoded. If you omit them, applications assume you've used standard 55encoding. You usually do want to add them. 56 57.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.1cm}| 58 59.. c:type:: v4l2_jpegcompression 60 61.. flat-table:: struct v4l2_jpegcompression 62 :header-rows: 0 63 :stub-columns: 0 64 :widths: 1 1 2 65 66 * - int 67 - ``quality`` 68 - Deprecated. If 69 :ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>` 70 control is exposed by a driver applications should use it instead 71 and ignore this field. 72 * - int 73 - ``APPn`` 74 - 75 * - int 76 - ``APP_len`` 77 - 78 * - char 79 - ``APP_data``\ [60] 80 - 81 * - int 82 - ``COM_len`` 83 - 84 * - char 85 - ``COM_data``\ [60] 86 - 87 * - __u32 88 - ``jpeg_markers`` 89 - See :ref:`jpeg-markers`. Deprecated. If 90 :ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>` 91 control is exposed by a driver applications should use it instead 92 and ignore this field. 93 94.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 95 96.. _jpeg-markers: 97 98.. flat-table:: JPEG Markers Flags 99 :header-rows: 0 100 :stub-columns: 0 101 :widths: 3 1 4 102 103 * - ``V4L2_JPEG_MARKER_DHT`` 104 - (1<<3) 105 - Define Huffman Tables 106 * - ``V4L2_JPEG_MARKER_DQT`` 107 - (1<<4) 108 - Define Quantization Tables 109 * - ``V4L2_JPEG_MARKER_DRI`` 110 - (1<<5) 111 - Define Restart Interval 112 * - ``V4L2_JPEG_MARKER_COM`` 113 - (1<<6) 114 - Comment segment 115 * - ``V4L2_JPEG_MARKER_APP`` 116 - (1<<7) 117 - App segment, driver will always use APP0 118 119Return Value 120============ 121 122On success 0 is returned, on error -1 and the ``errno`` variable is set 123appropriately. The generic error codes are described at the 124:ref:`Generic Error Codes <gen-errors>` chapter. 125