Signed-off-by: James Almer <jamr...@gmail.com>
---
Maybe the fourth component in the descriptor can be filled with the relevant
values instead, for use cases like this one?

 libavfilter/vsrc_testsrc.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index 7f8db39f84..d57464a6c0 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -1159,6 +1159,7 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int 
dst_linesizep[4],
                               uint8_t ayuv_map[4])
 {
     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt);
+    int shift = 0;
     uint32_t n;
 
     switch (fmt) {
@@ -1173,6 +1174,15 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int 
dst_linesizep[4],
             (v << ((desc->comp[2].offset*8) + desc->comp[2].shift));
         AV_WL32(&dstp[0][i*4 + j*dst_linesizep[0]], n);
         break;
+    case AV_PIX_FMT_XV36:
+        shift = 4; // hardcoded as the alpha component in the descriptor has 
no values we can use
+    // fall-through
+    case AV_PIX_FMT_AYUV64:
+        AV_WN16(&dstp[0][i*8 + ayuv_map[Y]*2 + j*dst_linesizep[0]], y << 
desc->comp[0].shift);
+        AV_WN16(&dstp[0][i*8 + ayuv_map[U]*2 + j*dst_linesizep[0]], u << 
desc->comp[1].shift);
+        AV_WN16(&dstp[0][i*8 + ayuv_map[V]*2 + j*dst_linesizep[0]], v << 
desc->comp[2].shift);
+        AV_WN16(&dstp[0][i*8 + ayuv_map[A]*2 + j*dst_linesizep[0]], UINT16_MAX 
<<      shift);
+        break;
     case AV_PIX_FMT_UYVA:
     case AV_PIX_FMT_VUYA:
     case AV_PIX_FMT_VUYX:
@@ -1235,9 +1245,9 @@ static const enum AVPixelFormat yuvtest_pix_fmts[] = {
     AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
     AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14,
     AV_PIX_FMT_YUV444P16, AV_PIX_FMT_VYU444,
-    AV_PIX_FMT_AYUV, AV_PIX_FMT_UYVA,
+    AV_PIX_FMT_AYUV, AV_PIX_FMT_UYVA, AV_PIX_FMT_AYUV64,
     AV_PIX_FMT_VUYA, AV_PIX_FMT_VUYX,
-    AV_PIX_FMT_XV30LE, AV_PIX_FMT_V30XLE,
+    AV_PIX_FMT_XV30LE, AV_PIX_FMT_V30XLE, AV_PIX_FMT_XV36,
     AV_PIX_FMT_NONE
 };
 
-- 
2.46.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to