summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTong Wu <tong1.wu-at-intel.com@ffmpeg.org>2023-02-14 10:45:59 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2023-02-22 12:15:59 +0800
commitd5cc7acff1a4ea3e14d67faf99966c31a30d2a4d (patch)
treeca155d371402b589e973b99c37e4a7edbbcd4302
parent417eb7d50e68610ce017aaeb9bea9110ea8d5e5f (diff)
qsv: remove CONFIG_VAAPI for mutiple formats
Remove CONFIG_VAAPI for VUYX, YUYV422, Y210, XV30, Y212, XV36. Make 8-bit, 10-bit, 12-bit YUV 4:2:2 video sources as well as YUV 4:4:4 video sources supported by d3d11va and dxva2 just like what VAAPI does. Sign-off-by: Tong Wu <tong1.wu@intel.com>
-rw-r--r--libavcodec/qsv.c4
-rw-r--r--libavutil/hwcontext_qsv.c6
2 files changed, 3 insertions, 7 deletions
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 7af154202c..8eabf46b45 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -208,7 +208,6 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc)
case MFX_FOURCC_P8: return AV_PIX_FMT_PAL8;
case MFX_FOURCC_A2RGB10: return AV_PIX_FMT_X2RGB10;
case MFX_FOURCC_RGB4: return AV_PIX_FMT_BGRA;
-#if CONFIG_VAAPI
case MFX_FOURCC_YUY2: return AV_PIX_FMT_YUYV422;
case MFX_FOURCC_Y210: return AV_PIX_FMT_Y210;
case MFX_FOURCC_AYUV: return AV_PIX_FMT_VUYX;
@@ -218,7 +217,6 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc)
case MFX_FOURCC_Y216: return AV_PIX_FMT_Y212;
case MFX_FOURCC_Y416: return AV_PIX_FMT_XV36;
#endif
-#endif
}
return AV_PIX_FMT_NONE;
}
@@ -245,7 +243,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi
*fourcc = MFX_FOURCC_RGB4;
*shift = 0;
return AV_PIX_FMT_BGRA;
-#if CONFIG_VAAPI
case AV_PIX_FMT_YUV422P:
case AV_PIX_FMT_YUYV422:
*fourcc = MFX_FOURCC_YUY2;
@@ -278,7 +275,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi
*shift = 1;
return AV_PIX_FMT_XV36;
#endif
-#endif
default:
return AVERROR(ENOSYS);
}
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 42851d4fd5..6780428875 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcontext_qsv.c
@@ -115,11 +115,12 @@ static const struct {
{ AV_PIX_FMT_BGRA, MFX_FOURCC_RGB4, 0 },
{ AV_PIX_FMT_P010, MFX_FOURCC_P010, 1 },
{ AV_PIX_FMT_PAL8, MFX_FOURCC_P8, 0 },
-#if CONFIG_VAAPI
{ AV_PIX_FMT_YUYV422,
MFX_FOURCC_YUY2, 0 },
+#if CONFIG_VAAPI
{ AV_PIX_FMT_UYVY422,
MFX_FOURCC_UYVY, 0 },
+#endif
{ AV_PIX_FMT_Y210,
MFX_FOURCC_Y210, 1 },
// VUYX is used for VAAPI child device,
@@ -144,7 +145,6 @@ static const struct {
{ AV_PIX_FMT_XV36,
MFX_FOURCC_Y416, 1 },
#endif
-#endif
};
extern int ff_qsv_get_surface_base_handle(mfxFrameSurface1 *surf,
@@ -1526,7 +1526,6 @@ static int map_frame_to_surface(const AVFrame *frame, mfxFrameSurface1 *surface)
surface->Data.R = frame->data[0] + 2;
surface->Data.A = frame->data[0] + 3;
break;
-#if CONFIG_VAAPI
case AV_PIX_FMT_YUYV422:
surface->Data.Y = frame->data[0];
surface->Data.U = frame->data[0] + 1;
@@ -1558,6 +1557,7 @@ static int map_frame_to_surface(const AVFrame *frame, mfxFrameSurface1 *surface)
// use the value from the frame.
surface->Data.A = frame->data[0] + 6;
break;
+#if CONFIG_VAAPI
case AV_PIX_FMT_UYVY422:
surface->Data.Y = frame->data[0] + 1;
surface->Data.U = frame->data[0];