X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Fhwcontext_vdpau.c;h=6b8c1d5f7677af3f97b7c62f007fb39edc41ace2;hb=b12014a5b861959fd41a32ba3ff4cb139c56efcd;hp=c11c3cfdab25e2a85b1339d8170bfc285c13d3a3;hpb=e427ba5c68a522b26a45bf7c61016d9349fab43d;p=ffmpeg diff --git a/libavutil/hwcontext_vdpau.c b/libavutil/hwcontext_vdpau.c index c11c3cfdab2..6b8c1d5f767 100644 --- a/libavutil/hwcontext_vdpau.c +++ b/libavutil/hwcontext_vdpau.c @@ -73,8 +73,10 @@ static const VDPAUPixFmtMap pix_fmts_422[] = { }; static const VDPAUPixFmtMap pix_fmts_444[] = { - { VDP_YCBCR_FORMAT_YV12, AV_PIX_FMT_YUV444P }, - { 0, AV_PIX_FMT_NONE, }, +#ifdef VDP_YCBCR_FORMAT_Y_U_V_444 + { VDP_YCBCR_FORMAT_Y_U_V_444, AV_PIX_FMT_YUV444P }, +#endif + { 0, AV_PIX_FMT_NONE, }, }; static const struct { @@ -349,7 +351,11 @@ static int vdpau_transfer_data_from(AVHWFramesContext *ctx, AVFrame *dst, return AVERROR(EINVAL); } - if (vdpau_format == VDP_YCBCR_FORMAT_YV12) + if ((vdpau_format == VDP_YCBCR_FORMAT_YV12) +#ifdef VDP_YCBCR_FORMAT_Y_U_V_444 + || (vdpau_format == VDP_YCBCR_FORMAT_Y_U_V_444) +#endif + ) FFSWAP(void*, data[1], data[2]); err = priv->get_data(surf, vdpau_format, data, linesize); @@ -400,7 +406,11 @@ static int vdpau_transfer_data_to(AVHWFramesContext *ctx, AVFrame *dst, return AVERROR(EINVAL); } - if (vdpau_format == VDP_YCBCR_FORMAT_YV12) + if ((vdpau_format == VDP_YCBCR_FORMAT_YV12) +#ifdef VDP_YCBCR_FORMAT_Y_U_V_444 + || (vdpau_format == VDP_YCBCR_FORMAT_Y_U_V_444) +#endif + ) FFSWAP(const void*, data[1], data[2]); err = priv->put_data(surf, vdpau_format, data, linesize);