From 13dd7296324d74df6d1bba48deb253beaf895a15 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Sat, 31 Oct 2009 18:54:57 +0000 Subject: update to libXv 1.0.5 --- lib/libXv/man/Makefile.am | 13 +- lib/libXv/man/Makefile.in | 29 ++- lib/libXv/man/Xv.man | 125 +++++++++---- lib/libXv/man/XvCreateImage.man | 103 +++++++++++ lib/libXv/man/XvFreeAdaptorInfo.man | 32 ++-- lib/libXv/man/XvFreeEncodingInfo.man | 31 ++-- lib/libXv/man/XvGetPortAttribute.man | 92 +++++----- lib/libXv/man/XvGetStill.man | 105 ++++++----- lib/libXv/man/XvGetVideo.man | 103 +++++------ lib/libXv/man/XvGrabPort.man | 47 +++-- lib/libXv/man/XvListImageFormats.man | 107 ++++++++++++ lib/libXv/man/XvPortNotify.man | 22 +-- lib/libXv/man/XvPutImage.man | 77 ++++++++ lib/libXv/man/XvPutStill.man | 72 +++++--- lib/libXv/man/XvPutVideo.man | 80 +++++---- lib/libXv/man/XvQueryAdaptors.man | 43 +++-- lib/libXv/man/XvQueryBestSize.man | 43 ++--- lib/libXv/man/XvQueryEncodings.man | 52 +++--- lib/libXv/man/XvQueryExtension.man | 45 ++--- lib/libXv/man/XvQueryPortAttributes.man | 55 ++++++ lib/libXv/man/XvSelectPortNotify.man | 46 +++-- lib/libXv/man/XvSelectVideoNotify.man | 37 ++-- lib/libXv/man/XvSetPortAttribute.man | 102 +++++------ lib/libXv/man/XvShmCreateImage.man | 1 + lib/libXv/man/XvShmPutImage.man | 1 + lib/libXv/man/XvStopVideo.man | 45 ++--- lib/libXv/man/XvUngrabPort.man | 37 ++-- lib/libXv/man/XvVideoNotify.man | 32 ++-- lib/libXv/man/xv-library-v2.2.txt | 300 ++++++++++++++++++++++++++++++++ 29 files changed, 1345 insertions(+), 532 deletions(-) create mode 100644 lib/libXv/man/XvCreateImage.man create mode 100644 lib/libXv/man/XvListImageFormats.man create mode 100644 lib/libXv/man/XvPutImage.man create mode 100644 lib/libXv/man/XvQueryPortAttributes.man create mode 100644 lib/libXv/man/XvShmCreateImage.man create mode 100644 lib/libXv/man/XvShmPutImage.man create mode 100644 lib/libXv/man/xv-library-v2.2.txt (limited to 'lib/libXv/man') diff --git a/lib/libXv/man/Makefile.am b/lib/libXv/man/Makefile.am index 25408b7f0..0e76d72f6 100644 --- a/lib/libXv/man/Makefile.am +++ b/lib/libXv/man/Makefile.am @@ -29,29 +29,37 @@ libmandir = $(LIB_MAN_DIR) libman_PRE = \ Xv.man \ + XvCreateImage.man \ XvFreeAdaptorInfo.man \ XvFreeEncodingInfo.man \ XvGetPortAttribute.man \ XvGetStill.man \ XvGetVideo.man \ XvGrabPort.man \ + XvListImageFormats.man \ XvPortNotify.man \ + XvPutImage.man \ XvPutStill.man \ XvPutVideo.man \ XvQueryAdaptors.man \ XvQueryBestSize.man \ XvQueryEncodings.man \ XvQueryExtension.man \ + XvQueryPortAttributes.man \ XvSelectPortNotify.man \ XvSelectVideoNotify.man \ XvSetPortAttribute.man \ + XvShmCreateImage.man \ + XvShmPutImage.man \ XvStopVideo.man \ XvUngrabPort.man \ XvVideoNotify.man libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) -EXTRA_DIST = $(libman_PRE) +LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%) + +EXTRA_DIST = $(libman_PRE) xv-library-v2.2.txt CLEANFILES = $(libman_DATA) @@ -63,9 +71,10 @@ XORGRELSTRING = @PACKAGE_STRING@ MAN_SUBSTS = \ -e 's/__vendorversion__/"$(XORGRELSTRING)" "$(XORGMANNAME)"/' \ + -e 's/__libmandirsuffix__/$(LIB_MAN_DIR_SUFFIX)/g' \ -e 's/__libmansuffix__/$(LIB_MAN_SUFFIX)/g' SUFFIXES = .$(LIB_MAN_SUFFIX) .man .man.$(LIB_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ diff --git a/lib/libXv/man/Makefile.in b/lib/libXv/man/Makefile.in index b44fed6ef..7052eb6c6 100644 --- a/lib/libXv/man/Makefile.in +++ b/lib/libXv/man/Makefile.in @@ -100,8 +100,10 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ @@ -122,6 +124,7 @@ F77 = @F77@ FFLAGS = @FFLAGS@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -168,15 +171,9 @@ XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@ XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@ XV_CFLAGS = @XV_CFLAGS@ XV_LIBS = @XV_LIBS@ -ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@ ac_ct_F77 = @ac_ct_F77@ -ac_ct_NMEDIT = @ac_ct_NMEDIT@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ @@ -193,23 +190,31 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ +datarootdir = @datarootdir@ +distcleancheck_listfiles = @distcleancheck_listfiles@ +docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ +htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ @@ -217,28 +222,35 @@ target_alias = @target_alias@ libmandir = $(LIB_MAN_DIR) libman_PRE = \ Xv.man \ + XvCreateImage.man \ XvFreeAdaptorInfo.man \ XvFreeEncodingInfo.man \ XvGetPortAttribute.man \ XvGetStill.man \ XvGetVideo.man \ XvGrabPort.man \ + XvListImageFormats.man \ XvPortNotify.man \ + XvPutImage.man \ XvPutStill.man \ XvPutVideo.man \ XvQueryAdaptors.man \ XvQueryBestSize.man \ XvQueryEncodings.man \ XvQueryExtension.man \ + XvQueryPortAttributes.man \ XvSelectPortNotify.man \ XvSelectVideoNotify.man \ XvSetPortAttribute.man \ + XvShmCreateImage.man \ + XvShmPutImage.man \ XvStopVideo.man \ XvUngrabPort.man \ XvVideoNotify.man libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) -EXTRA_DIST = $(libman_PRE) +LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%) +EXTRA_DIST = $(libman_PRE) xv-library-v2.2.txt CLEANFILES = $(libman_DATA) # Strings to replace in man pages @@ -246,6 +258,7 @@ XORGRELSTRING = @PACKAGE_STRING@ XORGMANNAME = X Version 11 MAN_SUBSTS = \ -e 's/__vendorversion__/"$(XORGRELSTRING)" "$(XORGMANNAME)"/' \ + -e 's/__libmandirsuffix__/$(LIB_MAN_DIR_SUFFIX)/g' \ -e 's/__libmansuffix__/$(LIB_MAN_SUFFIX)/g' SUFFIXES = .$(LIB_MAN_SUFFIX) .man @@ -433,7 +446,7 @@ uninstall-am: uninstall-info-am uninstall-libmanDATA .man.$(LIB_MAN_SUFFIX): - sed $(MAN_SUBSTS) < $< > $@ + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/lib/libXv/man/Xv.man b/lib/libXv/man/Xv.man index 92f160819..14abb718d 100644 --- a/lib/libXv/man/Xv.man +++ b/lib/libXv/man/Xv.man @@ -1,12 +1,12 @@ -.TH Xv __libmansuffix__ __vendorversion__ +.TH Xv __libmansuffix__ __vendorversion__ "libXv Functions" .\" -.SH Name +.SH NAME Xv \- X Window System video extension -.SH Description -The Xv extension provides support for video adaptors attached to an X -display. It takes the approach that a display may have one or more -video adaptors, each of which has one or more ports through which -independent video streams pass. +.SH DESCRIPTION +The X Video Extension (Xv) extension provides support for video +adaptors attached to an X display. It takes the approach that a +display may have one or more video adaptors, each of which has one or +more ports through which independent video streams pass. .PP An adaptor may be able to display video in a drawable, capture video from a drawable, or both. It translates between video encoding (NTSC, @@ -14,55 +14,112 @@ PAL, SECAM, etc...) and drawable format (depth and visual-id pair). An adaptor may support multiple video encodings and/or multiple drawable formats. .PP -Clients use Xv(__libmansuffix__) to gain access and manage sharing of a display's -video resources. Typically, a client will use XvQueryExtension(__libmansuffix__) to -determine the status of the extension, XvQueryAdaptors(__libmansuffix__) to get a -description of what video adaptors exist, and XvQueryEncodings(__libmansuffix__) to -get a description of what video encodings an adaptor supports. +Clients use +.BR Xv (__libmansuffix__) +to gain access and manage sharing of a display's +video resources. Typically, a client will use +.BR XvQueryExtension (__libmansuffix__) +to determine the status of the extension, +.BR XvQueryAdaptors (__libmansuffix__) +to get a description of what video adaptors exist, and +.BR XvQueryEncodings (__libmansuffix__) +to get a description of what video encodings an adaptor supports. .PP Once a client has determined what video resources are available, it is free to put video into a drawable or get video from a drawable, according the capabilities supported. Clients can select to receive events when video activity changes in a drawable and when port attributes have changed. -.SH Summary of Library Functions -The following is a summary of Xv library functions: +.PP +The Xv protocol version 2.2 and later is extended to +support client images in alternate colorspaces (XvImages). +Xv adaptors which are capable of displaying XvImages will have +the XvImageMask field set in the type field of the XvAdaptorInfo. +XvImage formats supported by the port may be queried with +.BR XvListImageFormats (__libmansuffix__). +XvImages may be created with the help of +.BR XvCreateImage (__libmansuffix__) +or +.BR XvShmCreateImage (__libmansuffix__); +XvImages may be displayed with +.BR XvPutImage (__libmansuffix__) +or +.BR XvShmPutImage (__libmansuffix__). +The Port attributes of the port specified in the Xv(Shm)PutImage +command will be valid for the image operation when applicable. +There will be a port encoding with the name "XV_IMAGE". The width and height +of that encoding will indicate the maximum source image size. +.SH SUMMARY OF LIBRARY FUNCTIONS +The following is a summary of Xv library functions and events: +.sp 1l +.BR XvCreateImage (__libmansuffix__) +\- create an XvImage +.sp 1l +.BR XvGetPortAttribute (__libmansuffix__) +\- return current port attribute value +.sp 1l +.BR XvGetStill (__libmansuffix__) +\- capture a single frame of video from a drawable +.sp 1l +.BR XvGetVideo (__libmansuffix__) +\- capture video from a drawable +.sp 1l +.BR XvGrabPort (__libmansuffix__) +\- lock port for exclusive use by client +.sp 1l +.BR XvListImageFormats (__libmansuffix__) +\- return list of image formats for a port .sp 1l -XvGetPortAttribute(__libmansuffix__) \- return current port attribute value +.BR XvPortNotify (__libmansuffix__) +\- event generated when port attributes change .sp 1l -XvGetStill(__libmansuffix__) \- capture a single frame of video from a drawable +.BR XvPutImage (__libmansuffix__) +\- write a XvImage to a drawable .sp 1l -XvGetVideo(__libmansuffix__) \- capture video from a drawable +.BR XvPutStill (__libmansuffix__) +\- write a single frame of video to a drawable .sp 1l -XvGrabPort(__libmansuffix__) \- lock port for exclusive use by client +.BR XvPutVideo (__libmansuffix__) +\- write video into a drawable .sp 1l -XvPortNotify(__libmansuffix__) \- event generated when port attributes change +.BR XvQueryAdaptors (__libmansuffix__) +\- return adaptor information for a screen .sp 1l -XvPutStill(__libmansuffix__) \- write a single frame of video to a drawable +.BR XvQueryBestSize (__libmansuffix__) +\- determine the optimum drawable region size .sp 1l -XvPutVideo(__libmansuffix__) \- write video into a drawable +.BR XvQueryEncodings (__libmansuffix__) +\- return list of encodings for an adaptor .sp 1l -XvQueryAdaptors(__libmansuffix__) \- return adaptor information for a screen +.BR XvQueryExtension (__libmansuffix__) +\- return version and revision of extension .sp 1l -XvQueryBestSize(__libmansuffix__) \- determine the optimum drawable region size +.BR XvQueryPortAttributes (__libmansuffix__) +\- return list of attributes of a port .sp 1l -XvQueryEncodings(__libmansuffix__) \- return list of encodings for an adaptor +.BR XvSelectPortNotify (__libmansuffix__) +\- enable or disable XvPortNotify events .sp 1l -XvQueryExtension(__libmansuffix__) \- return version and revision of extension +.BR XvSelectVideoNotify (__libmansuffix__) +\- enable or disable XvVideoNotify events .sp 1l -XvSelectPortNotify(__libmansuffix__) \- enable or disable XvPortNotify events +.BR XvSetPortAttribute (__libmansuffix__) +\- set an attribute for a port .sp 1l -XvSelectVideoNotify(__libmansuffix__) \- enable or disable XvVideoNotify events +.BR XvShmCreateImage (__libmansuffix__) +\- create an XvImage in shared memory .sp 1l -XvSetPortAttribute(__libmansuffix__) \- set an attribute for a port +.BR XvShmPutImage (__libmansuffix__) +\- write a XvImage in shared memory to a drawable .sp 1l -XvStopVideo(__libmansuffix__) \- stop active video +.BR XvStopVideo (__libmansuffix__) +\- stop active video .sp 1l -XvUngrabPort(__libmansuffix__) \- release a grabbed port +.BR XvUngrabPort (__libmansuffix__) +\- release a grabbed port .sp 1l -XvVideoNotify(__libmansuffix__) \- event generated for video processing +.BR XvVideoNotify (__libmansuffix__) +\- event generated for video processing .sp 1l .PP -Each of these functions is described in its own Xv man page. -.br - +Each of these functions and events is described in its own Xv man page. diff --git a/lib/libXv/man/XvCreateImage.man b/lib/libXv/man/XvCreateImage.man new file mode 100644 index 000000000..6cc1558fd --- /dev/null +++ b/lib/libXv/man/XvCreateImage.man @@ -0,0 +1,103 @@ +.TH XvCreateImage __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvCreateImage, XvShmCreateImage \- create an XvImage +.\" +.SH SYNOPSIS +.B #include +.sp +.nf +.BI "XvImage * XvCreateImage (Display *" dpy ", XvPortID " port "," +.BI " int " id ", char *" data "," +.BI " int " width ", int " height ");" +.sp +.BI "XvImage * XvShmCreateImage (Display *" dpy ", XvPortID " port "," +.BI " int " id ", char *" data "," +.BI " int " width ", int " height "," +.BI " XShmSegmentInfo *" shminfo ");" +.fi +.SH ARGUMENTS +.\" +.IP \fIdpy\fR 8 +Specifies the connection to the X server. +.IP \fIport\fR 8 +Specifies the port the XvImage will be used with. +.IP \fIid\fR 8 +Specifies the format of the image to be created by the XvImageFormatValues id. +.IP \fIdata\fR 8 +Specifies the image data. +.IP "\fIwidth\fR, \fIheight\fR" 8 +Specifies the desired width and height of the image. +.\" +.SH DESCRIPTION +.BR XvCreateImage (__libmansuffix__) +is similar to +.BR XCreateImage (__libmansuffix__). +.BR XvShmCreateImage (__libmansuffix__) +is similar to +.BR XShmCreateImage (__libmansuffix__). +The library will allocate the XvImage structure and fill out all +fields except for \fIdata\fR. \fIWidth\fR and \fIheight\fR may be +enlarged in some YUV formats. The size of the data buffer that needs +to be allocated will be given in the \fIdata_size\fR field in the XvImage. +Image data is not allocated by this function. The client may pass a pointer +to the preallocated memory as \fIdata\fR or may allocate the memory and fill in +the XvImage structure's data field after the \fIdata_size\fR field has +been filled out by the server. The XvImage structure may be freed by +.BR XFree (__libmansuffix__). +Shared memory segments are attached/detached with +.BR XShmAttach (__libmansuffix__)/ XShmDetach (__libmansuffix__). +.SH RETURN VALUES +XvImage has the following structure: +.EX + +typedef struct { + int id; + int width, height; + int data_size; + int num_planes; + int *pitches; + int *offsets; + char *data; + XPointer obdata; +} XvImage; + +.EE +.IP \fIid\fR 8 +A descriptor for the format from the XvImageFormatValues structure +returned by +.BR XvListImageFormats (__libmansuffix__). +.IP "\fIwidth, height\fR" 8 +The width and height of the image in pixels. +.IP \fIdata_size\fR 8 +The size of the data buffer in bytes. +.IP \fInum_planes\fR 8 +The number of image planes. +.IP \fIpitches\fR 8 +An array of size \fInum_planes\fR indicating the scanline pitch +in bytes. Each plane may have a different pitch. +.IP \fIoffsets\fR 8 +An array of size \fInum_planes\fR indicating the byte offset +from \fIdata\fR to the start of each plane. +.IP \fIdata\fR 8 +A pointer to the start of the data buffer. +.IP \fIobdata\fR 8 +A private field for holding SHM info. This field will be +set up by the client libraries so the programmer will +generally need not be concerned with this field. +.\" +.SH DIAGNOSTICS +.IP [XvBadPort] 8 +Generated if the requested port does not exist. +.IP [XvBadAlloc] 8 +Generated if the X server was unable to allocate resources required +to complete the operation. +.IP [BadMatch] 8 +Generated if incompatible arguments were supplied, such as a port that +isn't capable of displaying XvImages. +.\" +.SH SEE ALSO +.BR XvListImageFormats (__libmansuffix__), +.BR XCreateImage (__libmansuffix__), +.BR XShmCreateImage (__libmansuffix__), +.BR XShmAttach (__libmansuffix__), +.BR XShmDetach (__libmansuffix__). diff --git a/lib/libXv/man/XvFreeAdaptorInfo.man b/lib/libXv/man/XvFreeAdaptorInfo.man index 95fc3c79f..b901cf362 100644 --- a/lib/libXv/man/XvFreeAdaptorInfo.man +++ b/lib/libXv/man/XvFreeAdaptorInfo.man @@ -1,21 +1,23 @@ -.TH XvFreeAdaptorInfo __libmansuffix__ __vendorversion__ -.SH Name -XvFreeAdaptorInfo \- free adaptor information +.TH XvFreeAdaptorInfo __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvFreeAdaptorInfo \- free adaptor information .\" -.SH Syntax -\fBXvFreeAdaptorInfo(XvAdaptorInfo *\fIp_adaptor_info\fR) -.SH Arguments +.SH SYNOPSIS +.BI "void XvFreeAdaptorInfo(XvAdaptorInfo *" p_adaptor_info ");" +.SH ARGUMENTS .\" .IP \fIp_adaptor_info\fR 8 -Pointer to where the adaptor information is located. +Pointer to where the adaptor information is located. .\" -.SH Description +.SH DESCRIPTION .\" -XvFreeAdaptorInfo(__libmansuffix__) frees adaptor information that -was returned by XvQueryAdaptors(__libmansuffix__). The data structure -used for adaptor information is defined in the -reference page for XvQueryAdaptors(__libmansuffix__). -.SH See Also +.BR XvFreeAdaptorInfo (__libmansuffix__) +frees adaptor information that was returned by +.BR XvQueryAdaptors (__libmansuffix__). +The data structure used for adaptor information is defined in the +reference page for +.BR XvQueryAdaptors (__libmansuffix__). +.SH SEE ALSO .\" -XvQueryAdaptors(__libmansuffix__), XvFreeEncodingInfo(__libmansuffix__) -.br +.BR XvQueryAdaptors (__libmansuffix__), +.BR XvFreeEncodingInfo (__libmansuffix__) diff --git a/lib/libXv/man/XvFreeEncodingInfo.man b/lib/libXv/man/XvFreeEncodingInfo.man index d26dff020..956460df6 100644 --- a/lib/libXv/man/XvFreeEncodingInfo.man +++ b/lib/libXv/man/XvFreeEncodingInfo.man @@ -1,21 +1,22 @@ -.TH XvFreeEncodingInfo __libmansuffix__ __vendorversion__ -.SH Name -XvFreeEncodingInfo \- free encoding information +.TH XvFreeEncodingInfo __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvFreeEncodingInfo \- free encoding information .\" -.SH Syntax -\fBXvFreeEncodingInfo(XvEncodingInfo *\fIp_encoding_info\fR)" -.SH Arguments +.SH SYNOPSIS +.BI "void XvFreeEncodingInfo(XvEncodingInfo *" p_encoding_info ");" +.SH ARGUMENTS .\" .IP \fIp_encoding_info\fR 8 -Pointer to where the encoding information is located. +Pointer to where the encoding information is located. .\" -.SH Description +.SH DESCRIPTION .\" -XvFreeEncodingInfo(__libmansuffix__) frees encoding information that -was returned by XvQueryEncodings(__libmansuffix__). The data structure -used for encoding information is defined in the -reference page for XvQueryEncodings(__libmansuffix__). -.SH See Also +.BR XvFreeEncodingInfo (__libmansuffix__) +frees encoding information that was returned by +.BR XvQueryEncodings (__libmansuffix__). +The data structure used for encoding information is defined in the +reference page for +.BR XvQueryEncodings (__libmansuffix__). +.SH SEE ALSO .\" -XvQueryEncodings(__libmansuffix__) -.br +.BR XvQueryEncodings (__libmansuffix__) diff --git a/lib/libXv/man/XvGetPortAttribute.man b/lib/libXv/man/XvGetPortAttribute.man index 9e6fcb36e..489db2d65 100644 --- a/lib/libXv/man/XvGetPortAttribute.man +++ b/lib/libXv/man/XvGetPortAttribute.man @@ -1,21 +1,22 @@ -.TH XvGetPortAttribute __libmansuffix__ __vendorversion__ -.SH Name +'\" t +.TH XvGetPortAttribute __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvGetPortAttribute \- return current port attribute value .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvGetPortAttribute(Display *" dpy ", XvPortID " port ", -.BI " Atom " attribute ", int " p_value ");" +.BI "int XvGetPortAttribute(Display *" dpy ", XvPortID " port "," +.BI " Atom " attribute ", int " p_value ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 12 Specifies the connection to the X server. .IP \fIport\fR 12 Specifies the port, associated with the given display, for -which the attribute values are to be returned. +which the attribute values are to be returned. .IP \fIattribute\fR 12 An atom that identifies the attribute to be queried by this request. Control atoms are obtained using the XInternAtom @@ -24,59 +25,52 @@ request with a string from the following table. Pointer to the location where the attribute value is written on return. .\" -.SH Description +.SH DESCRIPTION .\" .PP -XvGetPortAttribute(__libmansuffix__) returns the current value of the requested -port attribute in the integer pointed to by \fIp_value\fR. -The attribute is identified using an Atom that equates to the attribute name. +.BR XvGetPortAttribute (__libmansuffix__) +returns the current value of the requested +port attribute in the integer pointed to by \fIp_value\fR. +The attribute is identified using an Atom that equates to the attribute name. The XInternAtom request can be used with one of the strings below to return a matching Atom. -.bp .PP -.\" .TS -.\" tab(@); -.\" lfHB lfHB lfHB -.\" lfR lfR lfR . -.\" _ -.\" .PP -.\" .sp 4p -.\" Attribute String@Type@Default -.\" .sp 6p -.\" _ -.\" .sp 6p -.\" "XV_ENCODING"@XvEncodingID@Server dependent -.\" "XV_HUE"@[-1000...1000]@0 -.\" "XV_SATURATION"@[-1000...1000]@0 -.\" "XV_BRIGHTNESS"@[-1000...1000]@0 -.\" "XV_CONTRAST"@[-1000...1000]@0 -.\" .sp 6p -.\" .TE -.nf -Attribute String Type Default - -"XV_ENCODING" XvEncodingID Server dependent -"XV_HUE" [-1000...1000] 0 -"XV_SATURATION" [-1000...1000] 0 -"XV_BRIGHTNESS" [-1000...1000] 0 -"XV_CONTRAST" [-1000...1000] 0 -.fi -.SH Returned Values +.TS +tab(@); +lfHB lfHB lfHB +lfR lfR lfR . +_ +.PP +.sp 4p +Attribute String@Type@Default +.sp 6p +_ +.sp 6p +"XV_ENCODING"@XvEncodingID@Server dependent +"XV_HUE"@[-1000...1000]@0 +"XV_SATURATION"@[-1000...1000]@0 +"XV_BRIGHTNESS"@[-1000...1000]@0 +"XV_CONTRAST"@[-1000...1000]@0 +.sp 6p +.TE +.SH RETURN VALUES .IP [Success] 8 -Returned if XvGetPortAttribute(__libmansuffix__) completed successfully. +Returned if +.BR XvGetPortAttribute (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvGetPortAttribute(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvGetPortAttribute (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadMatch] 8 -Generated if the requested attribute atom does not specify an attribute +Generated if the requested attribute atom does not specify an attribute supported by the adaptor. -.SH See Also +.SH SEE ALSO .\" -XvSetPortAttribute(__libmansuffix__), XvPortNotify(__libmansuffix__) -.br - +.BR XvSetPortAttribute (__libmansuffix__), +.BR XvPortNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvGetStill.man b/lib/libXv/man/XvGetStill.man index 19997edcc..7c3f92d1a 100644 --- a/lib/libXv/man/XvGetStill.man +++ b/lib/libXv/man/XvGetStill.man @@ -1,82 +1,93 @@ -.TH XvGetStill __libmansuffix__ __vendorversion__ -.SH Name +.TH XvGetStill __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvGetStill \- capture a single frame of video from a drawable .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvGetStill(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc ", -.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh ", -.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" +.BI "int XvGetStill(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc "," +.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh "," +.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. .IP \fIport\fR 15 -Defines the port to which the still is output'd. +Defines the port to which the still is output. .IP \fId\fR 15 Defines the drawable from which the still is to be captured. Pixmaps are currently not supported. .IP \fIgc\fR 15 -Defines the graphical context. GC components are: -.I subwindow-mode, -.I clip-x-origin, -.I clip-y-origin, -and -.I clip-mask. +Defines the graphical context. GC components are: +.IR subwindow-mode , +.IR clip-x-origin , +.IR clip-y-origin , +and +.IR clip-mask . .IP \fIvx,vy,vw,vh\fR 15 -Define the location and size of the destination video region -into which the still is to be written. \fIvx\fP and \fIvy\fP define the -.I x and +Define the location and size of the destination video region +into which the still is to be written. \fIvx\fP and \fIvy\fP define the +.IR x and .I y -coordinates of the upper-left corner of the video region; -.I vw and +coordinates of the upper-left corner of the video region; +.IR vw and .I vh define the width and height, in pixels, of the video region. .IP \fIdx,dy,dw,dh\fR 15 Define the location and size of the source drawable from which the -still image is to be captured. -.I dx and -.I dy -define the -.I x and -.I y -coordinates of the upper-left corner of the drawable region; -.I dw and -.I dh +still image is to be captured. +.IR dx and +.I dy +define the +.IR x and +.I y +coordinates of the upper-left corner of the drawable region; +.IR dw and +.I dh define the width and height, in pixels, of the drawable region. .\" -.SH Description +.SH DESCRIPTION .\" -.PN XvGetStill -captures a single frame of video from a drawable. The -position and size of the destination (video) rectangle is specified by \fIvx, -vy, vw\fR, and \fIvh\fR. The position and size of the -source (drawable) rectangle is -specified by \fIdx, dy, dw\fR, and \fIdh\fR. +.PN XvGetStill +captures a single frame of video from a drawable. The +position and size of the destination (video) rectangle is specified by +.IR vx , +.IR vy , +.IR vw , +and +.IR vh . +The position and size of the source (drawable) rectangle is specified by +.IR dx , +.IR dy , +.IR dw , +and +.IR dh . .PP Drawable data is clipped to the bounds of the drawable, scaled to the requested video region size (or the closest size supported) and clipped to the bounds of the video encoding. The contents of any region not updated with drawable data is undefined. .PP -./" If the still is successfully captured an XvVideoNotify event with -./" detail XvStill is generated for the drawable. -./" [mhs]: Not in this universe +.\" If the still is successfully captured an XvVideoNotify event with +.\" detail XvStill is generated for the drawable. +.\" [mhs]: Not in this universe If the port is grabbed by another client, this request is ignored, and an XvVideoNotify event with detail XvBusy is generated for the drawable. -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvGetStill(__libmansuffix__) completed successfully. +Returned if +.BR XvGetStill (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvGetStill(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvGetStill (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadDrawable] 8 @@ -86,8 +97,10 @@ Generated if the requested graphics context does not exist. .IP [BadAlloc] 8 Generated if there were insufficient resources to process the request. .\" -.SH See Also +.SH SEE ALSO .\" -XvPutStill(__libmansuffix__), XvGetVideo(__libmansuffix__), XvPutVideo(__libmansuffix__), XvVideoNotify(__libmansuffix__) -.br +.BR XvPutStill (__libmansuffix__), +.BR XvGetVideo (__libmansuffix__), +.BR XvPutVideo (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvGetVideo.man b/lib/libXv/man/XvGetVideo.man index 6439dadde..be8c08eb8 100644 --- a/lib/libXv/man/XvGetVideo.man +++ b/lib/libXv/man/XvGetVideo.man @@ -1,16 +1,16 @@ -.TH XvGetVideo __libmansuffix__ __vendorversion__ -.SH Name +.TH XvGetVideo __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvGetVideo \- capture video from a drawable .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvGetVideo(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc ", -.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh ", -.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" +.BI "int XvGetVideo(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc "," +.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh "," +.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. @@ -19,49 +19,48 @@ Defines the port to which video output is sent. .IP \fId\fR 15 Defines the drawable (window) from which video output is to be obtained. .IP \fIgc\fR 15 -Defines the graphical context. GC components are: -.I subwindow-mode, -.I clip-x-origin, -.I clip-y-origin, -and -.I clip-mask. +Defines the graphical context. GC components are: +.IR subwindow-mode , +.IR clip-x-origin , +.IR clip-y-origin , +and +.IR clip-mask . .IP \fIvx,vy,vw,vh\fR 15 -Define the location and size of the video region is to be written. \fIvx\fP -and \fIvy\fP define the -.I x and +Define the location and size of the video region is to be written. \fIvx\fP +and \fIvy\fP define the +.IR x and .I y -coordinates of the upper-left corner of the video region; -.I vw and +coordinates of the upper-left corner of the video region; +.IR vw and .I vh define the width and height, in pixels, of the video region. .IP \fIdx,dy,dw,dh\fR 15 Define the location of the source drawable from which the -video image is to be taken. -.I dx and -.I dy -define the -.I x and -.I y -coordinates of the upper-left corner of the drawable region; -.I dw and -.I dh +video image is to be taken. +.IR dx and +.I dy +define the +.IR x and +.I y +coordinates of the upper-left corner of the drawable region; +.IR dw and +.I dh define the width and height, in pixels, of the drawable region. -.br -.SH Description +.SH DESCRIPTION .PN XvGetVideo outputs video from a drawable. The position -and size of the destination rectangle is specified by -.I vx, -.I vy, -.I vw, -and -.I vh. -The position and size of the source rectangle is specified by -.I dx, -.I dy, -.I dw, -and -.I dh. +and size of the destination rectangle is specified by +.IR vx , +.IR vy , +.IR vw , +and +.IR vh . +The position and size of the source rectangle is specified by +.IR dx , +.IR dy , +.IR dw , +and +.IR dh . .PP Drawable data is clipped to the bounds of the drawable, scaled to the requested video region size (or the closest size supported) and @@ -76,16 +75,18 @@ is generated for the old drawable. If the port is grabbed by another client, this request is ignored, and an XvVideoNotify event with detail XvBusy is generated for the drawable. .\" -.br -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvGetVideo(__libmansuffix__) completed successfully. +Returned if +.BR XvGetVideo (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvGetVideo(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvGetVideo (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadGC] 8 @@ -94,8 +95,8 @@ Generated if the requested graphics context does not exist. Generated if the requested drawable does not exist. .IP [BadAlloc] 8 Generated if there were insufficient resources to process the request. -.SH See Also -.br +.SH SEE ALSO .\" -XvGetStill(__libmansuffix__), XvPutVideo(__libmansuffix__), XvVideoNotify(__libmansuffix__) -.br +.BR XvGetStill (__libmansuffix__), +.BR XvPutVideo (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvGrabPort.man b/lib/libXv/man/XvGrabPort.man index 50e653948..0e052df5c 100644 --- a/lib/libXv/man/XvGrabPort.man +++ b/lib/libXv/man/XvGrabPort.man @@ -1,14 +1,14 @@ -.TH XvGrabPort __libmansuffix__ __vendorversion__ -.SH Name +.TH XvGrabPort __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvGrabPort \- lock port for exclusive use by client .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvGrabPort(Display *" dpy ", XvPortID " port ", Time " time ");" +.BI "int XvGrabPort(Display *" dpy ", XvPortID " port ", Time " time ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. @@ -17,26 +17,33 @@ Defines the port to be grabbed. .IP \fItime\fR 8 Specifies the request timestamp. .\" -.SH Description +.SH DESCRIPTION .\" -XvGrabPort(__libmansuffix__) grabs a port. Once a client grabs a port, -only that client can make video requests -to that port. +.BR XvGrabPort (__libmansuffix__) +grabs a port. Once a client grabs a port, only that client can make video +requests to that port. .PP If the time is before the current port time, the XvGrabPort request is ignored and XvInvalidTime is returned. If the port is already grabbed by another client, XvAlreadyGrabbed is returned. Otherwise it returns a status of \fISuccess\fR. The port time is updated when the following -requests are processed: XvGrabPort(__libmansuffix__), XvUngrabPort(__libmansuffix__), -XvPutVideo(__libmansuffix__), XvPutStill(__libmansuffix__), XvGetVideo(__libmansuffix__), XvGetStill(__libmansuffix__). +requests are processed: +.BR XvGrabPort (__libmansuffix__), +.BR XvUngrabPort (__libmansuffix__), +.BR XvPutVideo (__libmansuffix__), +.BR XvPutStill (__libmansuffix__), +.BR XvGetVideo (__libmansuffix__), +.BR XvGetStill (__libmansuffix__). .PP If the port is actively processing video for another client, the video is preempted, and an XvVideoNotify event with detail XvPreempted is generated for its drawable. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvGrabPort(__libmansuffix__) completed successfully. +Returned if +.BR XvGrabPort (__libmansuffix__) +completed successfully. .IP [XvInvalidTime] 8 Returned if requested time is older than the current port time. .IP [XvAlreadyGrabbed] 8 @@ -44,13 +51,15 @@ Returned if the port is already grabbed by another client. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvGrabPort(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvGrabPort (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 15 Generated if the requested port does not exist. .\" -.SH See Also +.SH SEE ALSO .\" -XvUngrabPort(__libmansuffix__) XvVideoNotify(__libmansuffix__) -.br +.BR XvUngrabPort (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) + diff --git a/lib/libXv/man/XvListImageFormats.man b/lib/libXv/man/XvListImageFormats.man new file mode 100644 index 000000000..c5159e5a8 --- /dev/null +++ b/lib/libXv/man/XvListImageFormats.man @@ -0,0 +1,107 @@ +.TH XvListImageFormats __libmansuffix__ __vendorversion__ "libXv Functions" +.SH Name +XvListImageFormats \- return list of image formats supported by a video port +.\" +.SH Syntax +.B #include +.sp +.nf +.BI "XvImageFormatValues * XvListImageFormats (Display *" dpy "," +.BI " XvPortID " port ", int *" p_num_formats ");" +.fi +.SH Arguments +.\" +.IP \fIdpy\fR 8 +Specifies the connection to the X server. +.IP \fIport\fR 8 +Specifies the port whose adaptor is to be queried for its list of attributes. +.IP \fIp_num_formats\fR 8 +A pointer to where the number of formats returned in the array is written. +.\" +.SH Description +.BR XvListImageFormats (__libmansuffix__) +returns the XvImageFormatValues supported by the specified port. This list +should be freed with +.BR XFree (__libmansuffix__). +.SH Returned Values +XvImageFormatValues has the following structure: +.EX + + typedef struct { + int id; /* Unique descriptor for the format */ + int type; /* XvRGB, XvYUV */ + int byte_order; /* LSBFirst, MSBFirst */ + char guid[16]; /* Globally Unique IDentifier */ + int bits_per_pixel; + int format; /* XvPacked, XvPlanar */ + int num_planes; + + /* for RGB formats */ + int depth; + unsigned int red_mask; + unsigned int green_mask; + unsigned int blue_mask; + + /* for YUV formats */ + unsigned int y_sample_bits; + unsigned int u_sample_bits; + unsigned int v_sample_bits; + unsigned int horz_y_period; + unsigned int horz_u_period; + unsigned int horz_v_period; + unsigned int vert_y_period; + unsigned int vert_u_period; + unsigned int vert_v_period; + char component_order[32]; /* eg. UYVY */ + int scanline_order; /* XvTopToBottom, XvBottomToTop */ + } XvImageFormatValues; + +.EE +.IP \fIid\fR 8 +A unique descriptor for the format. This is often the FOURCC +for the format, when applicable. This id is used to describe +the format during XvImage creation. +.IP \fItype\fR 8 +XvRGB or XvYUV. +.IP \fIbyte_order\fR 8 +The byte order of the image. It is either LSBFirst or MSBFirst. +.IP \fIguid\fR 8 +The Globally Unique IDentifier (also known as Universally Unique +IDentifier). When not applicable, all characters are NULL. +.IP \fIbits_per_pixel\fR 8 +The bits taken up (but not necessarily used) by each +pixel. Note that for some planar formats which have +fractional bits per pixel (such as IF09) this number +may be rounded _down_. +.IP \fIformat\fR 8 +XvPacked or XvPlanar. +.IP \fInum_planes\fR 8 +The number of planes in planar formats. +.IP \fIdepth\fR 8 +Significant bits per pixel. +.IP "\fIred_mask, green_mask, blue_mask\fR" 8 +The red, green and blue bitmasks (RGB formats only). +.IP \fI?_sample_bits\fR 8 +The size of each sample in bits (YUV formats only). +.IP "\fIhorz_?_period, vert_?_period\fR" 8 +The period (in pixels) on which samples occur in the horizontal and vertical +directions (YUV formats only). +.IP \fIcomponent_order\fR 8 +Upper case ascii characters representing the order that samples are stored +within packed formats. +For planar formats this represents the ordering of the planes. +.IP \fIscanline_order\fR 8 +XvTopToBottom or XvBottomToTop. +.\" +.SH Notes +Since some formats (particularly some planar YUV formats) may not be +completely defined by the parameters above, the guid, when available, +should provide the most accurate description of the format. +.\" +.SH Diagnostics +.IP [XvBadPort] 8 +Generated if the requested port does not exist. +.\" +.SH See Also +.BR XvCreateImage (__libmansuffix__), +.BR XvCreateShmImage (__libmansuffix__) diff --git a/lib/libXv/man/XvPortNotify.man b/lib/libXv/man/XvPortNotify.man index a31dd0369..6fa3bb346 100644 --- a/lib/libXv/man/XvPortNotify.man +++ b/lib/libXv/man/XvPortNotify.man @@ -1,8 +1,8 @@ -.TH XvPortNotify __libmansuffix__ __vendorversion__ -.SH Name +.TH XvPortNotify __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvPortNotify \- event generated when port attributes change .\" -.SH Syntax +.SH SYNOPSIS .B #include .br .sp 1l @@ -43,15 +43,15 @@ An atom specifying the attribute that changed. .IP \fIvalue\fR 15 The new value of the attribute. .\" -.SH Description +.SH DESCRIPTION .\" XvPortNotify events are generated when a port attribute is set using -the XvSetPortAttribute(__libmansuffix__) function. +the +.BR XvSetPortAttribute (__libmansuffix__) +function. .\" -.SH See Also -XvSetPortAttribute(__libmansuffix__), XvGetPortAttribute(__libmansuffix__), XvSelectPortNotify(__libmansuffix__) +.SH SEE ALSO +.BR XvSetPortAttribute (__libmansuffix__), +.BR XvGetPortAttribute (__libmansuffix__), +.BR XvSelectPortNotify (__libmansuffix__). .\" - - - - diff --git a/lib/libXv/man/XvPutImage.man b/lib/libXv/man/XvPutImage.man new file mode 100644 index 000000000..ab9b57597 --- /dev/null +++ b/lib/libXv/man/XvPutImage.man @@ -0,0 +1,77 @@ +.TH XvPutImage __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvPutImage, XvShmPutImage \- display an XvImage +.\" +.SH SYNOPSIS +.B #include +.sp +.nf +.BI "int XvPutImage (Display *" dpy ", XvPortID " port "," +.BI " Drawable " d ", GC " gc ", XvImage *" image "," +.BI " int " src_x ", int " src_y "," +.BI " unsigned int " src_w ", unsigned int " src_h "," +.BI " int " dest_x ", int " dest_y "," +.BI " unsigned int " dest_w ", unsigned int " dest_h ");" +.sp +.BI "int XvShmPutImage (Display *" dpy ", XvPortID " port "," +.BI " Drawable " d ", GC " gc ", XvImage *" image "," +.BI " int " src_x ", int " src_y "," +.BI " unsigned int " src_w ", unsigned int " src_h "," +.BI " int " dest_x ", int " dest_y "," +.BI " unsigned int " dest_w ", unsigned int " dest_h "," +.BI " Bool " send_event ");" +.fi +.SH ARGUMENTS +.\" +.IP \fIdpy\fR 8 +Specifies the connection to the X server. +.IP \fIport\fR 8 +The port id of a port on an XvImage capable adaptor. +.IP \fId - The target drawable. +.IP \fIgc\fR 8 +the graphics context specifying the clip mask to use, if any. +.IP \fIimage\fR 8 +A pointer to the XvImage to be displayed. +.IP \fIsrc_?\fR 8 +The portion of the XvImage to be displayed. +.IP \fIdest_?\fR 8 +The portion of the destination drawable to be filled by the image. +.IP \fIsend_event\fR 8 +Indicates whether or not an XShmCompletionEvent should be sent. If +sent, the event's major_code and minor_code fields will indicate the +Xv extension's major code and XvShmPutImage's minor code. +.\" +.SH DESCRIPTION +.BR XvPutImage (__libmansuffix__) +is similar to +.BR XPutImage (__libmansuffix__). +.BR XvShmPutImage (__libmansuffix__) +is similar to +.BR XShmPutImage (__libmansuffix__). +The library will allocate the XvImage structure and fill out all +fields except for \fIdata\fR. \fIWidth\fR and \fIheight\fR may be +enlarged in some YUV formats. The size of the data buffer that needs +to be allocated will be given in the \fIdata_size\fR field in the XvImage. +Image data is not allocated by this function. The client may pass a pointer +to the preallocated memory as \fIdata\fR or may allocate the memory and fill in +the XvImage structure's data field after the \fIdata_size\fR field has +been filled out by the server. The XvImage structure may be freed by +.BR XFree (__libmansuffix__). +.SH DIAGNOSTICS +.IP [XvBadPort] 8 +Generated if the requested port does not exist. +.IP [XvBadAlloc] 8 +Generated if the X server was unable to allocate resources required +to complete the operation. +.IP [BadMatch] 8 +Generated if incompatible arguments were supplied, such as a port that +isn't capable of displaying XvImages. +.IP [BadShmSegCode] 8 +Generated if an invalid shared memory segment is specified. +.\" +.SH SEE ALSO +.BR XvListImageFormats (__libmansuffix__), +.BR XvCreateImage (__libmansuffix__), +.BR XvShmCreateImage (__libmansuffix__) +.BR XPutImage (__libmansuffix__), +.BR XShmPutImage (__libmansuffix__) diff --git a/lib/libXv/man/XvPutStill.man b/lib/libXv/man/XvPutStill.man index e7552d46d..fb2265934 100644 --- a/lib/libXv/man/XvPutStill.man +++ b/lib/libXv/man/XvPutStill.man @@ -1,16 +1,16 @@ -.TH XvPutStill __libmansuffix__ __vendorversion__ -.SH Name +.TH XvPutStill __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvPutStill \- write a single frame of video to a drawable .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvPutStill(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc ", -.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh ", -.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" +.BI "int XvPutStill(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc "," +.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh "," +.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. @@ -20,30 +20,40 @@ Defines the port from which to get the still. Defines the drawable into which the still is to be written. Pixmaps are currently not supported. .IP \fIgc\fR 15 -Defines the graphical context. -GC components are: -.I subwindow-mode, -.I clip-x-origin, -.I clip-y-origin, -and -.I clip-mask. +Defines the graphical context. +GC components are: +.IR subwindow-mode , +.IR clip-x-origin , +.IR clip-y-origin , +and +.IR clip-mask . .IP \fIvx,vy,vw,vh\fR 15 Define the location and size of the video region -to be written. \fIvx\fP and \fIvy\fP define the +to be written. \fIvx\fP and \fIvy\fP define the upper-left pixel of the region. \fIvw\fP and \fIvh\fP define the width and height, in pixels, of the region. .IP \fIdx,dy,dw,dh\fR 15 Define the location and size of the destination region into which the -still image is written. \fIdx\fP and \fIdy\fP define the upper-left +still image is written. \fIdx\fP and \fIdy\fP define the upper-left corner of the region. \fIdw\fP and \fIdh\fP define the width and height, in pixels, of the region. .\" -.SH Description +.SH DESCRIPTION .\" -XvPutStill(__libmansuffix__) writes a single frame of video to a drawable. -The position and size of the source (video) rectangle is specified by \fIvx, -vy, vw\fR, and \fIvh\fR. The position and size of the destination (drawable) -rectangle is specified by \fIdx, dy, dw\fR, and \fIdh\fR. +.BR XvPutStill (__libmansuffix__) +writes a single frame of video to a drawable. +The position and size of the source (video) rectangle is specified by +.IR vx , +.IR vy , +.IR vw , +and +.IR vh . +The position and size of the destination (drawable) rectangle is specified by +.IR dx , +.IR dy , +.IR dw , +and +.IR dh . .PP Video data is clipped to the bounds of the video encoding, scaled to the requested drawable region size (or the closest size supported) and @@ -54,15 +64,18 @@ an XvVideoNotify event with detail XvBusy is generated for the drawable. If the port is not receiving a valid video signal a VideoNotify event with detail XvHardError is generated for the drawable. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvPutStill(__libmansuffix__) completed successfully. +Returned if +.BR XvPutStill (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvGetStill(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvGetStill (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadDrawable] 8 @@ -71,7 +84,8 @@ Generated if the requested drawable does not exist. Generated if the requested graphics context does not exist. .IP [BadAlloc] 8 Generated if there were insufficient resources to process the request. -.SH See Also +.SH SEE ALSO .\" -XvPutVideo(__libmansuffix__), XvGetStill(__libmansuffix__), XvVideoNotify(__libmansuffix__) -.br +.BR XvPutVideo (__libmansuffix__), +.BR XvGetStill (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvPutVideo.man b/lib/libXv/man/XvPutVideo.man index 35fcd5f28..474baef36 100644 --- a/lib/libXv/man/XvPutVideo.man +++ b/lib/libXv/man/XvPutVideo.man @@ -1,16 +1,16 @@ -.TH XvPutVideo __libmansuffix__ __vendorversion__ -.SH Name +.TH XvPutVideo __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvPutVideo \- write video into a drawable .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvPutVideo(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc ", -.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh ", -.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" +.BI "int XvPutVideo(Display *" dpy ", XvPortID " port ", Drawable " d ", GC " gc "," +.BI " int " vx ", int " vy ", unsigned int " vw ", unsigned int " vh "," +.BI " int " dx ", int " dy ", unsigned int " dw ", unsigned int " dh ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. @@ -19,37 +19,46 @@ Defines the port from which to get video. .IP \fId\fR 15 Defines the drawable (window) into which video is to be written. .IP \fIgc\fR 15 -Defines the graphical context. -GC components are: -.I subwindow-mode, -.I clip-x-origin, -.I clip-y-origin, -and -.I clip-mask. +Defines the graphical context. +GC components are: +.IR subwindow-mode , +.IR clip-x-origin , +.IR clip-y-origin , +and +.IR clip-mask . .IP \fIvx,vy,vw,vh\fR 15 -Define the size and location of the source (video) region -to be written. \fIvx\fP and \fIvy\fP define the +Define the size and location of the source (video) region +to be written. \fIvx\fP and \fIvy\fP define the upper-left pixel of the region. \fIvw\fP and \fIvh\fP define the width and height, in pixels, of the region. .IP \fIdx,dy,dw,dh\fR 15 -Define the location and size of the destination (drawable) region -into which the video image is written. -.I dx +Define the location and size of the destination (drawable) region +into which the video image is written. +.I dx and -.I dy +.I dy define the upper-left pixel of the region. -.I dw -and -.I dh +.I dw +and +.I dh define the width and height, in pixels, of the region. .\" -.SH Description +.SH DESCRIPTION .\" XvPutVideo writes video into a drawable. -The position and size of the source (video) -rectangle is specified by \fIvx, vy, vw\fR, and \fIvh\fR. -The position and size of the destination (drawable) -rectangle is specified by \fIdx, dy, dw\fR, and \fIdh\fR. +The position and size of the source (video) rectangle is specified by +.IR vx , +.IR vy , +.IR vw , +and +.IR vh . +The position and size of the destination (drawable) +rectangle is specified by +.IR dx , +.IR dy , +.IR dw , +and +.IR dh . .PP Video data is clipped to the bounds of the video encoding, scaled to the requested drawable region size (or the closest size supported) and @@ -65,14 +74,16 @@ generated for the drawable. If the port is not receiving a valid video signal or if the video signal is interrupted while video is active a VideoNotify event with detail XvHardError is generated for the drawable. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvPutVideo(__libmansuffix__) completed successfully. +Returned if +.BR XvPutVideo (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 Returned if there were insufficient resources to process the request. -.SH Diagnostics +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadDrawable] 8 @@ -82,7 +93,8 @@ Generated if the requested graphics context does not exist. .IP [BadAlloc] 8 Generated if there were insufficient resources to process the request. .\" -.SH See Also +.SH SEE ALSO .\" -XvPutStill(__libmansuffix__), XvGetVideo(__libmansuffix__), XvVideoNotify(__libmansuffix__) -.br +.BR XvPutStill (__libmansuffix__), +.BR XvGetVideo (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvQueryAdaptors.man b/lib/libXv/man/XvQueryAdaptors.man index 628d932cc..48eabae94 100644 --- a/lib/libXv/man/XvQueryAdaptors.man +++ b/lib/libXv/man/XvQueryAdaptors.man @@ -1,32 +1,33 @@ -.TH XvQueryAdaptors __libmansuffix__ __vendorversion__ -.SH Name +.TH XvQueryAdaptors __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvQueryAdaptors \- return adaptor information for a screen .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvQueryAdaptors(Display *" dpy ", Window " window ", -.BI " unsigned int *" p_num_adaptors ", -.BI " XvAdaptorInfo **" pp_adaptor_info ");" +.BI "int XvQueryAdaptors(Display *" dpy ", Window " window "," +.BI " unsigned int *" p_num_adaptors "," +.BI " XvAdaptorInfo **" pp_adaptor_info ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. .IP \fIwindow\fR 8 -Specifies a window of the screen for which the adaptor +Specifies a window of the screen for which the adaptor information is desired. .IP \fIp_num_adaptors\fR 8 -A pointer to where the number of adaptors for the specified screen +A pointer to where the number of adaptors for the specified screen is returned. .IP \fIpp_adaptor_info\fR 8 A pointer to where the list of returned adaptor information is returned. .\" -.SH Description +.SH DESCRIPTION .\" -XvQueryAdaptors(__libmansuffix__) returns an video adaptor information for +.BR XvQueryAdaptors (__libmansuffix__) + returns an video adaptor information for the screen of the specified drawable. The XvAdaptorInfo structure has the following organization: .EX @@ -49,6 +50,9 @@ The number of ports supported by the adaptor. .IP \fItype\fR 8 A bit mask with the value XvInputMask asserted if the adaptor supports video input, and value XvOutputMask asserted if the adaptor supports video output. +In Xv protocol 2.2 and later, there are 3 new bits defined - XvVideoMask, +XvStillMask and XvImageMask indicating that the adaptor is capable +of video, still or image primitives respectively. .IP \fIname\fR 8 A vendor specific name that identifies the adaptor. .IP \fInum_formats\fR 8 @@ -70,17 +74,20 @@ A drawable depth supported by the adaptor. .IP \fIvisual_id\fR 8 A visual-id supported for the given depth by the adaptor. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvQueryAdaptors(__libmansuffix__) completed successfully. +Returned if +.BR XvQueryAdaptors (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvQueryAdaptors(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvQueryAdaptors (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [Drawable] 8 Returned if the requested drawable does not exist. -.SH See Also -XvFreeAdaptorInfo(__libmansuffix__) +.SH SEE ALSO +.BR XvFreeAdaptorInfo (__libmansuffix__) .\" diff --git a/lib/libXv/man/XvQueryBestSize.man b/lib/libXv/man/XvQueryBestSize.man index 368fa39c7..5031170ab 100644 --- a/lib/libXv/man/XvQueryBestSize.man +++ b/lib/libXv/man/XvQueryBestSize.man @@ -1,22 +1,22 @@ -.TH XvQueryBestSize __libmansuffix__ __vendorversion__ -.SH Name +.TH XvQueryBestSize __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvQueryBestSize \- determine the optimum drawable region size .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvQueryBestSize(Display *" dpy ", XvPort " port ", Bool " motion ", -.BI " unsigned int " vw ", unsigned int " vh ", -.BI " unsigned int " dw ", unsigned int " dh ", -.BI " unsigned int *" p_dw ", unsigned int *" p_dh ");" +.BI "int XvQueryBestSize(Display *" dpy ", XvPort " port ", Bool " motion "," +.BI " unsigned int " vw ", unsigned int " vh "," +.BI " unsigned int " dw ", unsigned int " dh "," +.BI " unsigned int *" p_dw ", unsigned int *" p_dh ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. .IP \fIport\fR 15 -Defines the port associated with the display and adaptor for which +Defines the port associated with the display and adaptor for which the optimum size is to be calculated. .IP \fImotion\fR 15 Specifies \fITrue\fP if the destination size needs to support @@ -30,23 +30,26 @@ Specifies the size of the destination drawable region desired. Pointers to where the closest destination sizes supported by the server are returned. .\" -.SH Description +.SH DESCRIPTION .\" -Some ports may be able to scale incoming or outgoing video. -XvQueryBestSize(__libmansuffix__) returns the size of the closest destination -region that is supported by the adaptor. The returned size is -guaranteed to be smaller than the requested size if a smaller -size is supported. +Some ports may be able to scale incoming or outgoing video. +.BR XvQueryBestSize (__libmansuffix__) +returns the size of the closest destination region that is supported +by the adaptor. The returned size is guaranteed to be smaller than +the requested size if a smaller size is supported. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvQueryBestSize(__libmansuffix__) completed successfully. +Returned if +.BR XvQueryBestSize (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvQueryBestSize(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvQueryBestSize (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .br diff --git a/lib/libXv/man/XvQueryEncodings.man b/lib/libXv/man/XvQueryEncodings.man index d9e4d5049..ef24f59c5 100644 --- a/lib/libXv/man/XvQueryEncodings.man +++ b/lib/libXv/man/XvQueryEncodings.man @@ -1,28 +1,26 @@ -.TH XvQueryEncodings __libmansuffix__ __vendorversion__ -.SH Name +.TH XvQueryEncodings __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvQueryEncodings \- return list of encodings for an adaptor .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvQueryEncodings(Display *" dpy ", XvPortID " port ", -.BI " unsigned int *" p_num_encodings ", -.BI " XvEncodingInfo **" pp_encoding_info ");" +.BI "int XvQueryEncodings(Display *" dpy ", XvPortID " port "," +.BI " unsigned int *" p_num_encodings "," +.BI " XvEncodingInfo **" pp_encoding_info ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. -.IP \fIXvPortID\fR 8 -Specifies the port whose adaptor is to be queried for its -list of encodings. +.IP \fIport\fR 8 +Specifies the port whose adaptor is to be queried for its list of encodings. .IP \fIp_num_encodings\fR 8 A pointer to where the number of encodings supported by the adaptor is written. .IP \fIpp_encoding_info\fR 8 -A pointer to where the list of returned -encoding information is returned. +A pointer to where the list of returned encoding information is returned. XvEncodingInfo has the following structure: .EX @@ -41,7 +39,7 @@ Specifies the encoding-id of the encoding. The encoding-id is used to identify an encoding when a port's encoding attribute is changed. .IP \fIname\fR 8 A pointer to a formatted string that identifies the encoding. The string -has the format "\fItiming-signaltype\fR". For example "ntsc-composite". +has the format "\fItiming\fR-\fIsignaltype\fR". For example "ntsc-composite". .IP \fIwidth,height\fR 8 The width and height, in pixels, of the decoded video image. .IP \fIrate\fR 8 @@ -57,27 +55,31 @@ It has the following structure: } XvRational; .EE -The \fInumerator\fP and \fIdenominator\fP fields specify the +The \fInumerator\fP and \fIdenominator\fP fields specify the appropriate parts of a fractional number. .\" -.SH Description -XvQueryEncodings(__libmansuffix__) returns encoding information about an adaptor. Each -encoding is described by the XvEncodingInfo structure described above. The +.SH DESCRIPTION +.BR XvQueryEncodings (__libmansuffix__) +returns encoding information about an adaptor. Each +encoding is described by the XvEncodingInfo structure described above. The encodings are identified by an encoding-id, which can be used to set or get the encoding attribute of a port. -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvQueryEncodings(__libmansuffix__) completed successfully. +Returned if +.BR XvQueryEncodings (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvQueryEncodings(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvQueryEncodings (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .\" -.SH See Also +.SH SEE ALSO .\" -XvFreeEncodingInfo(__libmansuffix__) -.br +.BR XvFreeEncodingInfo (__libmansuffix__) + diff --git a/lib/libXv/man/XvQueryExtension.man b/lib/libXv/man/XvQueryExtension.man index b238a7949..4cce6dcbe 100644 --- a/lib/libXv/man/XvQueryExtension.man +++ b/lib/libXv/man/XvQueryExtension.man @@ -1,18 +1,18 @@ -.TH XvQueryExtension __libmansuffix__ __vendorversion__ -.SH Name +.TH XvQueryExtension __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvQueryExtension \- return version and release of extension .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvQueryExtension(Display *" dpy ", unsigned int *" p_version ", -.BI " unsigned int *" p_revision ", -.BI " unsigned int *" p_request_base ", -.BI " unsigned int *" p_event_base ", -.BI " unsigned int *" p_error_base ");" +.BI "int XvQueryExtension(Display *" dpy ", unsigned int *" p_version "," +.BI " unsigned int *" p_revision "," +.BI " unsigned int *" p_request_base "," +.BI " unsigned int *" p_event_base "," +.BI " unsigned int *" p_error_base ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. @@ -29,21 +29,24 @@ Pointer to where the extension event base is returned .IP \fIp_error_base\fR 15 Pointer to where the extension error base is returned .\" -.SH Description +.SH DESCRIPTION .\" .PP -XvQueryExtension(__libmansuffix__) returns the version and release -numbers for the Xv video extension currently loaded -on the system. The extension major request number, event base, and error -base are also returned. +.BR XvQueryExtension (__libmansuffix__) +returns the version and release numbers for the Xv video extension +currently loaded on the system. The extension major request number, +event base, and error base are also returned. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvQueryExtension(__libmansuffix__) completed successfully. +Returned if +.BR XvQueryExtension (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 -Returned if the Xv video extension is not available for -the named display. +Returned if the Xv video extension is not available for the named display. .IP [XvBadAlloc] 8 -Returned if XvQueryExtension(__libmansuffix__) failed to allocate memory to process -the request. -.br +Returned if +.BR XvQueryExtension (__libmansuffix__) +failed to allocate memory to process the request. +.SH SEE ALSO +.BR Xv (__libmansuffix__) diff --git a/lib/libXv/man/XvQueryPortAttributes.man b/lib/libXv/man/XvQueryPortAttributes.man new file mode 100644 index 000000000..9fbc50702 --- /dev/null +++ b/lib/libXv/man/XvQueryPortAttributes.man @@ -0,0 +1,55 @@ +.TH XvQueryPortAttributes __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvQueryPortAttributes \- return list of attributes of a video port +.\" +.SH SYNOPSIS +.B #include +.sp +.nf +.BI "XvAttribute* XvQueryPortAttributes(Display *" dpy "," +.BI " XvPortID " port ", int *" p_num_attributes ");" +.fi +.SH ARGUMENTS +.\" +.IP \fIdpy\fR 8 +Specifies the connection to the X server. +.IP \fIport\fR 8 +Specifies the port whose adaptor is to be queried for its list of attributes. +.IP \fIp_num_attributes\fR 8 +A pointer to where the number of attributes returned in the array is written. +.\" +.SH DESCRIPTION +.BR XvQueryPortAttributes (__libmansuffix__) returns the number of attributes +and an array of XvAttributes valid for the given port. The array may be +freed with +.BR XFree (__libmansuffix__). +.SH RETURN VALUES +XvAttribute has the following structure: +.EX + + typedef struct { + int flags; + int min_value; + int max_value; + char *name; + } XvAttribute; + +.EE +.IP \fIflags\fR 8 +May be XvGettable or XvSettable or both OR'd together indicating the +particular attribute is readable, writeable or readable and writeable. +.IP \fImin_value\fR 8 +The minimum attribute values which are valid for the driver. +.IP \fI max_value\fR 8 +The maximum attribute values which are valid for the driver. +.IP \fIname\fR 8 +A string describing the name of the attribute that may be used +to retrieve the Atom for the particular attribute. +.\" +.SH DIAGNOSTICS +.IP [XvBadPort] 8 +Generated if the requested port does not exist. +.\" +.SH SEE ALSO +.BR XvGetPortAttribute (__libmansuffix__), +.BR XvSetPortAttribute (__libmansuffix__) diff --git a/lib/libXv/man/XvSelectPortNotify.man b/lib/libXv/man/XvSelectPortNotify.man index 745d8286f..f31fa24f7 100644 --- a/lib/libXv/man/XvSelectPortNotify.man +++ b/lib/libXv/man/XvSelectPortNotify.man @@ -1,41 +1,49 @@ -.TH XvSelectPortNotify __libmansuffix__ __vendorversion__ -.SH Name -XvSelectPortNotify \- enable or disable XvPortNotify(__libmansuffix__) events +.TH XvSelectPortNotify __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvSelectPortNotify \- enable or disable XvPortNotify events .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvSelectPortNotify(Display *" dpy ", XvPortID " port ", Bool " onoff ");" +.BI "int XvSelectPortNotify(Display *" dpy ", XvPortID " port ", Bool " onoff ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. .IP \fIport\fR 8 Specifies the port for which PortNotify events are to be generated -when its attributes are changed using XvSetPortAttribute(__libmansuffix__). +when its attributes are changed using +.BR XvSetPortAttribute (__libmansuffix__) +. .IP \fIonoff\fR 8 Specifies whether notification is to be enabled or disabled. .\" -.SH Description +.SH DESCRIPTION .\" -XvSelectPortNotify(__libmansuffix__) enables or disables PortNotify event -delivery to the requesting client. XvPortNotify(__libmansuffix__) events are -generated when port attributes are changed using XvSetPortAttribute(__libmansuffix__). +.BR XvSelectPortNotify (__libmansuffix__) +enables or disables PortNotify event delivery to the requesting client. +.BR XvPortNotify (__libmansuffix__) +events are generated when port attributes are changed using +.BR XvSetPortAttribute (__libmansuffix__). .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvSelectPortNotify(__libmansuffix__) completed successfully. +Returned if +.BR XvSelectPortNotify (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvSelectPortNotify(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvSelectPortNotify (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. -.SH See Also +.SH SEE ALSO .\" -XvSetPortNotify(__libmansuffix__), XvSetPortAttribute(__libmansuffix__), XvPortNotify(__libmansuffix__) -.br +.BR XvSetPortNotify (__libmansuffix__), +.BR XvSetPortAttribute (__libmansuffix__), +.BR XvPortNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvSelectVideoNotify.man b/lib/libXv/man/XvSelectVideoNotify.man index f9cbab533..096d006e6 100644 --- a/lib/libXv/man/XvSelectVideoNotify.man +++ b/lib/libXv/man/XvSelectVideoNotify.man @@ -1,14 +1,14 @@ -.TH XvSelectVideoNotify __libmansuffix__ __vendorversion__ -.SH Name +.TH XvSelectVideoNotify __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvSelectVideoNotify \- enable or disable VideoNotify events .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvSelectVideoNotify(Display *" dpy ", Drawable " drawable ", Bool " onoff ");" +.BI "int XvSelectVideoNotify(Display *" dpy ", Drawable " drawable ", Bool " onoff ");" .fi -.SH Arguments +.SH ARGUMENTS .IP \fIdpy\fR 15 Specifies the connection to the X server. .IP \fIdrawable\fR 15 @@ -16,22 +16,27 @@ Defines the drawable in which video activity is to be reported. .IP \fIonoff\fR 15 Selects whether video notification is enabled or disabled. .\" -.SH Description -XvSelectVideoNotify(__libmansuffix__) enables or disables events to be reported for -video activity in a drawable. +.SH DESCRIPTION +.BR XvSelectVideoNotify (__libmansuffix__) +enables or disables +.BR XvVideoNotify (__libmansuffix__) +events to be reported for video activity in a drawable. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvSelectVideoNotify(__libmansuffix__) completed successfully. +Returned if +.BR XvSelectVideoNotify (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvSelectVideoNotify(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvSelectVideoNotify (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [BadDrawable] 8 Generated if the requested drawable does not exist. -.SH See Also +.SH SEE ALSO .\" -XvVideoNotify -.br +.BR XvVideoNotify (__libmansuffix__) + diff --git a/lib/libXv/man/XvSetPortAttribute.man b/lib/libXv/man/XvSetPortAttribute.man index cf255c53e..c1f14dc35 100644 --- a/lib/libXv/man/XvSetPortAttribute.man +++ b/lib/libXv/man/XvSetPortAttribute.man @@ -1,15 +1,16 @@ -.TH XvSetPortAttribute __libmansuffix__ __vendorversion__ -.SH Name -XvSetPortAttribute \- sets an attribute of a video port +'\" t +.TH XvSetPortAttribute __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvSetPortAttribute \- sets an attribute of a video port .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvSetPortAttribute(Display *" dpy ", XvPortID " port ", -.BI " Atom " attribute ", int " value ");" +.BI "int XvSetPortAttribute(Display *" dpy ", XvPortID " port "," +.BI " Atom " attribute ", int " value ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 15 Specifies the connection to the X server. @@ -22,67 +23,68 @@ Can be one of the table entries under the column "String," below. Identifies the value to which \fIattribute\fP is to be set. Can be one of the table entries under the column "Type," below. .\" -.SH Description -XvSetPortAttribute(__libmansuffix__) permits a client to set the port attribute +.SH DESCRIPTION +.BR XvSetPortAttribute (__libmansuffix__) + permits a client to set the port attribute to specified values. This request supports the following values: -.bp .PP -.\" .TS -.\" tab(@); -.\" lfHB lfHB lfHB -.\" lfR lfR lfR . -.\" _ -.\" .PP -.\" .sp 4p -.\" Attribute String@Type@Default -.\" .sp 6p -.\" _ -.\" .sp 6p -.\" "XV_ENCODING"@XvEncodingID@Server dependent -.\" "XV_HUE"@[-1000...1000]@0 -.\" "XV_SATURATION"@[-1000...1000]@0 -.\" "XV_BRIGHTNESS"@[-1000...1000]@0 -.\" "XV_CONTRAST"@[-1000...1000]@0 -.\" .sp 6p -.\" .TE -.nf -Attribute String Type Default - -"XV_ENCODING" XvEncodingID Server dependent -"XV_HUE" [-1000...1000] 0 -"XV_SATURATION" [-1000...1000] 0 -"XV_BRIGHTNESS" [-1000...1000] 0 -"XV_CONTRAST" [-1000...1000] 0 -.fi +.TS +tab(@); +lfHB lfHB lfHB +lfR lfR lfR . +_ +.PP +.sp 4p +Attribute String@Type@Default +.sp 6p +_ +.sp 6p +"XV_ENCODING"@XvEncodingID@Server dependent +"XV_HUE"@[-1000...1000]@0 +"XV_SATURATION"@[-1000...1000]@0 +"XV_BRIGHTNESS"@[-1000...1000]@0 +"XV_CONTRAST"@[-1000...1000]@0 +.sp 6p +.TE .PP The supplied encoding must be one of the encodings listed for the adaptor, otherwise an Encoding error results. .PP If the adaptor does not support the exact hue, saturation, brightness, and contrast levels supplied, the closest levels -supported are assumed. Use XvGetPortAttribute(__libmansuffix__) +supported are assumed. Use +.BR XvGetPortAttribute (__libmansuffix__) to query the resulting levels. .PP -When an XvSetPortAttribute(__libmansuffix__) request is processed, a -PortControlNotify(__libmansuffix__) event is generated for all clients -that have requested for port changes using XvSelectPortNotify(__libmansuffix__). -.SH Returned Values +When an +.BR XvSetPortAttribute (__libmansuffix__) +request is processed, a +.BR XvPortNotify (__libmansuffix__) +event is generated for all clients that have requested notification of +port changes using +.BR XvSelectPortNotify (__libmansuffix__). +.SH RETURN VALUES .IP [Success] 8 -Returned if XvSetPortAttribute(__libmansuffix__) completed successfully. +Returned if +.BR XvSetPortAttribute (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvSelectVideoNotify(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvSelectVideoNotify (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [XvBadEncoding] 8 Generated if an encoding is specified that does not exist. .IP [BadMatch] 8 -Generated if the requested attribute atom does not specify an attribute +Generated if the requested attribute atom does not specify an attribute supported by the adaptor. -.SH See Also +.SH SEE ALSO .\" -XvGetPortAttribute(__libmansuffix__), XvSelectPortNotify(__libmansuffix__), XvPortNotify(__libmansuffix__) -.br +.BR XvGetPortAttribute (__libmansuffix__), +.BR XvQueryPortAttributes (__libmansuffix__), +.BR XvSelectPortNotify (__libmansuffix__), +.BR XvPortNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvShmCreateImage.man b/lib/libXv/man/XvShmCreateImage.man new file mode 100644 index 000000000..f44dd89f5 --- /dev/null +++ b/lib/libXv/man/XvShmCreateImage.man @@ -0,0 +1 @@ +.so man__libmandirsuffix__/XvCreateImage.__libmandirsuffix__ diff --git a/lib/libXv/man/XvShmPutImage.man b/lib/libXv/man/XvShmPutImage.man new file mode 100644 index 000000000..3f1568298 --- /dev/null +++ b/lib/libXv/man/XvShmPutImage.man @@ -0,0 +1 @@ +.so man__libmandirsuffix__/XvPutImage.__libmandirsuffix__ diff --git a/lib/libXv/man/XvStopVideo.man b/lib/libXv/man/XvStopVideo.man index 0c472b017..390452187 100644 --- a/lib/libXv/man/XvStopVideo.man +++ b/lib/libXv/man/XvStopVideo.man @@ -1,14 +1,14 @@ -.TH XvStopVideo __libmansuffix__ __vendorversion__ -.SH Name -XvStopVideo \- stop active video +.TH XvStopVideo __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME +XvStopVideo \- stop active video .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvGetStill(Display *" dpy ", XvPortID " port ", Drawable " draw ");" +.BI "int XvStopVideo(Display *" dpy ", XvPortID " port ", Drawable " draw ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. @@ -16,28 +16,33 @@ Specifies the connection to the X server. Specifies the port for which video is to be stopped. .IP \fIdraw\fR 8 Specifies the drawable associated with the named port. -.SH Description +.SH DESCRIPTION .\" -XvStopVideo(__libmansuffix__) stops active video for the specified port and -drawable. If the port is not processing video, or if it is processing -video in a different drawable, the request is ignored. When video is -stopped a XvVideoNotify(__libmansuffix__) event with detail XvStopped is generated -for the associated drawable. +.BR XvStopVideo (__libmansuffix__) +stops active video for the specified port and drawable. If the port +is not processing video, or if it is processing video in a different +drawable, the request is ignored. When video is stopped a +.BR XvVideoNotify (__libmansuffix__) +event with detail XvStopped is generated for the associated drawable. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvStopVideo(__libmansuffix__) completed successfully. +Returned if +.BR XvStopVideo (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvStopVideo(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvStopVideo (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. .IP [BadDrawable] 8 Generated if the requested drawable does not exist. .\" -.SH See Also -XvGetVideo(__libmansuffix__), XvPutVideo(__libmansuffix__), XvVideoNotifyEvent(__libmansuffix__) -.br +.SH SEE ALSO +.BR XvGetVideo (__libmansuffix__), +.BR XvPutVideo (__libmansuffix__), +.BR XvVideoNotify (__libmansuffix__) diff --git a/lib/libXv/man/XvUngrabPort.man b/lib/libXv/man/XvUngrabPort.man index 6a8884261..6538ff4a7 100644 --- a/lib/libXv/man/XvUngrabPort.man +++ b/lib/libXv/man/XvUngrabPort.man @@ -1,14 +1,14 @@ -.TH XvUngrabPort __libmansuffix__ __vendorversion__ -.SH Name +.TH XvUngrabPort __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvUngrabPort \- release port grabbed for video operation .\" -.SH Syntax +.SH SYNOPSIS .B #include .sp .nf -.BI "XvUngrabPort(Display *" dpy ", XvPortID " port ", Time " time ");" +.BI "int XvUngrabPort(Display *" dpy ", XvPortID " port ", Time " time ");" .fi -.SH Arguments +.SH ARGUMENTS .\" .IP \fIdpy\fR 8 Specifies the connection to the X server. @@ -18,23 +18,26 @@ previously grabbed, the request is ignored. .IP \fItime\fR 8 Specifies the request timestamp. .\" -.SH Description -XvUngrabPort(__libmansuffix__) releases a grabbed port. If \fItime\fR specifies a -time before the last XvGrabPort(__libmansuffix__) was executed, the -request is ignored. +.SH DESCRIPTION +.BR XvUngrabPort (__libmansuffix__) + releases a grabbed port. If \fItime\fR specifies a time before the last +.BR XvGrabPort (__libmansuffix__) +was executed, the request is ignored. .\" -.SH Returned Values +.SH RETURN VALUES .IP [Success] 8 -Returned if XvUngrabPort(__libmansuffix__) completed successfully. +Returned if +.BR XvUngrabPort (__libmansuffix__) +completed successfully. .IP [XvBadExtension] 8 Returned if the Xv extension is unavailable. .IP [XvBadAlloc] 8 -Returned if XvUngrabPort(__libmansuffix__) failed to allocate memory to process -the request. -.SH Diagnostics +Returned if +.BR XvUngrabPort (__libmansuffix__) +failed to allocate memory to process the request. +.SH DIAGNOSTICS .IP [XvBadPort] 8 Generated if the requested port does not exist. -.SH See Also +.SH SEE ALSO .\" -XvGrabPort(__libmansuffix__) -.br +.BR XvGrabPort (__libmansuffix__) diff --git a/lib/libXv/man/XvVideoNotify.man b/lib/libXv/man/XvVideoNotify.man index 573932021..8d0a24b9a 100644 --- a/lib/libXv/man/XvVideoNotify.man +++ b/lib/libXv/man/XvVideoNotify.man @@ -1,8 +1,8 @@ -.TH XvVideoNotify __libmansuffix__ __vendorversion__ -.SH Name +.TH XvVideoNotify __libmansuffix__ __vendorversion__ "libXv Functions" +.SH NAME XvVideoNotify \- event generated for video processing .\" -.SH Syntax +.SH SYNOPSIS .B #include .br .sp 1l @@ -29,7 +29,8 @@ XvVideoNotify \- event generated for video processing .EE .\" .IP \fItype\fR 8 -Specifies the type of event: XvVideoNotify(__libmansuffix__). +Specifies the type of event: +.BR XvVideoNotify . .IP \fIserial\fR 8 Number of the last request processed by the server. .IP \fIsend_event\fR 8 @@ -39,19 +40,24 @@ A pointer to the display the event was read from. .IP \fIdrawable\fR 8 The drawable for which the event was generated. .IP \fIreason\fR 8 -The reason the event was generated: \fBXvStarted\fR, \fBXvStopped\fR, +The reason the event was generated: \fBXvStarted\fR, \fBXvStopped\fR, \fBXvPreempted\fR, \fBXvBusy\fR, \fBXvHardError\fR. .IP \fIport_id\fR 8 The port processing the video for which the event was generated. .\" -.SH Description +.SH DESCRIPTION .\" -XvVideoNotify(__libmansuffix__) events are generated when video -is started, stopped, preempted by another video -request, ignored because the port is grabbed by another client, or interrupted -because of a hard transmission or reception error. +.B XvVideoNotify +events are generated when video is started, stopped, preempted by +another video request, ignored because the port is grabbed by another +client, or interrupted because of a hard transmission or reception +error. .\" -.SH See Also -XvPutVideo(__libmansuffix__), XvPutStill(__libmansuffix__), XvGetVideo(__libmansuffix__), XvGetStill(__libmansuffix__), -XvStopVideo(__libmansuffix__), XvSelectVideoNotify(__libmansuffix__) +.SH SEE ALSO +.BR XvPutVideo (__libmansuffix__), +.BR XvPutStill (__libmansuffix__), +.BR XvGetVideo (__libmansuffix__), +.BR XvGetStill (__libmansuffix__), +.BR XvStopVideo (__libmansuffix__), +.BR XvSelectVideoNotify (__libmansuffix__) .\" diff --git a/lib/libXv/man/xv-library-v2.2.txt b/lib/libXv/man/xv-library-v2.2.txt new file mode 100644 index 000000000..41e7cbd71 --- /dev/null +++ b/lib/libXv/man/xv-library-v2.2.txt @@ -0,0 +1,300 @@ + +Addendum to the Xv Client library documentation +=============================================== + + The following features are new to version 2.2 + +1) In addition to XvInputMask and XvOutputMask masks in the type field + of the XvAdaptorInfo there are 3 new bits defined - XvVideoMask, + XvStillMask and XvImageMask indicating that the adaptor is capable + of video, still or image primitives respectively. + +2) A new function and structure is defined to allow querying + port attributes. + +typedef struct { + int flags; + int min_value; + int max_value; + char *name; +} XvAttribute; + + flags - May be XvGettable or XvSettable or both OR'd together + indicating the particular attribute is readable, writeable + or readable and writeable. + + min_value, max_value - Indicate the minimun and maximum attribute + values which are valid for the driver. + + name - A string describing the name of the attribute that may be used + to retrieve the Atom for the particular attribute. + + +extern XvAttribute* XvQueryPortAttributes( + Display* /* display */, + XvPortID /* port */, + int* /* number */ +); + + XvQueryPortAttributes returns the number of attributes and an + array of XvAttributes valid for the given port. The array may + be freed with XFree(). + + +3) The X Video Extension (Xv) is extended to support client images in +alternate colorspaces (XvImages) in the following way. + + Xv Adaptors which are capable of displaying XvImages will have + the XvImageMask field set in the type field of the XvAdaptorInfo. + + XvImage formats supported by the port may be queried with + XvListImageFormats(). + + XvImages may be created with the help of XvCreateImage() or + XvShmCreateImage(); + + XvImages may be displayed with XvPutImage() or XvShmPutImage(). + + The Port attributes of the port specified in the Xv(Shm)PutImage + command will be valid for the image operation when applicable. + + There will be a port encoding with the name "XV_IMAGE". The + width and height of that encoding will indicate the maximum + source image size. + +typedef struct { + int id; /* Unique descriptor for the format */ + int type; /* XvRGB, XvYUV */ + int byte_order; /* LSBFirst, MSBFirst */ + char guid[16]; /* Globally Unique IDentifier */ + int bits_per_pixel; + int format; /* XvPacked, XvPlanar */ + int num_planes; + + /* for RGB formats */ + int depth; + unsigned int red_mask; + unsigned int green_mask; + unsigned int blue_mask; + + /* for YUV formats */ + unsigned int y_sample_bits; + unsigned int u_sample_bits; + unsigned int v_sample_bits; + unsigned int horz_y_period; + unsigned int horz_u_period; + unsigned int horz_v_period; + unsigned int vert_y_period; + unsigned int vert_u_period; + unsigned int vert_v_period; + char component_order[32]; /* eg. UYVY */ + int scanline_order; /* XvTopToBottom, XvBottomToTop */ +} XvImageFormatValues; + + + id - A unique descriptor for the format. This is often the FOURCC + for the format, when applicable. This id is used to describe + the format during XvImage creation. + + type - XvRGB or XvYUV. + + byte_order - The byte order of the image. It is either LSBFirst + or MSBFirst. + + guid - The Globally Unique IDentifier (also known as Universally Unique + IDentifier). When not applicable, all characters are NULL. + + bits_per_pixel - The bits taken up (but not necessarily used) by each + pixel. Note that for some planar formats which have + fractional bits per pixel (such as IF09) this number + may be rounded _down_. + + format - XvPacked or XvPlanar. + + num_planes - The number of planes in planar formats. + + depth - Significant bits per pixel. + + red_mask, green_mask, blue_mask - The red, green and blue bitmasks + (RGB formats only). + + + ?_sample_bits - The size of each sample in bits (YUV formats only). + + horz_?_period, vert_?_period - The period (in pixels) on which samples + occur in the horizontal and vertical + directions (YUV formats only). + + component_order - Upper case ascii characters representing the order + that samples are stored within packed formats. + For planar formats this represents the ordering of + the planes. + + scanline_order - XvTopToBottom or XvBottomToTop. + +Note: Since some formats (particularly some planar YUV formats) may not + be completely defined by the parameters above, the guid, when + available, should provide the most accurate description of the + format. + + + +XvImageFormatValues * XvListImageFormats ( + Display *display, + XvPortID port_id, + int *count_return +); + + Returns the XvImageFormatValues supported by the specified port. +This list should be freed with XFree(). + + +typedef struct { + int id; + int width, height; + int data_size; + int num_planes; + int *pitches; + int *offsets; + char *data; + XPointer obdata; +} XvImage; + + id - XvImageFormatValues id. + + width, height - The width and height of the image in pixels. + + int data_size - The size of the data buffer in bytes. + + num_planes - The number of image planes. + + pitches - An array of size num_planes indicating the scanline pitch + in bytes. Each plane may have a different pitch. + + offsets - An array of size num_planes indicating the byte offset + from "data" to the start of each plane. + + data - A pointer to the start of the data buffer. + + obdata - A private field for holding SHM info. This field will be + set up by the client libraries so the programmer will + generally need not be concerned with this field. + +XvImage * XvCreateImage ( + Display *display, + XvPortID port, + int id, + char *data, + int width, + int height +); + + display - Specifies the connection to the Xserver. + port - Specifies the port the XvImage will be used with. + id - Specifies the format of the image to be created by + the XvImageFormatValues id. + data - Specifies the image data. + width + height - Specifies the desired width and height of the image. + + This function is similar to XCreateImage. The library will +allocate the XvImage structure and fill out all fields except for +"data". Width and height may be enlarged in some YUV formats. +The size of the data buffer that needs to be allocated will be +give in the "data_size" field in the XvImage. Image data is +not allocated by this function. The client may pass a pointer +to the preallocated memory as "data" or may allocate the memory +and fill in the XvImage structure's data field after the +"data_size" field has been filled out by the server. The XvImage +structure may be freed by XFree(); + + +XvImage * XvShmCreateImage ( + Display *display, + XvPortID port, + int id, + char* data, + int width, + int height, + XShmSegmentInfo *shminfo +); + + This function is similar to XShmCreateImage. The library will +allocate the XvImage structure and fill out all fields except for +"data". Width and height may be enlarged in some YUV formats. +The size of the data buffer that needs to be allocated will be +give in the "data_size" field in the XvImage. Image data is +not allocated by this function. The client may pass a pointer +to the preallocated memory as "data" or may allocate the memory +and fill in the XvImage structure's data field after the +"data_size" field has been filled out by the server. The XvImage +structure may be freed by XFree(); + + +XvPutImage ( + Display *display, + XvPortID id, + Drawable d, + GC gc, + XvImage *image, + int src_x, + int src_y, + unsigned int src_w, + unsigned int src_h, + int dest_x, + int dest_y, + unsigned int dest_w, + unsigned int dest_h, +); + +XvShmPutImage ( + Display *display, + XvPortID id, + Drawable d, + GC gc, + XvImage *image, + int src_x, + int src_y, + unsigned int src_w, + unsigned int src_h, + int dest_x, + int dest_y, + unsigned int dest_w, + unsigned int dest_h, + Bool send_event +); + + display - The connection to the X-Server. + + id - The port id of a port on an XvImage capable adaptor. + + d - The target drawable. + + gc - the graphics context specifying the clip mask to use, if any. + + image - A pointer to the XvImage to be displayed. + + src_? - The portion of the XvImage to be displayed. + + dest_? - The portion of the destination drawable to be filled by the image. + + send_event - Indicates whether or not an XShmCompletionEvent should be + sent. If sent, the event's major_code and minor_code + fields will indicate the Xv extension's major code and + XvShmPutImage's minor code. + +Shared memory segments are attached/detached with XShmAttach/Detach. + + +Some of the possible Errors: + + BadDrawable - The specified drawable does not exist. + BadContext - The specified GC does not exist. + BadMatch - Incompatible arguments such as a port that isn't capable + of displaying XvImages. + XvBadPort - The specified port does not exist. + BadAlloc - The server was unable to allocate resources required + to complete the operation. + BadValue - Some numeric value falls outside the range of the + values accepted by the request. + BadShmSegCode - An invalid shared memory segment. -- cgit v1.2.3