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