diff --git a/Documentation/DocBook/media/v4l/biblio.xml b/Documentation/DocBook/media/v4l/biblio.xml
index cea6fd3ed428..7dc65c592a87 100644
--- a/Documentation/DocBook/media/v4l/biblio.xml
+++ b/Documentation/DocBook/media/v4l/biblio.xml
@@ -128,6 +128,26 @@ url="http://www.ijg.org">http://www.ijg.org)
Version 1.02
+
+ ITU-T.81
+
+ International Telecommunication Union
+(http://www.itu.int)
+
+ ITU-T Recommendation T.81
+"Information Technology — Digital Compression and Coding of Continous-Tone
+Still Images — Requirements and Guidelines"
+
+
+
+ W3C JPEG JFIF
+
+ The World Wide Web Consortium (http://www.w3.org)
+
+ JPEG JFIF
+
+
SMPTE 12M
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index c93298ff3279..dd958b5a34e6 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2400,6 +2400,16 @@ details.
+
+ V4L2 in Linux 3.4
+
+
+ Added JPEG compression control
+ class.
+
+
+
+
Relation of V4L2 to other Linux multimedia APIs
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 3f3d2e2d424e..b84f25e9cc87 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -3436,6 +3436,167 @@ interface and may change in the future.
+
+
+ JPEG Control Reference
+ The JPEG class includes controls for common features of JPEG
+ encoders and decoders. Currently it includes features for codecs
+ implementing progressive baseline DCT compression process with
+ Huffman entrophy coding.
+
+ JPEG Control IDs
+
+
+
+
+
+
+
+
+
+
+ ID
+ Type
+ Description
+
+
+
+
+
+ V4L2_CID_JPEG_CLASS
+ class
+ The JPEG class descriptor. Calling
+ &VIDIOC-QUERYCTRL; for this control will return a description of this
+ control class.
+
+
+
+
+ V4L2_CID_JPEG_CHROMA_SUBSAMPLING
+ menu
+
+
+ The chroma subsampling factors describe how
+ each component of an input image is sampled, in respect to maximum
+ sample rate in each spatial dimension. See ,
+ clause A.1.1. for more details. The
+ V4L2_CID_JPEG_CHROMA_SUBSAMPLING control determines how
+ Cb and Cr components are downsampled after coverting an input image
+ from RGB to Y'CbCr color space.
+
+
+
+
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_444
+ No chroma subsampling, each pixel has
+ Y, Cr and Cb values.
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_422
+ Horizontally subsample Cr, Cb components
+ by a factor of 2.
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_420
+ Subsample Cr, Cb components horizontally
+ and vertically by 2.
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_411
+ Horizontally subsample Cr, Cb components
+ by a factor of 4.
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_410
+ Subsample Cr, Cb components horizontally
+ by 4 and vertically by 2.
+
+
+ V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY
+ Use only luminance component.
+
+
+
+
+
+ V4L2_CID_JPEG_RESTART_INTERVAL
+ integer
+
+
+ The restart interval determines an interval of inserting RSTm
+ markers (m = 0..7). The purpose of these markers is to additionally
+ reinitialize the encoder process, in order to process blocks of
+ an image independently.
+ For the lossy compression processes the restart interval unit is
+ MCU (Minimum Coded Unit) and its value is contained in DRI
+ (Define Restart Interval) marker. If
+ V4L2_CID_JPEG_RESTART_INTERVAL control is set to 0,
+ DRI and RSTm markers will not be inserted.
+
+
+
+ V4L2_CID_JPEG_COMPRESION_QUALITY
+ integer
+
+
+
+ V4L2_CID_JPEG_COMPRESION_QUALITY control
+ determines trade-off between image quality and size.
+ It provides simpler method for applications to control image quality,
+ without a need for direct reconfiguration of luminance and chrominance
+ quantization tables.
+
+ In cases where a driver uses quantization tables configured directly
+ by an application, using interfaces defined elsewhere,
+ V4L2_CID_JPEG_COMPRESION_QUALITY control should be set
+ by driver to 0.
+
+ The value range of this control is driver-specific. Only
+ positive, non-zero values are meaningful. The recommended range
+ is 1 - 100, where larger values correspond to better image quality.
+
+
+
+
+ V4L2_CID_JPEG_ACTIVE_MARKER
+ bitmask
+
+
+ Specify which JPEG markers are included
+ in compressed stream. This control is valid only for encoders.
+
+
+
+
+
+
+ V4L2_JPEG_ACTIVE_MARKER_APP0
+ Application data segment APP0.
+
+ V4L2_JPEG_ACTIVE_MARKER_APP1
+ Application data segment APP1.
+
+ V4L2_JPEG_ACTIVE_MARKER_COM
+ Comment segment.
+
+ V4L2_JPEG_ACTIVE_MARKER_DQT
+ Quantization tables segment.
+
+ V4L2_JPEG_ACTIVE_MARKER_DHT
+ Huffman tables segment.
+
+
+
+
+
+
+
+
+ For more details about JPEG specification, refer
+ to , ,
+ .
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index dcf9e33b695f..8ae38876172e 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -127,6 +127,15 @@ structs, ioctls) must be noted in more detail in the history chapter
(compat.xml), along with the possible impact on existing drivers and
applications. -->
+
+ 3.4
+ 2012-01-25
+ sn
+ Added JPEG compression
+ control class.
+
+
+
3.32012-01-11
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml b/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml
index 01ea24b84385..48748499c097 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml
@@ -57,6 +57,11 @@
Description
+ These ioctls are deprecated.
+ New drivers and applications should use
+ JPEG class controls for image quality and JPEG markers control.
+
+
[to do]Ronald Bultje elaborates:
@@ -86,7 +91,10 @@ to add them.
intquality
-
+ Deprecated. If
+ V4L2_CID_JPEG_IMAGE_QUALITY control is exposed by
+ a driver applications should use it instead and ignore this field.
+ int
@@ -116,7 +124,11 @@ to add them.
__u32jpeg_markers
- See .
+ See . Deprecated.
+ If
+ V4L2_CID_JPEG_ACTIVE_MARKER control
+ is exposed by a driver applications should use it instead
+ and ignore this field.