mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-19 05:55:07 +00:00
avutil/hwcontext_vdpau: Map 444 pix fmts to new VdpYCbCr types
New VdpYCbCr Formats VDP_YCBCR_FORMAT_Y_U_V_444 and, VDP_YCBCR_FORMAT_Y_UV_444 have been added in VDPAU with libvdpau-1.2 to be used in get/putbits for YUV 4:4:4 surfaces. Earlier mapping of AV_PIX_FMT_YUV444P to VDP_YCBCR_FORMAT_YV12 is not valid. Hence this Change maps AV_PIX_FMT_YUV444P to VDP_YCBCR_FORMAT_Y_U_V_444 to access the YUV 4:4:4 surface via read-back API's of VDPAU.
This commit is contained in:
parent
8cf5f948f2
commit
d617d54efa
@ -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);
|
||||
|
@ -80,7 +80,7 @@
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 56
|
||||
#define LIBAVUTIL_VERSION_MINOR 26
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
#define LIBAVUTIL_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
LIBAVUTIL_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user