mirror of
https://github.com/mpv-player/mpv
synced 2024-12-20 22:02:59 +00:00
vdpau: fix vaapi probing if libvdpau-va-gl1 is present
Needs explicit logic. Fixes a pretty bad regression which prefers vdpau-copy over native vaapi with direct rendering (with --hwdec=auto) if libvdpau-va-gl1 is present. The reason is that vdpau-copy is above vaapi, simply because all vdpau hwdecs are grouped and happened to be listed before vaapi. Although this is not that bad for copy-mode (unlike the case described above), it's still a good idea to use our native vaapi code instead.
This commit is contained in:
parent
09238a9bb5
commit
a89785f297
@ -146,12 +146,14 @@ static int probe_copy(struct lavc_ctx *ctx, struct vd_lavc_hwdec *hwdec,
|
||||
const char *codec)
|
||||
{
|
||||
assert(!ctx->hwdec_priv);
|
||||
int r = init_copy(ctx);
|
||||
if (ctx->hwdec_priv)
|
||||
uninit(ctx);
|
||||
ctx->hwdec_priv = NULL;
|
||||
|
||||
return r < 0 ? HWDEC_ERR_NO_CTX : 0;
|
||||
int r = HWDEC_ERR_NO_CTX;
|
||||
if (init_copy(ctx) >=0 ) {
|
||||
struct priv *p = ctx->hwdec_priv;
|
||||
r = mp_vdpau_guess_if_emulated(p->mpvdp) ? HWDEC_ERR_EMULATED : 0;
|
||||
uninit(ctx);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
static struct mp_image *copy_image(struct lavc_ctx *ctx, struct mp_image *img)
|
||||
|
Loading…
Reference in New Issue
Block a user