128 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.0 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
 | 
						|
========
 | 
						|
 | 
						|
.. c:function:: int ioctl( int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp )
 | 
						|
    :name: VIDIOC_G_JPEGCOMP
 | 
						|
 | 
						|
.. c:function:: int ioctl( int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp )
 | 
						|
    :name: VIDIOC_S_JPEGCOMP
 | 
						|
 | 
						|
 | 
						|
Arguments
 | 
						|
=========
 | 
						|
 | 
						|
``fd``
 | 
						|
    File descriptor returned by :ref:`open() <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.3cm}|
 | 
						|
 | 
						|
.. 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.7cm}|
 | 
						|
 | 
						|
.. _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.
 |