瀏覽代碼

[media] DocBook: make the G/S/TRY_FMT specification more strict

- S/TRY_FMT should always succeed, unless an invalid type field is passed in.
- TRY_FMT should give the same result as S_FMT, all other things being equal.
- ENUMFMT may return different formats for different inputs or outputs.
This was decided during the 2012 Media Workshop.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil 13 年之前
父節點
當前提交
93828d6438

+ 3 - 0
Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml

@@ -58,6 +58,9 @@ structure. Drivers fill the rest of the structure or return an
 incrementing by one until <errorcode>EINVAL</errorcode> is
 incrementing by one until <errorcode>EINVAL</errorcode> is
 returned.</para>
 returned.</para>
 
 
+    <para>Note that after switching input or output the list of enumerated image
+formats may be different.</para>
+
     <table pgwide="1" frame="none" id="v4l2-fmtdesc">
     <table pgwide="1" frame="none" id="v4l2-fmtdesc">
       <title>struct <structname>v4l2_fmtdesc</structname></title>
       <title>struct <structname>v4l2_fmtdesc</structname></title>
       <tgroup cols="3">
       <tgroup cols="3">

+ 6 - 3
Documentation/DocBook/media/v4l/vidioc-g-fmt.xml

@@ -81,7 +81,7 @@ the application calls the <constant>VIDIOC_S_FMT</constant> ioctl
 with a pointer to a <structname>v4l2_format</structname> structure
 with a pointer to a <structname>v4l2_format</structname> structure
 the driver checks
 the driver checks
 and adjusts the parameters against hardware abilities. Drivers
 and adjusts the parameters against hardware abilities. Drivers
-should not return an error code unless the input is ambiguous, this is
+should not return an error code unless the <structfield>type</structfield> field is invalid, this is
 a mechanism to fathom device capabilities and to approach parameters
 a mechanism to fathom device capabilities and to approach parameters
 acceptable for both the application and driver. On success the driver
 acceptable for both the application and driver. On success the driver
 may program the hardware, allocate resources and generally prepare for
 may program the hardware, allocate resources and generally prepare for
@@ -107,6 +107,10 @@ disabling I/O or possibly time consuming hardware preparations.
 Although strongly recommended drivers are not required to implement
 Although strongly recommended drivers are not required to implement
 this ioctl.</para>
 this ioctl.</para>
 
 
+    <para>The format as returned by <constant>VIDIOC_TRY_FMT</constant>
+must be identical to what <constant>VIDIOC_S_FMT</constant> returns for
+the same input or output.</para>
+
     <table pgwide="1" frame="none" id="v4l2-format">
     <table pgwide="1" frame="none" id="v4l2-format">
       <title>struct <structname>v4l2_format</structname></title>
       <title>struct <structname>v4l2_format</structname></title>
       <tgroup cols="4">
       <tgroup cols="4">
@@ -187,8 +191,7 @@ capture and output devices.</entry>
 	<term><errorcode>EINVAL</errorcode></term>
 	<term><errorcode>EINVAL</errorcode></term>
 	<listitem>
 	<listitem>
 	  <para>The &v4l2-format; <structfield>type</structfield>
 	  <para>The &v4l2-format; <structfield>type</structfield>
-field is invalid, the requested buffer type not supported, or the
-format is not supported with this buffer type.</para>
+field is invalid or the requested buffer type not supported.</para>
 	</listitem>
 	</listitem>
       </varlistentry>
       </varlistentry>
     </variablelist>
     </variablelist>