vlc | branch: master | Steve Lhomme <[email protected]> | Wed Jun 19 11:41:59 2019 +0200| [7a3700608b36d7fde971857f595e361a66f8b043] | committer: Steve Lhomme
avcodec: vdpau: use the decoder device to get the vdp_t* > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7a3700608b36d7fde971857f595e361a66f8b043 --- modules/hw/vdpau/avcodec.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/hw/vdpau/avcodec.c b/modules/hw/vdpau/avcodec.c index 3c8317ca12..23c8b14bbd 100644 --- a/modules/hw/vdpau/avcodec.c +++ b/modules/hw/vdpau/avcodec.c @@ -35,6 +35,7 @@ #include <vlc_plugin.h> #include <vlc_fourcc.h> #include <vlc_picture.h> +#include <vlc_codec.h> #include <vlc_xlib.h> #include "vlc_vdpau.h" #include "../../codec/avcodec/va.h" @@ -136,7 +137,8 @@ static int Open(vlc_va_t *va, AVCodecContext *avctx, const AVPixFmtDescriptor *d enum PixelFormat pix_fmt, const es_format_t *fmt, void *p_sys, vlc_decoder_device *dec_device) { - if (pix_fmt != AV_PIX_FMT_VDPAU) + if (pix_fmt != AV_PIX_FMT_VDPAU|| dec_device == NULL || + dec_device->type != VLC_DECODER_DEVICE_VDPAU) return VLC_EGENERIC; (void) fmt; @@ -177,13 +179,8 @@ static int Open(vlc_va_t *va, AVCodecContext *avctx, const AVPixFmtDescriptor *d sys->width = width; sys->height = height; sys->hwaccel_context = NULL; - - err = vdp_get_x11(NULL, -1, &sys->vdp, &sys->device); - if (err != VDP_STATUS_OK) - { - free(sys); - return VLC_EGENERIC; - } + sys->vdp = dec_device->opaque; + vdp_hold_x11(sys->vdp, &sys->device); unsigned flags = AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
