Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > 561738b0998cf37b7ee69da79c02564d > files > 31

lib64vdpau-devel-0.4-1mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>VDPAU: VdpBitmapSurface; Bitmap Surface object</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>VdpBitmapSurface; Bitmap Surface object<br/>
<small>
[<a class="el" href="group__api__core.html">Core API</a>]</small>
</h1>
<p><div class="dynheader">
Collaboration diagram for VdpBitmapSurface; Bitmap Surface object:</div>
<div class="dynsection">
<center><table><tr><td><img src="group___vdp_bitmap_surface.png" border="0" alt="" usemap="#group______vdp__bitmap__surface_map"/>
<map name="group______vdp__bitmap__surface_map" id="group______vdp__bitmap__surface">
<area shape="rect" id="node1" href="group__api__core.html" title="Core API" alt="" coords="7,5,81,35"/></map></td></tr></table></center>
</div>
</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#gad5fa26d20c3811c3974a6423419c1bb1">VdpBitmapSurfaceQueryCapabilities</a> (<a class="el" href="group___vdp_device.html#gae7abc48cf32de14e4c8f249bf06e1605">VdpDevice</a> device, <a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> surface_rgba_format, <a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> *is_supported, uint32_t *max_width, uint32_t *max_height)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the implementation's VdpBitmapSurface capabilities.  <a href="#gad5fa26d20c3811c3974a6423419c1bb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque handle representing a VdpBitmapSurface object.  <a href="#gad320825923573683205bfe94c4f0f6b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#gae6f9b251f8cfb6a807b0a1f871efb887">VdpBitmapSurfaceCreate</a> (<a class="el" href="group___vdp_device.html#gae7abc48cf32de14e4c8f249bf06e1605">VdpDevice</a> device, <a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> rgba_format, uint32_t width, uint32_t height, <a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> frequently_accessed, <a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> *surface)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a VdpBitmapSurface.  <a href="#gae6f9b251f8cfb6a807b0a1f871efb887"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#ga9f24ca76de4b6c4b59fb9283f9404494">VdpBitmapSurfaceDestroy</a> (<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a VdpBitmapSurface.  <a href="#ga9f24ca76de4b6c4b59fb9283f9404494"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#gaf48a784eea914943a1db1d22575bd9fd">VdpBitmapSurfaceGetParameters</a> (<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface, <a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> *rgba_format, uint32_t *width, uint32_t *height, <a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> *frequently_accessed)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the parameters used to create a VdpBitmapSurface.  <a href="#gaf48a784eea914943a1db1d22575bd9fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___vdp_bitmap_surface.html#ga05d4ffd24f7c919103b3dc2c45487983">VdpBitmapSurfacePutBitsNative</a> (<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface, void const *const *source_data, uint32_t const *source_pitches, <a class="el" href="struct_vdp_rect.html">VdpRect</a> const *destination_rect)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy image data from application memory in the surface's native format to a VdpBitmapSurface.  <a href="#ga05d4ffd24f7c919103b3dc2c45487983"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A VdpBitmapSurface stores RGBA data in a defined format.</p>
<p>A VdpBitmapSurface may be filled with:</p>
<ul>
<li>Data provided by the CPU via the <a class="el" href="group___vdp_bitmap_surface.html#ga05d4ffd24f7c919103b3dc2c45487983">VdpBitmapSurfacePutBitsNative</a> function.</li>
</ul>
<p>VdpBitmapSurface content may be accessed by:</p>
<ul>
<li>The Hardware that implements <a class="el" href="group___vdp_output_surface.html">VdpOutputSurface</a> <a class="el" href="group___vdp_output_surface_render.html">rendering functionality</a></li>
</ul>
<p>VdpBitmapSurface objects are intended to store static read-only data, such as font glyphs, and the bitmaps used to compose an applications' user-interface.</p>
<p>The primary differences between VdpBitmapSurfaces and <a class="el" href="group___vdp_output_surface.html">VdpOutputSurface</a>s are:</p>
<ul>
<li>You cannot render to a VdpBitmapSurface, just upload native data via the PutBits API.</li>
</ul>
<ul>
<li>The read-only nature of a VdpBitmapSurface gives the implementation more flexibility in its choice of data storage location for the bitmap data. For example, some implementations may choose to store some/all VdpBitmapSurface objects in system memory to relieve GPU memory pressure.</li>
</ul>
<ul>
<li>VdpBitmapSurface and VdpOutputSurface may support different subsets of all known RGBA formats. </li>
</ul>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gad320825923573683205bfe94c4f0f6b9"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurface" ref="gad320825923573683205bfe94c4f0f6b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An opaque handle representing a VdpBitmapSurface object. </p>

