Lines Matching full:vlsurf
426 vlVdpSurface *vlsurf;
449 vlsurf = (vlVdpSurface *)vlGetDataHTAB(target);
450 if (!vlsurf)
453 if (vlsurf->device != vldecoder->device)
456 if (vlsurf->video_buffer != NULL && vlsurf->video_buffer->chroma_format != dec->chroma_format)
460 pipe_mutex_lock(vlsurf->device->mutex);
465 if (vlsurf->video_buffer == NULL ||
466 !screen->is_video_format_supported(screen, vlsurf
467 !buffer_support[vlsurf->video_buffer->interlaced]) {
470 if (vlsurf->video_buffer)
471 vlsurf->video_buffer->destroy(vlsurf->video_buffer);
474 vlsurf->templat.buffer_format = screen->get_video_param(screen, dec->profile, PIPE_VIDEO_CAP_PREFERED_FORMAT);
477 vlsurf->templat.interlaced = screen->get_video_param(screen, dec->profile, PIPE_VIDEO_CAP_PREFERS_INTERLACED);
480 vlsurf->video_buffer = dec->context->create_video_buffer(dec->context, &vlsurf->templat);
483 if (!vlsurf->video_buffer) {
484 pipe_mutex_unlock(vlsurf->device->mutex);
487 vlVdpVideoSurfaceClear(vlsurf);
513 pipe_mutex_unlock(vlsurf->device->mutex);
518 pipe_mutex_unlock(vlsurf->device->mutex);
522 dec->begin_frame(dec, vlsurf->video_buffer, &desc.base);
523 dec->decode_bitstream(dec, vlsurf->video_buffer, &desc.base, bitstream_buffer_count, buffers, sizes);
524 dec->end_frame(dec, vlsurf->video_buffer, &desc.base);
525 pipe_mutex_unlock(vlsurf->device->mutex);