18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci.. c:namespace:: V4L 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci.. _VIDIOC_G_JPEGCOMP: 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci****************************************** 78c2ecf20Sopenharmony_ciioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP 88c2ecf20Sopenharmony_ci****************************************** 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciName 118c2ecf20Sopenharmony_ci==== 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciVIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciSynopsis 168c2ecf20Sopenharmony_ci======== 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci.. c:macro:: VIDIOC_G_JPEGCOMP 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)`` 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci.. c:macro:: VIDIOC_S_JPEGCOMP 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)`` 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciArguments 278c2ecf20Sopenharmony_ci========= 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci``fd`` 308c2ecf20Sopenharmony_ci File descriptor returned by :c:func:`open()`. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci``argp`` 338c2ecf20Sopenharmony_ci Pointer to struct :c:type:`v4l2_jpegcompression`. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciDescription 368c2ecf20Sopenharmony_ci=========== 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciThese ioctls are **deprecated**. New drivers and applications should use 398c2ecf20Sopenharmony_ci:ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG 408c2ecf20Sopenharmony_cimarkers control. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci[to do] 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciRonald Bultje elaborates: 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciAPP is some application-specific information. The application can set it 478c2ecf20Sopenharmony_ciitself, and it'll be stored in the JPEG-encoded fields (eg; interlacing 488c2ecf20Sopenharmony_ciinformation for in an AVI or so). COM is the same, but it's comments, 498c2ecf20Sopenharmony_cilike 'encoded by me' or so. 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_cijpeg_markers describes whether the huffman tables, quantization tables 528c2ecf20Sopenharmony_ciand the restart interval information (all JPEG-specific stuff) should be 538c2ecf20Sopenharmony_cistored in the JPEG-encoded fields. These define how the JPEG field is 548c2ecf20Sopenharmony_ciencoded. If you omit them, applications assume you've used standard 558c2ecf20Sopenharmony_ciencoding. You usually do want to add them. 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}| 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci.. c:type:: v4l2_jpegcompression 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_jpegcompression 628c2ecf20Sopenharmony_ci :header-rows: 0 638c2ecf20Sopenharmony_ci :stub-columns: 0 648c2ecf20Sopenharmony_ci :widths: 1 1 2 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci * - int 678c2ecf20Sopenharmony_ci - ``quality`` 688c2ecf20Sopenharmony_ci - Deprecated. If 698c2ecf20Sopenharmony_ci :ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>` 708c2ecf20Sopenharmony_ci control is exposed by a driver applications should use it instead 718c2ecf20Sopenharmony_ci and ignore this field. 728c2ecf20Sopenharmony_ci * - int 738c2ecf20Sopenharmony_ci - ``APPn`` 748c2ecf20Sopenharmony_ci - 758c2ecf20Sopenharmony_ci * - int 768c2ecf20Sopenharmony_ci - ``APP_len`` 778c2ecf20Sopenharmony_ci - 788c2ecf20Sopenharmony_ci * - char 798c2ecf20Sopenharmony_ci - ``APP_data``\ [60] 808c2ecf20Sopenharmony_ci - 818c2ecf20Sopenharmony_ci * - int 828c2ecf20Sopenharmony_ci - ``COM_len`` 838c2ecf20Sopenharmony_ci - 848c2ecf20Sopenharmony_ci * - char 858c2ecf20Sopenharmony_ci - ``COM_data``\ [60] 868c2ecf20Sopenharmony_ci - 878c2ecf20Sopenharmony_ci * - __u32 888c2ecf20Sopenharmony_ci - ``jpeg_markers`` 898c2ecf20Sopenharmony_ci - See :ref:`jpeg-markers`. Deprecated. If 908c2ecf20Sopenharmony_ci :ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>` 918c2ecf20Sopenharmony_ci control is exposed by a driver applications should use it instead 928c2ecf20Sopenharmony_ci and ignore this field. 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}| 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci.. _jpeg-markers: 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci.. flat-table:: JPEG Markers Flags 998c2ecf20Sopenharmony_ci :header-rows: 0 1008c2ecf20Sopenharmony_ci :stub-columns: 0 1018c2ecf20Sopenharmony_ci :widths: 3 1 4 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DHT`` 1048c2ecf20Sopenharmony_ci - (1<<3) 1058c2ecf20Sopenharmony_ci - Define Huffman Tables 1068c2ecf20Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DQT`` 1078c2ecf20Sopenharmony_ci - (1<<4) 1088c2ecf20Sopenharmony_ci - Define Quantization Tables 1098c2ecf20Sopenharmony_ci * - ``V4L2_JPEG_MARKER_DRI`` 1108c2ecf20Sopenharmony_ci - (1<<5) 1118c2ecf20Sopenharmony_ci - Define Restart Interval 1128c2ecf20Sopenharmony_ci * - ``V4L2_JPEG_MARKER_COM`` 1138c2ecf20Sopenharmony_ci - (1<<6) 1148c2ecf20Sopenharmony_ci - Comment segment 1158c2ecf20Sopenharmony_ci * - ``V4L2_JPEG_MARKER_APP`` 1168c2ecf20Sopenharmony_ci - (1<<7) 1178c2ecf20Sopenharmony_ci - App segment, driver will always use APP0 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ciReturn Value 1208c2ecf20Sopenharmony_ci============ 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 1238c2ecf20Sopenharmony_ciappropriately. The generic error codes are described at the 1248c2ecf20Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 125