#include "vdpau_private.h"
+/**
+ * Create a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfaceCreate(VdpDevice device,
VdpRGBAFormat rgba_format,
pipe_resource_reference(&res, NULL);
+ vl_compositor_reset_dirty_area(&vlsurface->dirty_area);
+
return VDP_STATUS_OK;
}
+/**
+ * Destroy a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfaceDestroy(VdpOutputSurface surface)
{
return VDP_STATUS_OK;
}
+/**
+ * Retrieve the parameters used to create a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfaceGetParameters(VdpOutputSurface surface,
VdpRGBAFormat *rgba_format,
{
vlVdpOutputSurface *vlsurface;
- VDPAU_MSG(VDPAU_TRACE, "[VDPAU] getting surface parameters\n");
+ VDPAU_MSG(VDPAU_TRACE, "[VDPAU] Getting output surface parameters\n");
vlsurface = vlGetDataHTAB(surface);
if (!vlsurface)
return VDP_STATUS_OK;
}
+/**
+ * Copy image data from a VdpOutputSurface to application memory in the
+ * surface's native format.
+ */
VdpStatus
vlVdpOutputSurfaceGetBitsNative(VdpOutputSurface surface,
VdpRect const *source_rect,
return VDP_STATUS_NO_IMPLEMENTATION;
}
+/**
+ * Copy image data from application memory in the surface's native format to
+ * a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfacePutBitsNative(VdpOutputSurface surface,
void const *const *source_data,
return VDP_STATUS_NO_IMPLEMENTATION;
}
+/**
+ * Copy image data from application memory in a specific indexed format to
+ * a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfacePutBitsIndexed(VdpOutputSurface surface,
VdpIndexedFormat source_indexed_format,
struct pipe_box box;
struct pipe_video_rect dst_rect;
- VDPAU_MSG(VDPAU_TRACE, "[VDPAU] uploading indexed output surface\n");
+ VDPAU_MSG(VDPAU_TRACE, "[VDPAU] Uploading indexed output surface\n");
vlsurface = vlGetDataHTAB(surface);
if (!vlsurface)
vl_compositor_clear_layers(compositor);
vl_compositor_set_palette_layer(compositor, 0, sv_idx, sv_tbl, NULL, NULL, false);
vl_compositor_render(compositor, vlsurface->surface,
- RectToPipe(destination_rect, &dst_rect), NULL, false);
+ RectToPipe(destination_rect, &dst_rect), NULL, NULL);
pipe_sampler_view_reference(&sv_idx, NULL);
pipe_sampler_view_reference(&sv_tbl, NULL);
return VDP_STATUS_RESOURCES;
}
+/**
+ * Copy image data from application memory in a specific YCbCr format to
+ * a VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfacePutBitsYCbCr(VdpOutputSurface surface,
VdpYCbCrFormat source_ycbcr_format,
return context->create_blend_state(context, &blend);
}
+/**
+ * Composite a sub-rectangle of a VdpOutputSurface into a sub-rectangle of
+ * another VdpOutputSurface; Output Surface object VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface,
VdpRect const *destination_rect,
void *blend;
- VDPAU_MSG(VDPAU_TRACE, "[VDPAU] composing output surfaces\n");
+ VDPAU_MSG(VDPAU_TRACE, "[VDPAU] Composing output surfaces\n");
dst_vlsurface = vlGetDataHTAB(destination_surface);
if (!dst_vlsurface)
return VDP_STATUS_OK;
}
+/**
+ * Composite a sub-rectangle of a VdpBitmapSurface into a sub-rectangle of
+ * a VdpOutputSurface; Output Surface object VdpOutputSurface.
+ */
VdpStatus
vlVdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface,
VdpRect const *destination_rect,