</div>
</div>
<a class="anchor" id="gae6f9b251f8cfb6a807b0a1f871efb887"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurfaceCreate" ref="gae6f9b251f8cfb6a807b0a1f871efb887" args="(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a> <a class="el" href="group___vdp_bitmap_surface.html#gae6f9b251f8cfb6a807b0a1f871efb887">VdpBitmapSurfaceCreate</a>(<a class="el" href="group___vdp_device.html#gae7abc48cf32de14e4c8f249bf06e1605">VdpDevice</a> device, <a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> rgba_format, uint32_t width, uint32_t height, <a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> frequently_accessed,<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> *surface)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a VdpBitmapSurface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>The device that will contain the surface. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rgba_format</em>&nbsp;</td><td>The format of the new surface. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the new surface. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the new surface. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>frequently_accessed</em>&nbsp;</td><td>Is this bitmap used frequently, or infrequently, by compositing options? Implementations may use this as a hint to determine how to allocate the underlying storage for the surface. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>surface</em>&nbsp;</td><td>The new surface's handle. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>VdpStatus The completion status of the operation.</dd></dl>
<p>The memory backing the surface may not be initialized during creation. Applications are expected initialize any region that they use, via <a class="el" href="group___vdp_bitmap_surface.html#ga05d4ffd24f7c919103b3dc2c45487983">VdpBitmapSurfacePutBitsNative</a>. </p>

</div>
</div>
<a class="anchor" id="ga9f24ca76de4b6c4b59fb9283f9404494"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurfaceDestroy" ref="ga9f24ca76de4b6c4b59fb9283f9404494" args="(VdpBitmapSurface surface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a> <a class="el" href="group___vdp_bitmap_surface.html#ga9f24ca76de4b6c4b59fb9283f9404494">VdpBitmapSurfaceDestroy</a>(<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy a VdpBitmapSurface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>surface</em>&nbsp;</td><td>The surface's handle. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>VdpStatus The completion status of the operation. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf48a784eea914943a1db1d22575bd9fd"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurfaceGetParameters" ref="gaf48a784eea914943a1db1d22575bd9fd" args="(VdpBitmapSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height, VdpBool *frequently_accessed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a> <a class="el" href="group___vdp_bitmap_surface.html#gaf48a784eea914943a1db1d22575bd9fd">VdpBitmapSurfaceGetParameters</a>(<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface,<a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> *rgba_format, uint32_t *width, uint32_t *height, <a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> *frequently_accessed)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the parameters used to create a VdpBitmapSurface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>surface</em>&nbsp;</td><td>The surface's handle. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>rgba_format</em>&nbsp;</td><td>The format of the surface. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>width</em>&nbsp;</td><td>The width of the surface. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>height</em>&nbsp;</td><td>The height of the surface. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>frequently_accessed</em>&nbsp;</td><td>The frequently_accessed state of the surface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>VdpStatus The completion status of the operation. </dd></dl>

</div>
</div>
<a class="anchor" id="ga05d4ffd24f7c919103b3dc2c45487983"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurfacePutBitsNative" ref="ga05d4ffd24f7c919103b3dc2c45487983" args="(VdpBitmapSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a> <a class="el" href="group___vdp_bitmap_surface.html#ga05d4ffd24f7c919103b3dc2c45487983">VdpBitmapSurfacePutBitsNative</a>(<a class="el" href="group___vdp_bitmap_surface.html#gad320825923573683205bfe94c4f0f6b9">VdpBitmapSurface</a> surface, void const *const *source_data, uint32_t const *source_pitches, <a class="el" href="struct_vdp_rect.html">VdpRect</a> const *destination_rect)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy image data from application memory in the surface's native format to a VdpBitmapSurface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>surface</em>&nbsp;</td><td>The surface's handle. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>source_data</em>&nbsp;</td><td>Pointers to the application data buffers from which the image data will be copied. Note that this is an array of pointers, one per plane. The source_format parameter will define how many planes are required. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>source_pitches</em>&nbsp;</td><td>Pointers to the pitch values for the application data buffers. Note that this is an array of pointers, one per plane. The source_format parameter will define how many planes are required. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>destination_rect</em>&nbsp;</td><td>The sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>VdpStatus The completion status of the operation. </dd></dl>

</div>
</div>
<a class="anchor" id="gad5fa26d20c3811c3974a6423419c1bb1"></a><!-- doxytag: member="vdpau.h::VdpBitmapSurfaceQueryCapabilities" ref="gad5fa26d20c3811c3974a6423419c1bb1" args="(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__error__handling.html#ga7fa6c302213052e531b20bab723e5778">VdpStatus</a> <a class="el" href="group___vdp_bitmap_surface.html#gad5fa26d20c3811c3974a6423419c1bb1">VdpBitmapSurfaceQueryCapabilities</a>(<a class="el" href="group___vdp_device.html#gae7abc48cf32de14e4c8f249bf06e1605">VdpDevice</a> device, <a class="el" href="group__misc__types.html#ga718383d01ac1ff36094fb46f91a8a3aa">VdpRGBAFormat</a> surface_rgba_format,<a class="el" href="group__base__types.html#ga2572319be6fed508c86cbe5ca96eeb73">VdpBool</a> *is_supported, uint32_t *max_width, uint32_t *max_height)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Query the implementation's VdpBitmapSurface capabilities. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>The device to query. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>surface_rgba_format</em>&nbsp;</td><td>The surface format for which information is requested. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>is_supported</em>&nbsp;</td><td>Is this surface format supported? </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>max_width</em>&nbsp;</td><td>The maximum supported surface width for this chroma type. </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>max_height</em>&nbsp;</td><td>The maximum supported surface height for this chroma type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>VdpStatus The completion status of the operation. </dd></dl>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>