History

avfilter/vsrc_testsrc: add support for RGB48/RGBA64

James Almer committed 2 years ago

Commit c8438541 parent e7382b41 file · +20 −0Browse files

Showing the changes to libavfilter (1 of 1 file). Show all

Unified · Split

libavfilter/vsrc_testsrc.c+20−0
@@ -1000,6 +1000,7 @@ static void rgbtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], · 999 unmodified lines
1000 uint8_t *dst = dstp[0];1000 uint8_t *dst = dstp[0];
1001 ptrdiff_t dst_linesize = dst_linesizep[0];1001 ptrdiff_t dst_linesize = dst_linesizep[0];
1002 uint32_t v;1002 uint32_t v;
1003 uint64_t v16;
1003 uint8_t *p;1004 uint8_t *p;
1004 uint16_t *p16;1005 uint16_t *p16;
1005 1006
@@ -1016,6 +1017,23 @@ static void rgbtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], · 10 unmodified lines
1016 p = dst + 3*x + y*dst_linesize;1017 p = dst + 3*x + y*dst_linesize;
1017 AV_WL24(p, v);1018 AV_WL24(p, v);
1018 break;1019 break;
1020 case AV_PIX_FMT_RGB48:
1021 case AV_PIX_FMT_BGR48:
1022 v16 = ((uint64_t)r << (rgba_map[R]*16)) + ((uint64_t)g << (rgba_map[G]*16)) + ((uint64_t)b << (rgba_map[B]*16));
1023 p16 = (uint16_t *)(dst + 6*x + y*dst_linesize);
1024 *p16++ = v16 >> 32;
1025 *p16++ = v16 >> 16;
1026 *p16++ = v16;
1027 break;
1028 case AV_PIX_FMT_RGBA64:
1029 case AV_PIX_FMT_BGRA64:
1030 v16 = ((uint64_t)r << (rgba_map[R]*16)) + ((uint64_t)g << (rgba_map[G]*16)) + ((uint64_t)b << (rgba_map[B]*16));
1031 p16 = (uint16_t *)(dst + 8*x + y*dst_linesize);
1032 *p16++ = v16 >> 32;
1033 *p16++ = v16 >> 16;
1034 *p16++ = v16;
1035 *p16++ = 0xffff;
1036 break;
1019 case AV_PIX_FMT_RGBA:1037 case AV_PIX_FMT_RGBA:
1020 case AV_PIX_FMT_BGRA:1038 case AV_PIX_FMT_BGRA:
1021 case AV_PIX_FMT_ARGB:1039 case AV_PIX_FMT_ARGB:
@@ -1114,6 +1132,8 @@ static const enum AVPixelFormat rgbtest_pix_fmts[] = { · 92 unmodified lines
1114 AV_PIX_FMT_RGB444, AV_PIX_FMT_BGR444,1132 AV_PIX_FMT_RGB444, AV_PIX_FMT_BGR444,
1115 AV_PIX_FMT_RGB565, AV_PIX_FMT_BGR565,1133 AV_PIX_FMT_RGB565, AV_PIX_FMT_BGR565,
1116 AV_PIX_FMT_RGB555, AV_PIX_FMT_BGR555,1134 AV_PIX_FMT_RGB555, AV_PIX_FMT_BGR555,
1135 AV_PIX_FMT_RGB48, AV_PIX_FMT_BGR48,
1136 AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
1117 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10,1137 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10,
1118 AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,1138 AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
1119 AV_PIX_FMT_X2RGB10LE, AV_PIX_FMT_X2BGR10LE,1139 AV_PIX_FMT_X2RGB10LE, AV_PIX_FMT_X2BGR10LE,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t