summaryrefslogtreecommitdiff
path: root/Documentation/media/uapi/v4l/vidioc-dqevent.rst
AgeCommit message (Collapse)Author
2020-04-14media: docs: move uAPI book to userspace-api/mediaMauro Carvalho Chehab
Since 2017, there is an space reserved for userspace API, created by changeset 1d596dee3862 ("docs: Create a user-space API guide"). As the media subsystem was one of the first subsystems to use Sphinx, until this patch, we were keeping things on a separate place. Let's just use the new location, as having all uAPI altogether will likely make things easier for developers. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-02-24media: Documentation/media/uapi: more readable unionsHans Verkuil
Avoid adding an extra columns when describing unions in the documentation. That makes it much harder to read. See e.g. VIDIOC_QUERY_EXT_CTRLS. Instead start off a union with 'union {' and end it with an extra row containing '}'. This leaves a lot more space for the description of the fields. This formatting technique was used in a few places already, but this patches fixes all remaining occurrences of 'union' in the media uAPI. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Reported-by: Nicolas Dufresne <nicolas@ndufresne.ca> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2019-08-19media: docs-rst: Document memory-to-memory video decoder interfaceTomasz Figa
Due to complexity of the video decoding process, the V4L2 drivers of stateful decoder hardware require specific sequences of V4L2 API calls to be followed. These include capability enumeration, initialization, decoding, seek, pause, dynamic resolution change, drain and end of stream. Specifics of the above have been discussed during Media Workshops at LinuxCon Europe 2012 in Barcelona and then later Embedded Linux Conference Europe 2014 in Düsseldorf. The de facto Codec API that originated at those events was later implemented by the drivers we already have merged in mainline, such as s5p-mfc or coda. The only thing missing was the real specification included as a part of Linux Media documentation. Fix it now and document the decoder part of the Codec API. Signed-off-by: Tomasz Figa <tfiga@chromium.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-12-05media: add SPDX header to media uAPI filesMauro Carvalho Chehab
All those files are under GFDL 1.1 or later, with no invariant sections. Tag them as such. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-12-05media: remove text encoding from rst filesMauro Carvalho Chehab
This is not needed there. Also, the same UTF-8 encoding should be used on all documents. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-10-04media: vidioc-dqevent.rst: clarify V4L2_EVENT_SRC_CH_RESOLUTIONHans Verkuil
Clarify that when you receive V4L2_EVENT_SOURCE_CHANGE with flag V4L2_EVENT_SRC_CH_RESOLUTION set, and the new resolution appears identical to the old resolution, then you still must restart the streaming I/O. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2017-09-05media: v4l uAPI: add descriptions for arguments to all ioctlsMauro Carvalho Chehab
Several ioctls are missing descriptions for the third argument of the ioctl() command. They should have a description, as otherwise the output won't be ok, and will sound like something is missing. So, add them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-26media: fix pdf build with Spinx 1.6Mauro Carvalho Chehab
Sphinx 1.6 generates some LaTeX code before each table, starting its own environment before calling tabulary, apparently to improve table layout. The problem is that such environment is incompatible with adjustbox. While, in thesis, it should be possible to override it or to redefine tabulary, I was unable to produce such patch. Also, that would likely break on some future Sphinx version. So, instead, let's just change the font size on bigger tables, in order for them to fit into the page size. That is not as good as adjustbox, and require some manual work, but it should be less sensitive to Sphinx changes. While here, adjust a few other tables whose text is exceeding the cell boundaries. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-09-22[media] v4l: doc: Remove row numbers from tablesLaurent Pinchart
Shorten the tables by removing row numbers in comments, allowing for later insertion of rows with minimal diffs. All changes have been generated by the following script. import io import re import sys def process_table(fname, data): if fname.endswith('hist-v4l2.rst'): data = re.sub(u'\n{1,2}\t( ?) -( ?) ?', u'\n\t\\1 -\\2', data, flags = re.MULTILINE) data = re.sub(u'\n(\t| )- \.\. row [0-9]+\n\t ?-( ?) ?', u'\\1* -\\2', data, flags = re.MULTILINE) else: data = re.sub(u'\n{1,2} -( ?) ?', u'\n -\\1', data, flags = re.MULTILINE) data = re.sub(u'(\n?)(\n\n - \.\. row 1\n)', u'\n\\2', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. row [0-9]+\n -( ?) ?', u' * -\\1', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. row [0-9]+\n \.\. (_[A-Z0-9_`-]*:)', u'\n - .. \\1', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. (_[A-Z0-9_`-]*:)\n -', u' * .. \\1\n\n -', data, flags = re.MULTILINE) data = re.sub(u'^ - ', u' -', data, flags = re.MULTILINE) data = re.sub(u'^(\t{1,2}) ', u'\\1', data, flags = re.MULTILINE) return data def process_file(fname, data): buf = io.StringIO(data) output = '' in_table = False table_separator = 0 for line in buf.readlines(): if line.find('.. flat-table::') != -1: in_table = True table = '' elif in_table and not re.match('^[\t\n]|( )', line): in_table = False output += process_table(fname, table) if in_table: table += line else: output += line if in_table: in_table = False output += process_table(fname, table) return output fname = sys.argv[1] data = file(fname, 'rb').read().decode('utf-8') data = process_file(fname, data) file(fname, 'wb').write(data.encode('utf-8')) Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2016-09-09[media] docs-rst: fix cross-references for videodev2.hMauro Carvalho Chehab
There are several broken references there, due to the conversion to C domain. Fix them using this shell script and manually adjust what's broken: # funcs is a file with the broken functions/references for i in $(cat funcs|sort|uniq|perl -ne 'print "$1\n" if (m/(\S+)$/)'); do i=${i//-/_} echo $i j=${i//_/-} for k in $(git grep -l "_$j:" Documentation/); do sed s,\_$j\:,"c\:type\:\: $i", <$k >a && mv a $k done for k in $(git grep -l "$j" Documentation/media/*.exceptions); do sed s,$j,":c\:type\:\`$i\`", <$k >a && mv a $k done for k in $(git grep -l "$j" Documentation/); do sed "s,:ref:\`$i <$j>\`,:c:type:\`$i\`," <$k >a && mv a $k sed "s,:ref:\`$j\`,:c:type:\`$i\`," <$k >a && mv a $k sed -E "s,:ref:\`(.*)<$j>\`,:c:type:\`\1<$i>\`," <$k >a && mv a $k done for k in $(git grep -l "<$j>" include/media); do sed -E "s,:ref:\`(.*)<$j>\`,enum \&$i," <$k >a && mv a $k done done Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-09-09[media] fix clock_gettime cross-referencesMauro Carvalho Chehab
Fix those warnings: Documentation/media/uapi/cec/cec-ioc-dqevent.rst:124: WARNING: c:func reference target not found: clock_gettime(2) By replacing it with the right function name, using this shell script: for i in `find Documentation/media -type f`; do sed 's,clock_gettime(2),clock_gettime,' <$i >a && mv a $i; done Please notice that this will make the nitpick mode to shut up complaining about that, becasue clock_gettime is on its exclude list, but the cross reference will be undefined until someone documents this function at the core documentation. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-09-09[media] docs-rst: use C domain for enum references on uapiMauro Carvalho Chehab
Change the parse-headers.pl and the corresponding files to use the C domain for enum references. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-09-09[media] docs-rst: convert uAPI structs to C domainMauro Carvalho Chehab
instead of declaring the uAPI structs using usual refs, e. g.: .. _foo-struct: Use the C domain way: .. c:type:: foo_struct This way, the kAPI documentation can use cross-references to point to the uAPI symbols. That solves about ~100 undefined warnings like: WARNING: c:type reference target not found: foo_struct Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] docs-rst: Convert V4L2 uAPI to use C function referencesMauro Carvalho Chehab
Name all ioctl references and make them match the ioctls that are documented. That will improve the cross-reference index, as it will have all ioctls and syscalls there. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] docs-next: stop abusing on the cpp domainMauro Carvalho Chehab
Now that we have an override for the c domain that will do the right thing for the Kernel, stop abusing on the cpp domain. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] docs-rst: fix warnings introduced by LaTeX patchsetMauro Carvalho Chehab
Sphinx is really pedantic with respect to the order where table tags and references are created. Putting things at the wrong order causes troubles. The order that seems to work is: .. raw:: latex .. tabularcolumns:: .. _foo_name: .. cssclass: longtable .. flat-table:: Reorder the tags to the above order, to avoid troubles, and fix remaining warnings introduced by media recent patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] adjust some vidioc-*rst tables with wrong columnsMauro Carvalho Chehab
Adjust simple cases where the columns on some vidioc files are overriding their neighbours. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] vidioc-dqevent.rst: adjust two table columns for LaTeX outputMauro Carvalho Chehab
There are two tables with mangled columns. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-22[media] docs-rst: add tabularcolumns to all tablesMauro Carvalho Chehab
LaTeX doesn't handle too well auto-width on tables, and ReST markup requires an special tag to give it the needed hints. As we're using A4 paper, we have 17cm of useful spaces. As most media tables have widths, let's use it to generate the needed via the following perl script: my ($line_size, $table_header, $has_cols) = (17.5, 0, 0); my $out; my $header = ""; my @widths = (); sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) } while (<>) { if (!$table_header) { $has_cols = 1 if (m/..\s+tabularcolumns::/); if (m/..\s+flat-table::/) { $table_header = 1; $header = $_; next; } $out .= $_; next; } $header .= $_; @widths = split(/ /, $1) if (m/:widths:\s+(.*)/); if (m/^\n$/) { if (!$has_cols && @widths) { my ($tot, $t, $i) = (0, 0, 0); foreach my $v(@widths) { $tot += $v; }; $out .= ".. tabularcolumns:: |"; for ($i = 0; $i < scalar @widths - 1; $i++) { my $v = $widths[$i]; my $w = round(10 * ($v * $line_size) / $tot) / 10; $out .= sprintf "p{%.1fcm}|", $w; $t += $w; } my $w = $line_size - $t; $out .= sprintf "p{%.1fcm}|\n\n", $w; } $out .= $header; $table_header = 0; $has_cols = 0; $header = ""; @widths = (); } } print $out; Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-13Revert "[media] docs-rst: escape [] characters"Mauro Carvalho Chehab
This patch touches on places where it shouldn't: image files and code examples. Also, it doesn't fix all array occurrences. So, let's revert it. This reverts commit ffbab694ede33c294e5864a5e0bf4d1474446a71.
2016-07-12[media] docs-rst: escape [] charactersMauro Carvalho Chehab
Those characters are used for citations. Better to escape, to avoid them to be misinterpreted. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08doc_rst: rename the media Sphinx suff to Documentation/mediaMauro Carvalho Chehab
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>