1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 .. c:namespace:: V4L 3 4 .. _VIDIOC_G_JPEGCOMP: 5 6 ****************************************** 7 ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP 8 ****************************************** 9 10 Name 11 ==== 12 13 VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP 14 15 Synopsis 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 26 Arguments 27 ========= 28 29 ``fd`` 30 File descriptor returned by :c:func:`open()`. 31 32 ``argp`` 33 Pointer to struct :c:type:`v4l2_jpegcompression`. 34 35 Description 36 =========== 37 38 These ioctls are **deprecated**. New drivers and applications should use 39 :ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG 40 markers control. 41 42 [to do] 43 44 Ronald Bultje elaborates: 45 46 APP is some application-specific information. The application can set it 47 itself, and it'll be stored in the JPEG-encoded fields (eg; interlacing 48 information for in an AVI or so). COM is the same, but it's comments, 49 like 'encoded by me' or so. 50 51 jpeg_markers describes whether the huffman tables, quantization tables 52 and the restart interval information (all JPEG-specific stuff) should be 53 stored in the JPEG-encoded fields. These define how the JPEG field is 54 encoded. If you omit them, applications assume you've used standard 55 encoding. 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 119 Return Value 120 ============ 121 122 On success 0 is returned, on error -1 and the ``errno`` variable is set 123 appropriately. The generic error codes are described at the 124 :ref:`Generic Error Codes <gen-errors>` chapter.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.