2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 04:34:11 +08:00
linux-next/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst
Mauro Carvalho Chehab 60c2820d0f doc_rst: rename the media Sphinx suff to Documentation/media
The name of the subsystem is "media", and not "linux_tv". Also,
as we plan to add other stuff there in the future, let's
rename also the media uAPI book to media_uapi, to make it
clearer.

No functional changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08 11:59:40 -03:00

185 lines
3.2 KiB
ReStructuredText

.. -*- coding: utf-8; mode: rst -*-
.. _VIDIOC_G_JPEGCOMP:
******************************************
ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP
******************************************
Name
====
VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP
Synopsis
========
.. cpp:function:: int ioctl( int fd, int request, v4l2_jpegcompression *argp )
.. cpp:function:: int ioctl( int fd, int request, const v4l2_jpegcompression *argp )
Arguments
=========
``fd``
File descriptor returned by :ref:`open() <func-open>`.
``request``
VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP
``argp``
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.
.. _v4l2-jpegcompression:
.. flat-table:: struct v4l2_jpegcompression
:header-rows: 0
:stub-columns: 0
:widths: 1 1 2
- .. row 1
- 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.
- .. row 2
- int
- ``APPn``
-
- .. row 3
- int
- ``APP_len``
-
- .. row 4
- char
- ``APP_data``\ [60]
-
- .. row 5
- int
- ``COM_len``
-
- .. row 6
- char
- ``COM_data``\ [60]
-
- .. row 7
- __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.
.. _jpeg-markers:
.. flat-table:: JPEG Markers Flags
:header-rows: 0
:stub-columns: 0
:widths: 3 1 4
- .. row 1
- ``V4L2_JPEG_MARKER_DHT``
- (1<<3)
- Define Huffman Tables
- .. row 2
- ``V4L2_JPEG_MARKER_DQT``
- (1<<4)
- Define Quantization Tables
- .. row 3
- ``V4L2_JPEG_MARKER_DRI``
- (1<<5)
- Define Restart Interval
- .. row 4
- ``V4L2_JPEG_MARKER_COM``
- (1<<6)
- Comment segment
- .. row 5
- ``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.