aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/vsrc_testsrc.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-10-17 13:29:56 -0300
committerJames Almer <jamrial@gmail.com>2024-10-21 09:52:58 -0300
commit8debc5aa417dbc920aa71dd9d74d78a746025780 (patch)
tree5485c5491aaa20ebd7c2666d2c7969c8fad4465e /libavfilter/vsrc_testsrc.c
parent8f1de9ccd9606da723ca9ddf465955870259799c (diff)
downloadffmpeg-8debc5aa417dbc920aa71dd9d74d78a746025780.tar.gz
avfilter/vsrc_testsrc: use the alpha component information for XV3{0,6} and V30X
And add a few more tests to ensure all the pixfmts affected by this change are tested. Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/vsrc_testsrc.c')
-rw-r--r--libavfilter/vsrc_testsrc.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index 6fd8c73757..ce7ca90ae8 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -1159,7 +1159,6 @@ 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) {
@@ -1172,17 +1171,15 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4],
n = (y << ((desc->comp[0].offset*8) + desc->comp[0].shift)) +
(u << ((desc->comp[1].offset*8) + desc->comp[1].shift)) +
(v << ((desc->comp[2].offset*8) + desc->comp[2].shift)) +
- (3U << (desc->comp[1].shift ? 0 : 30));
+ (3U << ((desc->comp[3].offset*8) + desc->comp[3].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);
+ AV_WN16(&dstp[0][i*8 + ayuv_map[A]*2 + j*dst_linesizep[0]], UINT16_MAX << desc->comp[3].shift);
break;
case AV_PIX_FMT_UYVA:
case AV_PIX_FMT_VUYA: