cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vidioc-g-jpegcomp.rst (3106B)


      1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
      2.. c:namespace:: V4L
      3
      4.. _VIDIOC_G_JPEGCOMP:
      5
      6******************************************
      7ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP
      8******************************************
      9
     10Name
     11====
     12
     13VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP
     14
     15Synopsis
     16========
     17
     18.. c:macro:: VIDIOC_G_JPEGCOMP
     19
     20``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)``
     21
     22.. c:macro:: VIDIOC_S_JPEGCOMP
     23
     24``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)``
     25
     26Arguments
     27=========
     28
     29``fd``
     30    File descriptor returned by :c:func:`open()`.
     31
     32``argp``
     33    Pointer to struct :c:type:`v4l2_jpegcompression`.
     34
     35Description
     36===========
     37
     38These ioctls are **deprecated**. New drivers and applications should use
     39:ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG
     40markers control.
     41
     42[to do]
     43
     44Ronald Bultje elaborates:
     45
     46APP is some application-specific information. The application can set it
     47itself, and it'll be stored in the JPEG-encoded fields (eg; interlacing
     48information for in an AVI or so). COM is the same, but it's comments,
     49like 'encoded by me' or so.
     50
     51jpeg_markers describes whether the huffman tables, quantization tables
     52and the restart interval information (all JPEG-specific stuff) should be
     53stored in the JPEG-encoded fields. These define how the JPEG field is
     54encoded. If you omit them, applications assume you've used standard
     55encoding. You usually do want to add them.
     56
     57.. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.1cm}|
     58
     59.. c:type:: v4l2_jpegcompression
     60
     61.. flat-table:: struct v4l2_jpegcompression
     62    :header-rows:  0
     63    :stub-columns: 0
     64    :widths:       1 1 2
     65
     66    * - int
     67      - ``quality``
     68      - Deprecated. If
     69	:ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>`
     70	control is exposed by a driver applications should use it instead
     71	and ignore this field.
     72    * - int
     73      - ``APPn``
     74      -
     75    * - int
     76      - ``APP_len``
     77      -
     78    * - char
     79      - ``APP_data``\ [60]
     80      -
     81    * - int
     82      - ``COM_len``
     83      -
     84    * - char
     85      - ``COM_data``\ [60]
     86      -
     87    * - __u32
     88      - ``jpeg_markers``
     89      - See :ref:`jpeg-markers`. Deprecated. If
     90	:ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>`
     91	control is exposed by a driver applications should use it instead
     92	and ignore this field.
     93
     94.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}|
     95
     96.. _jpeg-markers:
     97
     98.. flat-table:: JPEG Markers Flags
     99    :header-rows:  0
    100    :stub-columns: 0
    101    :widths:       3 1 4
    102
    103    * - ``V4L2_JPEG_MARKER_DHT``
    104      - (1<<3)
    105      - Define Huffman Tables
    106    * - ``V4L2_JPEG_MARKER_DQT``
    107      - (1<<4)
    108      - Define Quantization Tables
    109    * - ``V4L2_JPEG_MARKER_DRI``
    110      - (1<<5)
    111      - Define Restart Interval
    112    * - ``V4L2_JPEG_MARKER_COM``
    113      - (1<<6)
    114      - Comment segment
    115    * - ``V4L2_JPEG_MARKER_APP``
    116      - (1<<7)
    117      - App segment, driver will always use APP0
    118
    119Return Value
    120============
    121
    122On success 0 is returned, on error -1 and the ``errno`` variable is set
    123appropriately. The generic error codes are described at the
    124:ref:`Generic Error Codes <gen-errors>` chapter.