[FFmpeg-devel] [PATCH v1] libavutil: add A2R10G10B10 & A2B10G10R10

Zachary Zhou zachary.zhou at intel.com
Tue Sep 10 12:35:26 EEST 2019


---
 libavutil/hwcontext_vaapi.c | 6 ++++++
 libavutil/pixfmt.h          | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index cf117640f2..9838250b66 100644
--- a/libavutil/hwcontext_vaapi.c
+++ b/libavutil/hwcontext_vaapi.c
@@ -125,6 +125,12 @@ static const VAAPIFormatDescriptor vaapi_format_map[] = {
 #endif
     MAP(BGRA, RGB32,   BGRA, 0),
     MAP(BGRX, RGB32,   BGR0, 0),
+#ifdef VA_FOURCC_A2R10G10B10
+    MAP(A2R10G10B10, RGB32_10, A2R10G10B10, 0),
+#endif
+#ifdef VA_FOURCC_A2B10G10R10
+    MAP(A2B10G10R10, RGB32_10, A2B10G10R10, 0),
+#endif
     MAP(RGBA, RGB32,   RGBA, 0),
     MAP(RGBX, RGB32,   RGB0, 0),
 #ifdef VA_FOURCC_ABGR
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index d78e863d4b..e00f129b46 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -348,6 +348,9 @@ enum AVPixelFormat {
     AV_PIX_FMT_NV24,      ///< planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
     AV_PIX_FMT_NV42,      ///< as above, but U and V bytes are swapped
 
+    AV_PIX_FMT_A2R10G10B10, ///< 10-bit Pixel RGB formats.
+    AV_PIX_FMT_A2B10G10R10, ///< 10-bit Pixel BGR formats.
+
     AV_PIX_FMT_NB         ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 };
 
-- 
2.17.1



More information about the ffmpeg-devel mailing list