| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- .. 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.
|