125 lines
3.0 KiB
ReStructuredText
125 lines
3.0 KiB
ReStructuredText
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
|
.. c:namespace:: V4L
|
|
|
|
.. _VIDIOC_G_JPEGCOMP:
|
|
|
|
******************************************
|
|
ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP
|
|
******************************************
|
|
|
|
Name
|
|
====
|
|
|
|
VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. c:macro:: VIDIOC_G_JPEGCOMP
|
|
|
|
``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)``
|
|
|
|
.. c:macro:: VIDIOC_S_JPEGCOMP
|
|
|
|
``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)``
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``fd``
|
|
File descriptor returned by :c:func:`open()`.
|
|
|
|
``argp``
|
|
Pointer to struct :c:type:`v4l2_jpegcompression`.
|
|
|
|
Description
|
|
===========
|
|
|
|
These ioctls are **deprecated**. New drivers and applications should use
|
|
:ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG
|
|
markers control.
|
|
|
|
[to do]
|
|
|
|
Ronald Bultje elaborates:
|
|
|
|
APP is some application-specific information. The application can set it
|
|
itself, and it'll be stored in the JPEG-encoded fields (eg; interlacing
|
|
information for in an AVI or so). COM is the same, but it's comments,
|
|
like 'encoded by me' or so.
|
|
|
|
jpeg_markers describes whether the huffman tables, quantization tables
|
|
and the restart interval information (all JPEG-specific stuff) should be
|
|
stored in the JPEG-encoded fields. These define how the JPEG field is
|
|
encoded. If you omit them, applications assume you've used standard
|
|
encoding. You usually do want to add them.
|
|
|
|
.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.1cm}|
|
|
|
|
.. c:type:: v4l2_jpegcompression
|
|
|
|
.. flat-table:: struct v4l2_jpegcompression
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 1 1 2
|
|
|
|
* - int
|
|
- ``quality``
|
|
- Deprecated. If
|
|
:ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>`
|
|
control is exposed by a driver applications should use it instead
|
|
and ignore this field.
|
|
* - int
|
|
- ``APPn``
|
|
-
|
|
* - int
|
|
- ``APP_len``
|
|
-
|
|
* - char
|
|
- ``APP_data``\ [60]
|
|
-
|
|
* - int
|
|
- ``COM_len``
|
|
-
|
|
* - char
|
|
- ``COM_data``\ [60]
|
|
-
|
|
* - __u32
|
|
- ``jpeg_markers``
|
|
- See :ref:`jpeg-markers`. Deprecated. If
|
|
:ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>`
|
|
control is exposed by a driver applications should use it instead
|
|
and ignore this field.
|
|
|
|
.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}|
|
|
|
|
.. _jpeg-markers:
|
|
|
|
.. flat-table:: JPEG Markers Flags
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 3 1 4
|
|
|
|
* - ``V4L2_JPEG_MARKER_DHT``
|
|
- (1<<3)
|
|
- Define Huffman Tables
|
|
* - ``V4L2_JPEG_MARKER_DQT``
|
|
- (1<<4)
|
|
- Define Quantization Tables
|
|
* - ``V4L2_JPEG_MARKER_DRI``
|
|
- (1<<5)
|
|
- Define Restart Interval
|
|
* - ``V4L2_JPEG_MARKER_COM``
|
|
- (1<<6)
|
|
- Comment segment
|
|
* - ``V4L2_JPEG_MARKER_APP``
|
|
- (1<<7)
|
|
- App segment, driver will always use APP0
|
|
|
|
Return Value
|
|
============
|
|
|
|
On success 0 is returned, on error -1 and the ``errno`` variable is set
|
|
appropriately. The generic error codes are described at the
|
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|