162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci.. c:namespace:: V4L 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci.. _VIDIOC_G_JPEGCOMP: 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci****************************************** 762306a36Sopenharmony_ciioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP 862306a36Sopenharmony_ci****************************************** 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciName 1162306a36Sopenharmony_ci==== 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciVIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciSynopsis 1662306a36Sopenharmony_ci======== 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci.. c:macro:: VIDIOC_G_JPEGCOMP 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)`` 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci.. c:macro:: VIDIOC_S_JPEGCOMP 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)`` 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciArguments 2762306a36Sopenharmony_ci========= 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci``fd`` 3062306a36Sopenharmony_ci File descriptor returned by :c:func:`open()`. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci``argp`` 3362306a36Sopenharmony_ci Pointer to struct :c:type:`v4l2_jpegcompression`. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciDescription 3662306a36Sopenharmony_ci=========== 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciThese ioctls are **deprecated**. New drivers and applications should use 3962306a36Sopenharmony_ci:ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG 4062306a36Sopenharmony_cimarkers control. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci[to do] 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciRonald Bultje elaborates: 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciAPP is some application-specific information. The application can set it 4762306a36Sopenharmony_ciitself, and it'll be stored in the JPEG-encoded fields (eg; interlacing 4862306a36Sopenharmony_ciinformation for in an AVI or so). COM is the same, but it's comments, 4962306a36Sopenharmony_cilike 'encoded by me' or so. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cijpeg_markers describes whether the huffman tables, quantization tables 5262306a36Sopenharmony_ciand the restart interval information (all JPEG-specific stuff) should be 5362306a36Sopenharmony_cistored in the JPEG-encoded fields. These define how the JPEG field is 5462306a36Sopenharmony_ciencoded. If you omit them, applications assume you've used standard 5562306a36Sopenharmony_ciencoding. You usually do want to add them. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.1cm}| 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci.. c:type:: v4l2_jpegcompression 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci.. flat-table:: struct v4l2_jpegcompression 6262306a36Sopenharmony_ci :header-rows: 0 6362306a36Sopenharmony_ci :stub-columns: 0 6462306a36Sopenharmony_ci :widths: 1 1 2 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci * - int 6762306a36Sopenharmony_ci - ``quality`` 6862306a36Sopenharmony_ci - Deprecated. If 6962306a36Sopenharmony_ci :ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>` 7062306a36Sopenharmony_ci control is exposed by a driver applications should use it instead 7162306a36Sopenharmony_ci and ignore this field. 7262306a36Sopenharmony_ci * - int 7362306a36Sopenharmony_ci - ``APPn`` 7462306a36Sopenharmony_ci - 7562306a36Sopenharmony_ci * - int 7662306a36Sopenharmony_ci - ``APP_len`` 7762306a36Sopenharmony_ci - 7862306a36Sopenharmony_ci * - char 7962306a36Sopenharmony_ci - ``APP_data``\ [60] 8062306a36Sopenharmony_ci - 8162306a36Sopenharmony_ci * - int 8262306a36Sopenharmony_ci - ``COM_len`` 8362306a36Sopenharmony_ci - 8462306a36Sopenharmony_ci * - char 8562306a36Sopenharmony_ci - ``COM_data``\ [60] 8662306a36Sopenharmony_ci - 8762306a36Sopenharmony_ci * - __u32 8862306a36Sopenharmony_ci - ``jpeg_markers`` 8962306a36Sopenharmony_ci - See :ref:`jpeg-markers`. Deprecated. If 9062306a36Sopenharmony_ci :ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>` 9162306a36Sopenharmony_ci control is exposed by a driver applications should use it instead 9262306a36Sopenharmony_ci and ignore this field. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci.. _jpeg-markers: 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci.. flat-table:: JPEG Markers Flags 9962306a36Sopenharmony_ci :header-rows: 0 10062306a36Sopenharmony_ci :stub-columns: 0 10162306a36Sopenharmony_ci :widths: 3 1 4 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DHT`` 10462306a36Sopenharmony_ci - (1<<3) 10562306a36Sopenharmony_ci - Define Huffman Tables 10662306a36Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DQT`` 10762306a36Sopenharmony_ci - (1<<4) 10862306a36Sopenharmony_ci - Define Quantization Tables 10962306a36Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DRI`` 11062306a36Sopenharmony_ci - (1<<5) 11162306a36Sopenharmony_ci - Define Restart Interval 11262306a36Sopenharmony_ci * - ``V4L2_JPEG_MARKER_COM`` 11362306a36Sopenharmony_ci - (1<<6) 11462306a36Sopenharmony_ci - Comment segment 11562306a36Sopenharmony_ci * - ``V4L2_JPEG_MARKER_APP`` 11662306a36Sopenharmony_ci - (1<<7) 11762306a36Sopenharmony_ci - App segment, driver will always use APP0 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ciReturn Value 12062306a36Sopenharmony_ci============ 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 12362306a36Sopenharmony_ciappropriately. The generic error codes are described at the 12462306a36Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 125