Lines Matching defs:surface
47 XvMCSurfacePrivate *surface,
100 GetPictureDescription(XvMCSurfacePrivate *surface, struct pipe_mpeg12_picture_desc *desc)
104 assert(surface && desc);
108 desc->picture_structure = surface->picture_structure;
110 if (surface->ref[i]) {
111 XvMCSurfacePrivate *ref = surface->ref[i]->privData;
120 RecursiveEndFrame(XvMCSurfacePrivate *surface)
125 assert(surface);
127 context_priv = surface->context->privData;
130 if (surface->ref[i]) {
131 XvMCSurface *ref = surface->ref[i];
135 surface->ref[i] = NULL;
137 surface->ref[i] = ref;
141 if (surface->picture_structure) {
143 GetPictureDescription(surface, &desc);
144 surface->picture_structure = 0;
147 surface->ref[i] = NULL;
149 context_priv->decoder->end_frame(context_priv->decoder, surface->video_buffer, &desc.base);
154 Status XvMCCreateSurface(Display *dpy, XvMCContext *context, XvMCSurface *surface)
161 XVMC_MSG(XVMC_TRACE, "[XvMC] Creating surface %p.\n", surface);
167 if (!surface)
203 surface->surface_id = XAllocID(dpy);
204 surface->context_id = context->context_id;
205 surface->surface_type_id = context->surface_type_id;
206 surface->width = context->width;
207 surface->height = context->height;
208 surface->privData = surface_priv;
212 XVMC_MSG(XVMC_TRACE, "[XvMC] Surface %p created.\n", surface);
234 XVMC_MSG(XVMC_TRACE, "[XvMC] Rendering to surface %p, with past %p and future %p\n",
284 /* If the surface we're rendering hasn't changed the ref frames shouldn't change. */
314 XVMC_MSG(XVMC_TRACE, "[XvMC] Submitted surface %p for rendering.\n", target_surface);
320 Status XvMCFlushSurface(Display *dpy, XvMCSurface *surface)
324 if (!surface)
330 XVMC_MSG(XVMC_TRACE, "[XvMC] Flushing surface %p\n", surface);
336 Status XvMCSyncSurface(Display *dpy, XvMCSurface *surface)
340 if (!surface)
343 XVMC_MSG(XVMC_TRACE, "[XvMC] Syncing surface %p\n", surface);
349 Status XvMCPutSurface(Display *dpy, XvMCSurface *surface, Drawable drawable,
372 XVMC_MSG(XVMC_TRACE, "[XvMC] Displaying surface %p.\n", surface);
376 if (!surface || !surface->privData)
379 surface_priv = surface->privData;
384 assert(srcx + srcw - 1 < surface->width);
385 assert(srcy + srch - 1 < surface->height);
424 XVMC_MSG(XVMC_TRACE, "[XvMC] Surface %p has subpicture %p.\n", surface, surface_priv->subpicture);
426 assert(subpicture_priv->surface == surface);
436 subpicture_priv->surface = NULL;
448 XVMC_MSG(XVMC_TRACE, "[XvMC] Submitted surface %p for display. Pushing to front buffer.\n", surface);
463 XVMC_MSG(XVMC_ERR, "[XvMC] Dumping surface %p failed.\n", surface);
466 XVMC_MSG(XVMC_TRACE, "[XvMC] Pushed surface %p to front buffer.\n", surface);
472 Status XvMCGetSurfaceStatus(Display *dpy, XvMCSurface *surface, int *status)
480 if (!surface)
485 surface_priv = surface->privData;
499 Status XvMCDestroySurface(Display *dpy, XvMCSurface *surface)
504 XVMC_MSG(XVMC_TRACE, "[XvMC] Destroying surface %p.\n", surface);
508 if (!surface || !surface->privData)
511 surface_priv = surface->privData;
521 surface->privData = NULL;
523 XVMC_MSG(XVMC_TRACE, "[XvMC] Surface %p destroyed.\n", surface);
529 Status XvMCHideSurface(Display *dpy, XvMCSurface *surface)
533 if (!surface || !surface->privData)