UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
gl_vdpau.cpp File Reference
#include "config_unix.h"
#include "config_win32.h"
#include <cassert>
#include "debug.h"
#include "gl_vdpau.hpp"
Include dependency graph for gl_vdpau.cpp:

Go to the source code of this file.

Functions

static void check_mixer (struct state_vdpau *vdp, hw_vdpau_frame *frame)
 Checks VdpMixer parameters and reinitializes it if they don't match the video parameters.
 

Function Documentation

◆ check_mixer()

static void check_mixer ( struct state_vdpau * vdp,
hw_vdpau_frame * frame )
static

Checks VdpMixer parameters and reinitializes it if they don't match the video parameters.

Definition at line 15 of file gl_vdpau.cpp.

15 {
16 uint32_t frame_w;
17 uint32_t frame_h;
18 VdpChromaType ct;
19
20 VdpStatus st = vdp->funcs.videoSurfaceGetParameters(frame->surface,
21 &ct,
22 &frame_w,
23 &frame_h);
24
25 if(st != VDP_STATUS_OK){
26 log_msg(LOG_LEVEL_ERROR, "Failed to get surface parameters: %s\n", vdp->funcs.getErrorString(st));
27 }
28
29 if(vdp->surf_width != frame_w ||
30 vdp->surf_height != frame_h ||
31 vdp->surf_ct != ct ||
32 !vdp->mixerInitialized)
33 {
34 vdp->initMixer(frame_w, frame_h, ct);
35 }
36}
struct video_frame * frame
void log_msg(int level, const char *format,...)
Definition debug.cpp:130
#define LOG_LEVEL_ERROR
general errors
Definition debug.h:59

References frame, LOG_LEVEL_ERROR, and log_msg().

Here is the call graph for this function: