[FFmpeg-cvslog] qsv: remove CONFIG_VAAPI for mutiple formats
Tong Wu
git at videolan.org
Wed Feb 22 08:38:20 EET 2023
ffmpeg | branch: master | Tong Wu <tong1.wu-at-intel.com at ffmpeg.org> | Tue Feb 14 10:45:59 2023 +0800| [d5cc7acff1a4ea3e14d67faf99966c31a30d2a4d] | committer: Haihao Xiang
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 at intel.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d5cc7acff1a4ea3e14d67faf99966c31a30d2a4d
---
libavcodec/qsv.c | 4 ----
libavutil/hwcontext_qsv.c | 6 +++---
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;
@@ -217,7 +216,6 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc)
case MFX_FOURCC_P016: return AV_PIX_FMT_P012;
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;
@@ -277,7 +274,6 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc, uint16_t *shi
*fourcc = MFX_FOURCC_Y416;
*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];
More information about the ffmpeg-cvslog
mailing list